Add usb_disabled() check to prevent kernel oops when booting with "nousb"
in the cmdline:
Unable to handle kernel NULL pointer dereference at virtual address
00000030
...
PC is at bus_add_device+0xe0/0x18c
LR is at device_add_groups+0x1c/0x20
...
[<
c02191c0>] (bus_add_device) from [<
c0217130>] (device_add+0x41c/0x538)
[<
c0217130>] (device_add) from [<
c023b1d4>] (usb_new_device+0x270/0x35c)
[<
c023b1d4>] (usb_new_device) from [<
c0241174>] (usb_add_hcd+0x4fc/0x760)
[<
c0241174>] (usb_add_hcd) from [<
c0254ce0>] (dwc2_hcd_init+0x434/0x510)
[<
c0254ce0>] (dwc2_hcd_init) from [<
c02594f4>] (dwc2_driver_probe+0x130/0x170)
[<
c02594f4>] (dwc2_driver_probe) from [<
c021bbd0>] (platform_drv_probe+0x28/0x58)
Signed-off-by: Andre Heider <a.heider@gmail.com>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
int retval;
int irq;
+ if (usb_disabled())
+ return -ENODEV;
+
match = of_match_device(dwc2_of_match_table, &dev->dev);
if (match && match->data) {
params = match->data;