diff options
author | Simon Horman <horms+renesas@verge.net.au> | 2013-05-16 05:14:59 +0200 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-05-22 08:43:16 +0200 |
commit | 5f10428e4a6d99cc019270c51ad5a33fb38addeb (patch) | |
tree | c9bffe2de03d4434f7ead26d7a5f35bff616eb71 /arch | |
parent | Linux 3.10-rc1 (diff) | |
download | linux-5f10428e4a6d99cc019270c51ad5a33fb38addeb.tar.xz linux-5f10428e4a6d99cc019270c51ad5a33fb38addeb.zip |
ARM: shmobile: marzen: Use error values in usb_power_*
This patch updates the marzen board code as if USB PHY isn't enabled
they phy will have a value set by ERR_PTR() rather than be NULL.
Without this patch a NULL pointer dereference and kernel panic
occurs on initialisation of USB on marzen.
This resolves a regression introduced in 3.10-rc1 by
b7fa5c2aec5be083eb2719b405089703608e9bc6
("usb: phy: return -ENXIO when PHY layer isn't enabled").
Tested-by: Nguyen Hong Ky <nh-ky@jinso.co.jp>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-shmobile/board-marzen.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c index 91052855cc12..b9594e911ce7 100644 --- a/arch/arm/mach-shmobile/board-marzen.c +++ b/arch/arm/mach-shmobile/board-marzen.c @@ -212,8 +212,8 @@ static struct platform_device *marzen_devices[] __initdata = { static struct usb_phy *phy; static int usb_power_on(struct platform_device *pdev) { - if (!phy) - return -EIO; + if (IS_ERR(phy)) + return PTR_ERR(phy); pm_runtime_enable(&pdev->dev); pm_runtime_get_sync(&pdev->dev); @@ -225,7 +225,7 @@ static int usb_power_on(struct platform_device *pdev) static void usb_power_off(struct platform_device *pdev) { - if (!phy) + if (IS_ERR(phy)) return; usb_phy_shutdown(phy); |