summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMing Lei <tom.leiming@gmail.com>2011-01-04 13:21:32 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-01-23 03:32:55 +0100
commit20831ad23978d0543b0b23128621b6d8ee7757f1 (patch)
treef8da021c6e5e05e71067c757c060525284d76448
parentUSB: cdc-wdm: fix misuse of logical operation in place of bitop (diff)
downloadlinux-20831ad23978d0543b0b23128621b6d8ee7757f1.tar.xz
linux-20831ad23978d0543b0b23128621b6d8ee7757f1.zip
usb: otg: nop: fix oops triggered by otg_register_notifier
This patch adds BLOCKING_INIT_NOTIFIER_HEAD in nop_usb_xceiv_probe, so that we can avoid oops caused by uninitialized nop->otg.notifier.rwsem which will be touched in otg_register_notifier path. Reported-by: Gupta, Ajay Kumar <ajay.gupta@ti.com> Tested-by: Gupta, Ajay Kumar <ajay.gupta@ti.com> Cc: Balbi, Felipe <balbi@ti.com> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/otg/nop-usb-xceiv.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/otg/nop-usb-xceiv.c b/drivers/usb/otg/nop-usb-xceiv.c
index e70014ab0976..8acf165fe13b 100644
--- a/drivers/usb/otg/nop-usb-xceiv.c
+++ b/drivers/usb/otg/nop-usb-xceiv.c
@@ -132,6 +132,8 @@ static int __devinit nop_usb_xceiv_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, nop);
+ BLOCKING_INIT_NOTIFIER_HEAD(&nop->otg.notifier);
+
return 0;
exit:
kfree(nop);