Commit bb674907 authored by Felipe Balbi's avatar Felipe Balbi Committed by Greg Kroah-Hartman

usb: dwc3: core: cope with NULL pdata

if pdata is a NULL pointer we could cause a
kernel oops when probing the driver. Make sure
to cope with systems which won't pass pdata
to the driver.
Tested-by: default avatarPaul Zimmerman <paulz@synopsys.com>
Reported-by: default avatarPaul Zimmerman <paulz@synopsys.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e57e780b
...@@ -393,7 +393,7 @@ static int dwc3_probe(struct platform_device *pdev) ...@@ -393,7 +393,7 @@ static int dwc3_probe(struct platform_device *pdev)
dwc->needs_fifo_resize = of_property_read_bool(node, "tx-fifo-resize"); dwc->needs_fifo_resize = of_property_read_bool(node, "tx-fifo-resize");
dwc->dr_mode = of_usb_get_dr_mode(node); dwc->dr_mode = of_usb_get_dr_mode(node);
} else { } else if (pdata) {
dwc->maximum_speed = pdata->maximum_speed; dwc->maximum_speed = pdata->maximum_speed;
dwc->usb2_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2); dwc->usb2_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2);
...@@ -401,6 +401,9 @@ static int dwc3_probe(struct platform_device *pdev) ...@@ -401,6 +401,9 @@ static int dwc3_probe(struct platform_device *pdev)
dwc->needs_fifo_resize = pdata->tx_fifo_resize; dwc->needs_fifo_resize = pdata->tx_fifo_resize;
dwc->dr_mode = pdata->dr_mode; dwc->dr_mode = pdata->dr_mode;
} else {
dwc->usb2_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2);
dwc->usb3_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB3);
} }
/* default to superspeed if no maximum_speed passed */ /* default to superspeed if no maximum_speed passed */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment