Skip to content

Commit

Permalink
dmaengine: at_xdmac: Fix missing unlock in at_xdmac_tasklet()
Browse files Browse the repository at this point in the history
Add the missing unlock before return from at_xdmac_tasklet().

Fixes: e77e561 ("dmaengine: at_xdmac: Fix race over irq_status")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/20220107024047.1051915-1-yangyingliang@huawei.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
  • Loading branch information
Yang Yingliang authored and Vinod Koul committed Feb 15, 2022
1 parent 3c62fd3 commit aa7accb
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/dma/at_xdmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -1681,8 +1681,10 @@ static void at_xdmac_tasklet(struct tasklet_struct *t)
__func__, atchan->irq_status);

if (!(atchan->irq_status & AT_XDMAC_CIS_LIS) &&
!(atchan->irq_status & error_mask))
!(atchan->irq_status & error_mask)) {
spin_unlock_irq(&atchan->lock);
return;
}

if (atchan->irq_status & error_mask)
at_xdmac_handle_error(atchan);
Expand Down

0 comments on commit aa7accb

Please sign in to comment.