HWA RC: fix a kernel panic when unplugging the HWA dongle
authorThomas Pugliese <thomas.pugliese@gmail.com>
Fri, 9 Aug 2013 14:25:37 +0000 (09:25 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Aug 2013 22:41:08 +0000 (15:41 -0700)
commitc654ecbbfefbeec8fbf202e117364bff48ecaea3
tree262c335c73b088ef1851c926f7bfe5f95f8cf33c
parent6dd433e6cf2475ce8abec1b467720858c24450eb
HWA RC: fix a kernel panic when unplugging the HWA dongle

This patch fixes a kernel panic that can occur when unplugging the HWA
dongle while a downstream device is in the process of disconnecting.
This involved 2 changes.  First, call usb_lock_device_for_reset before
usb_reset_device to synchronize the HWA's post_rest and disconnect
routines.  Second, set the hwarc->neep_urb and hwarc->rd_buffer to NULL
when they are freed in the error path in the post_reset routine.  This
prevents a double free when the disconnect routine is called and attempts
to free those resources again.

Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/uwb/hwa-rc.c