Browse Source

USB: ehci: omap: fix kernel panic with rmmod

Sets the regulator values to NULL if they are not defined. This
is required to fix the kernel panic in exit path when EHCI module
is removed on the platforms where EHCI regulator are not set.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Ajay Kumar Gupta 15 years ago
parent
commit
18f91196b6
1 changed files with 4 additions and 2 deletions
  1. 4 2
      drivers/usb/host/ehci-omap.c

+ 4 - 2
drivers/usb/host/ehci-omap.c

@@ -629,11 +629,13 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
 		}
 		}
 		snprintf(supply, sizeof(supply), "hsusb%d", i);
 		snprintf(supply, sizeof(supply), "hsusb%d", i);
 		omap->regulator[i] = regulator_get(omap->dev, supply);
 		omap->regulator[i] = regulator_get(omap->dev, supply);
-		if (IS_ERR(omap->regulator[i]))
+		if (IS_ERR(omap->regulator[i])) {
+			omap->regulator[i] = NULL;
 			dev_dbg(&pdev->dev,
 			dev_dbg(&pdev->dev,
 			"failed to get ehci port%d regulator\n", i);
 			"failed to get ehci port%d regulator\n", i);
-		else
+		} else {
 			regulator_enable(omap->regulator[i]);
 			regulator_enable(omap->regulator[i]);
+		}
 	}
 	}
 
 
 	ret = omap_start_ehc(omap, hcd);
 	ret = omap_start_ehc(omap, hcd);