From: Marek Vasut Date: Sat, 14 Dec 2013 01:03:11 +0000 (+0100) Subject: usb: ehci: Do not de-init uninited controllers X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=1e1be6d478c7c2cddf97e2623dd5c4c10bc23020;p=project%2Fbcm63xx%2Fu-boot.git usb: ehci: Do not de-init uninited controllers In case the controller is not initialized, we shall not de-initialize it. As the control structure will not be filled, we will produce a null ptr dereference if the controller is not inited. Signed-off-by: Marek Vasut Cc: Simon Glass --- diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 8bd1eb8a99..3ef204d6ab 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -201,6 +201,9 @@ static int ehci_shutdown(struct ehci_ctrl *ctrl) int i, ret = 0; uint32_t cmd, reg; + if (!ctrl || !ctrl->hcor) + return -EINVAL; + cmd = ehci_readl(&ctrl->hcor->or_usbcmd); cmd &= ~(CMD_PSE | CMD_ASE); ehci_writel(&ctrl->hcor->or_usbcmd, cmd);