ASoC: wcd9xxx: Disconnect slimbus channel manually

Depending on the ADSP's operating mode, it's possible that slimbus
channel removal request is NACKed.  Since current codec driver has
an assumption that all channel removal requests are guaranteed to be
delivered, when it's NACKed codec would have overflow error.
Fix this overflow issue by waiting channel removal IRQ when requests
channel removal then close the channel manually if there was no removal
IRQ as this likely means channel removal request was NACked.

CRs-fixed: 417075
Change-Id: Iebfafe0159a33c13fdec6889e75b757732a3e415
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
5 files changed