aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorThomas Pugliese <thomas.pugliese@gmail.com>2014-04-23 14:28:10 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-04-24 12:45:41 -0700
commitbd130adacaf8cea179f9a700fb694f5be3b05bf0 (patch)
tree16afa8c2512d525c3d5acb371f4194c907a2ae8b /drivers/usb
parentusb: wusbcore: convert nested lock to use spin_lock instead of spin_lock_irq (diff)
downloadlinux-dev-bd130adacaf8cea179f9a700fb694f5be3b05bf0.tar.xz
linux-dev-bd130adacaf8cea179f9a700fb694f5be3b05bf0.zip
usb: wusbcore: fix panic in wusbhc_chid_set
If no valid CHID value has previously been set on an HWA, writing a value of all zeros will cause a kernel panic in uwb_radio_stop because wusbhc->uwb_rc has not been set. This patch skips the call to uwb_radio_stop if wusbhc->uwb_rc has not been initialized. Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/wusbcore/mmc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/wusbcore/mmc.c b/drivers/usb/wusbcore/mmc.c
index 44741267c917..3f485df96226 100644
--- a/drivers/usb/wusbcore/mmc.c
+++ b/drivers/usb/wusbcore/mmc.c
@@ -301,7 +301,7 @@ int wusbhc_chid_set(struct wusbhc *wusbhc, const struct wusb_ckhdid *chid)
if (chid)
result = uwb_radio_start(&wusbhc->pal);
- else
+ else if (wusbhc->uwb_rc)
uwb_radio_stop(&wusbhc->pal);
return result;