summaryrefslogtreecommitdiffstats
path: root/drivers/bcma/host_soc.c
diff options
context:
space:
mode:
authorThomas Pugliese <thomas.pugliese@gmail.com>2014-03-04 11:24:55 -0600
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-03-07 12:39:39 -0800
commit2a6da97ff530650d26570a6a1ec0ac1deac927bd (patch)
tree64222edab88045ceda239c12a719fbcafd4889db /drivers/bcma/host_soc.c
parent3c1b2c3ecd3122fe6dded7b012f74021144d95b2 (diff)
downloadtalos-op-linux-2a6da97ff530650d26570a6a1ec0ac1deac927bd.tar.gz
talos-op-linux-2a6da97ff530650d26570a6a1ec0ac1deac927bd.zip
usb: wusbcore: fix potential double list_del on urb dequeue
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>
Diffstat (limited to 'drivers/bcma/host_soc.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud