Commit aa7accb7 authored by Yang Yingliang's avatar Yang Yingliang Committed by Vinod Koul
Browse files

dmaengine: at_xdmac: Fix missing unlock in at_xdmac_tasklet()



Add the missing unlock before return from at_xdmac_tasklet().

Fixes: e77e5619 ("dmaengine: at_xdmac: Fix race over irq_status")
Reported-by: default avatarHulk Robot <hulkci@huawei.com>
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Reviewed-by: default avatarTudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/20220107024047.1051915-1-yangyingliang@huawei.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 3c62fd34
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);