summaryrefslogtreecommitdiff
path: root/drivers/edac
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2020-01-15 03:08:40 +0300
committerVinod Koul <vkoul@kernel.org>2020-02-25 13:27:02 +0300
commit3ab2ca405a08c34c9b8b54a02b6d0e29821e73c8 (patch)
treec73a3c89b286a4d542b1fb4fdccc75644bfb3cec /drivers/edac
parentd300de4f2d5108ac5f73601190ee4e3806f37c0b (diff)
downloadlinux-3ab2ca405a08c34c9b8b54a02b6d0e29821e73c8.tar.xz
soundwire: bus: add helper to clear Slave status to UNATTACHED
When resuming with a bus reset, we need to re-enumerate and restart from UNATTACHED. The helper added in this patch helps implement a more robust state machine avoiding race conditions on resume. The unattach request is stored and will be used by Slave drivers, if needed: Intel validation exposed a corner case where the Slave device may transition to D3 when streaming stops, but streaming restarts before the Master transitions to D3. In that case, the Slave status was not cleared as UNATTACHED by the Master resuming, and the wait_for_completion will time out. When the slave resumes, it can check if a Master-initiated re-enumeration and initialization took place and skip the wait_for_completion() if there is no reason to wait. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200115000844.14695-7-pierre-louis.bossart@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/edac')
0 files changed, 0 insertions, 0 deletions