summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2017-03-08 14:09:03 -0800
committerSascha Hauer <s.hauer@pengutronix.de>2017-03-09 11:51:28 +0100
commitb52eb5a9a228e5f1c0d2fc485b71b7c4e67b143a (patch)
treecf7e3a0be22c349fba030daf67124588dc2e2d2c /drivers/usb/host
parentbf09557360b40d19ba8fd6e0a052d3849dda3a66 (diff)
downloadbarebox-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.c21
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;