diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2017-03-08 14:09:03 -0800 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-03-09 11:51:28 +0100 |
commit | b52eb5a9a228e5f1c0d2fc485b71b7c4e67b143a (patch) | |
tree | cf7e3a0be22c349fba030daf67124588dc2e2d2c /drivers/usb/host | |
parent | bf09557360b40d19ba8fd6e0a052d3849dda3a66 (diff) | |
download | barebox-b52eb5a9a228e5f1c0d2fc485b71b7c4e67b143a.tar.gz barebox-b52eb5a9a228e5f1c0d2fc485b71b7c4e67b143a.tar.xz |
usb: ehci-atmel: Check result of clk_enable()
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/ehci-atmel.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c index cc9636c4b7..fa9ca7d5b0 100644 --- a/drivers/usb/host/ehci-atmel.c +++ b/drivers/usb/host/ehci-atmel.c @@ -32,10 +32,20 @@ /* interface and function clocks; sometimes also an AHB clock */ static struct clk *iclk, *fclk; -static void atmel_start_clock(void) +static int atmel_start_clock(void) { - clk_enable(iclk); - clk_enable(fclk); + int ret; + ret = clk_enable(iclk); + if (ret < 0) { + pr_err("Error enabling interface clock\n"); + return ret; + } + + ret = clk_enable(fclk); + if (ret < 0) + pr_err("Error enabling function clock\n"); + + return ret; } static void atmel_stop_clock(void) @@ -46,6 +56,7 @@ static void atmel_stop_clock(void) static int atmel_ehci_probe(struct device_d *dev) { + int ret; struct resource *iores; struct ehci_data data; @@ -64,7 +75,9 @@ static int atmel_ehci_probe(struct device_d *dev) /* * Start the USB clocks. */ - atmel_start_clock(); + ret = atmel_start_clock(); + if (ret < 0) + return ret; data.flags = 0; |