[ These Smatch readl() tests don't have false positives but it's also
not clear how welcome the reports are. If readl() starts failing
then either you have hot plug hardware or your whole system is dead
anyway.
I guess let's send out a few of these reports and see if anyone
responds. -dan ]
tree: git://github.com/mripard/linux dmaengine-generic-caps
head: d49e9ec6df0243b89641d9c966f448cd3798533a
commit: a0d7f2291bd47b1a39ace988f36eb1d737632304 [13/60] dmaengine: at_xdmac:
split device_control
New smatch warnings:
drivers/dma/at_xdmac.c:1158 at_xdmac_device_terminate_all() warn: this loop
depends on readl() succeeding
Old smatch warnings:
drivers/dma/at_xdmac.c:933 at_xdmac_tx_status() warn: inconsistent returns
'spin_lock:&atchan->lock'.
[ Oh crap. This is definitely a bug, but I can't reproduce it on my
end. I'll debug this. The warning message is not complete. It
should say:
Unlocked: 887, 890, 993
Locked: 902
- dan ]
git remote add sunxi git://github.com/mripard/linux
git remote update sunxi
git checkout a0d7f2291bd47b1a39ace988f36eb1d737632304
vim +1158 drivers/dma/at_xdmac.c
e1f7c9ee Ludovic Desroches 2014-10-22 1142
clear_bit(AT_XDMAC_CHAN_IS_PAUSED, &atchan->status);
a0d7f229 Ludovic Desroches 2014-11-13 1143 spin_unlock_bh(&atchan->lock);
a0d7f229 Ludovic Desroches 2014-11-13 1144
a0d7f229 Ludovic Desroches 2014-11-13 1145 return 0;
a0d7f229 Ludovic Desroches 2014-11-13 1146 }
a0d7f229 Ludovic Desroches 2014-11-13 1147
a0d7f229 Ludovic Desroches 2014-11-13 1148 static int
at_xdmac_device_terminate_all(struct dma_chan *chan)
a0d7f229 Ludovic Desroches 2014-11-13 1149 {
a0d7f229 Ludovic Desroches 2014-11-13 1150 struct at_xdmac_desc *desc,
*_desc;
a0d7f229 Ludovic Desroches 2014-11-13 1151 struct at_xdmac_chan *atchan
= to_at_xdmac_chan(chan);
a0d7f229 Ludovic Desroches 2014-11-13 1152 struct at_xdmac
*atxdmac = to_at_xdmac(atchan->chan.device);
e1f7c9ee Ludovic Desroches 2014-10-22 1153
a0d7f229 Ludovic Desroches 2014-11-13 1154 dev_dbg(chan2dev(chan), "%s\n",
__func__);
a0d7f229 Ludovic Desroches 2014-11-13 1155
a0d7f229 Ludovic Desroches 2014-11-13 1156 spin_lock_bh(&atchan->lock);
e1f7c9ee Ludovic Desroches 2014-10-22 1157 at_xdmac_write(atxdmac,
AT_XDMAC_GD, atchan->mask);
e1f7c9ee Ludovic Desroches 2014-10-22 @1158 while (at_xdmac_read(atxdmac,
AT_XDMAC_GS) & atchan->mask)
e1f7c9ee Ludovic Desroches 2014-10-22 1159 cpu_relax();
e1f7c9ee Ludovic Desroches 2014-10-22 1160
e1f7c9ee Ludovic Desroches 2014-10-22 1161 /* Cancel all pending
transfers. */
e1f7c9ee Ludovic Desroches 2014-10-22 1162 list_for_each_entry_safe(desc,
_desc, &atchan->xfers_list, xfer_node)
e1f7c9ee Ludovic Desroches 2014-10-22 1163
at_xdmac_remove_xfer(atchan, desc);
e1f7c9ee Ludovic Desroches 2014-10-22 1164
e1f7c9ee Ludovic Desroches 2014-10-22 1165
clear_bit(AT_XDMAC_CHAN_IS_CYCLIC, &atchan->status);
e1f7c9ee Ludovic Desroches 2014-10-22 1166 spin_unlock_bh(&atchan->lock);
---
0-DAY kernel test infrastructure Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation
_______________________________________________
kbuild mailing list
[email protected]
https://lists.01.org/mailman/listinfo/kbuild