]> git.karo-electronics.de Git - karo-tx-linux.git/commit
dmaengine: qcom_hidma: protect common data structures
authorSinan Kaya <okaya@codeaurora.org>
Fri, 21 Oct 2016 16:37:58 +0000 (12:37 -0400)
committerVinod Koul <vinod.koul@intel.com>
Thu, 3 Nov 2016 13:25:45 +0000 (18:55 +0530)
commit0e858f8d6f66df25545861759e174023bd7d5c1f
tree7453e94e6d9807cf2c4866c1b18328facd65bc37
parent9483d9ae09452ad4cdf7f0bb0c0fae2775278c85
dmaengine: qcom_hidma: protect common data structures

When MSI interrupts are supported, error and the transfer interrupt can
come from multiple processor contexts.

Each error interrupt is an MSI interrupt. If the channel is disabled by
the first error interrupt, the remaining error interrupts will gracefully
return in the interrupt handler.

If an error is observed while servicing the completions in success case,
the posting of the completions will be aborted as soon as channel disabled
state is observed. The error interrupt handler will take it from there and
finish the remaining completions. We don't want to create multiple success
and error messages to be delivered to the client in mixed order.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/qcom/hidma_ll.c