dmaengine: ti-dma-crossbar: Fix possible race condition with dma_inuse
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 21 Sep 2017 11:35:32 +0000 (14:35 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Oct 2017 07:35:38 +0000 (09:35 +0200)
commit9d9c2884da2c5b458aaad5b2080a9ac31858ea9c
tree6a9831ee9535e3988410e85127af36a624c7c27e
parent618c786d2bbacbb802c6e9c9b629f9adc21e00bf
dmaengine: ti-dma-crossbar: Fix possible race condition with dma_inuse

commit 2ccb4837c938357233a0b8818e3ca3e58242c952 upstream.

When looking for unused xbar_out lane we should also protect the set_bit()
call with the same mutex to protect against concurrent threads picking the
same ID.

Fixes: ec9bfa1e1a796 ("dmaengine: ti-dma-crossbar: dra7: Use bitops instead of idr")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/dma/ti-dma-crossbar.c