From 26b6395bfb3c688fe493d02b0cae211eacf7f2b7 Mon Sep 17 00:00:00 2001 From: Olav Kongas Date: Thu, 21 Apr 2005 17:12:59 +0300 Subject: [PATCH] --- yaml --- r: 3654 b: refs/heads/master c: 589a0083a3c9e9610e54984998a46c07a2584b55 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/usb/host/isp116x-hcd.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 5681d046c9a5..63fb5cbf00dc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4808a1c0261176f9c7e28e7f108d41a381a7d0fc +refs/heads/master: 589a0083a3c9e9610e54984998a46c07a2584b55 diff --git a/trunk/drivers/usb/host/isp116x-hcd.c b/trunk/drivers/usb/host/isp116x-hcd.c index 69e7433d9ce8..1183988fdf54 100644 --- a/trunk/drivers/usb/host/isp116x-hcd.c +++ b/trunk/drivers/usb/host/isp116x-hcd.c @@ -1501,6 +1501,12 @@ static int isp116x_reset(struct usb_hcd *hcd) } if (!clkrdy) { ERR("Clock not ready after 20ms\n"); + /* After sw_reset the clock won't report to be ready, if + H_WAKEUP pin is high. */ + if (!isp116x->board || !isp116x->board->reset) + ERR("The driver does not support hardware wakeup.\n"); + ERR("Please make sure that the H_WAKEUP pin " + "is pulled low!\n"); ret = -ENODEV; } return ret; @@ -1678,10 +1684,13 @@ static struct hc_driver isp116x_hc_driver = { static int __init_or_module isp116x_remove(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); - struct isp116x *isp116x = hcd_to_isp116x(hcd); + struct isp116x *isp116x; struct platform_device *pdev; struct resource *res; + if(!hcd) + return 0; + isp116x = hcd_to_isp116x(hcd); pdev = container_of(dev, struct platform_device, dev); remove_debug_file(isp116x); usb_remove_hcd(hcd);