diff options
author | Thomas Pugliese <thomas.pugliese@gmail.com> | 2014-04-23 21:28:10 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-04-24 21:45:41 +0200 |
commit | bd130adacaf8cea179f9a700fb694f5be3b05bf0 (patch) | |
tree | 16afa8c2512d525c3d5acb371f4194c907a2ae8b /drivers/usb | |
parent | usb: wusbcore: convert nested lock to use spin_lock instead of spin_lock_irq (diff) | |
download | linux-bd130adacaf8cea179f9a700fb694f5be3b05bf0.tar.xz linux-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.c | 2 |
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; |