OSDN Git Service
(root)
/
uclinux-h8
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3c62fd3
)
dmaengine: at_xdmac: Fix missing unlock in at_xdmac_tasklet()
author
Yang Yingliang
<yangyingliang@huawei.com>
Fri, 7 Jan 2022 02:40:47 +0000
(10:40 +0800)
committer
Vinod Koul
<vkoul@kernel.org>
Tue, 15 Feb 2022 05:26:04 +0000
(10:56 +0530)
Add the missing unlock before return from at_xdmac_tasklet().
Fixes:
e77e561925df
("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>
drivers/dma/at_xdmac.c
patch
|
blob
|
history
diff --git
a/drivers/dma/at_xdmac.c
b/drivers/dma/at_xdmac.c
index
a1da2b4
..
1476156
100644
(file)
--- a/
drivers/dma/at_xdmac.c
+++ b/
drivers/dma/at_xdmac.c
@@
-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);