forked from Minki/linux
2a6da97ff5
This patch locks rpipe->seg_lock around the entire transfer segment cleanup loop in wa_urb_dequeue instead of just one case of the switch statement. This fixes a race between __wa_xfer_delayed_run and wa_urb_dequeue where a transfer segment in the WA_SEG_DELAYED state could be removed from the rpipe seg_list twice leading to memory corruption. It also switches the spin_lock call to use the non-irqsave version since the xfer->lock is already held and irqs already disabled. Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
---|---|---|
.. | ||
cbaf.c | ||
crypto.c | ||
dev-sysfs.c | ||
devconnect.c | ||
Kconfig | ||
Makefile | ||
mmc.c | ||
pal.c | ||
reservation.c | ||
rh.c | ||
security.c | ||
wa-hc.c | ||
wa-hc.h | ||
wa-nep.c | ||
wa-rpipe.c | ||
wa-xfer.c | ||
wusbhc.c | ||
wusbhc.h |