mmc: msm_sdcc: call sps_disconnect/sps_connect APIs from non-atomic context
If SDCC driver encounters any errors during the data transfer, it resets
SDCC controller core and along with that it also resets the BAM pipes.
In order to reset BAM pipes, SDCC driver needs to call sps_disconnect()
followed by sps_connect() APIs of SPS driver. But these APIs can
only be called from non-atomic context.
Currently SDCC driver error handling function is always triggered from
atomic context which means driver can't call BAM pipes reset APIs from
this error handling function. So this change defers the BAM pipe reset
operation in thread context when next SDCC request is issued to driver.
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2 files changed