irqchip/gic-v3-its: Properly handle command queue wrapping
authorMarc Zyngier <marc.zyngier@arm.com>
Sat, 19 Aug 2017 09:16:02 +0000 (10:16 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Sat, 19 Aug 2017 09:16:02 +0000 (10:16 +0100)
commit9bdd8b1cdeb6a873acb1d1e915d372e3440a4179
treec14a3d8d728e535fb4441f063678cc516b42daf0
parent319ec8b3a5633bfbb83d7da895233c91827e86ce
irqchip/gic-v3-its: Properly handle command queue wrapping

wait_for_range_completion() is nicely busted when handling
wrapping of the command queue, leading to an early exit
instead of waiting for the command to have been executed.

Fortunately, the impact is pretty minor, as it only impair
the detection of an ITS that doesn't make any forward progress
for a whole second. And an ITS should *never* lock up.

Reported-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-gic-v3-its.c