From: ZhenHua <zhen-hual@hp.com>
To: stern@rowland.harvard.edu, gregkh@linuxfoundation.org,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: "Li, Zhen-Hua" <zhen-hual@hp.com>, tom.vaden@hp.com
Subject: Re: [PATCH 1/1] driver,usb: Fix a warning in uhci-hcd driver
Date: Thu, 25 Apr 2013 15:12:37 +0800 [thread overview]
Message-ID: <5178D765.9080506@hp.com> (raw)
In-Reply-To: <1366873869-17446-1-git-send-email-zhen-hual@hp.com>
I send out this patch for the second time.
Changed try to int. And modified the comment.
On 04/25/2013 03:11 PM, Li, Zhen-Hua wrote:
> This patch is trying to fix this bug on SLES11 SP2:
> https://bugzilla.novell.com/show_bug.cgi?id=817035
>
> On a large HP system with 64T memory and 60 logical cpus, when usb
> driver inits the iLo Virtual USB Controller, there comes a warning
> "Controller not stopped yet!". It is because driver does not wait
> enough time. So driver should wait and retry if found controller
> not stopped.
>
> Signed-off-by: Li, Zhen-Hua <zhen-hual@hp.com>
> Signed-off-by: Tom Vaden <tom.vaden@hp.com>
> ---
> drivers/usb/host/uhci-hcd.c | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
> index 4a86b63..d592e22 100644
> --- a/drivers/usb/host/uhci-hcd.c
> +++ b/drivers/usb/host/uhci-hcd.c
> @@ -277,6 +277,9 @@ static int global_suspend_mode_is_broken(struct uhci_hcd *uhci)
> uhci->global_suspend_mode_is_broken(uhci) : 0;
> }
>
> +#define UHCI_SUSPENDRH_RETRY_MAX 10
> +#define UHCI_SUSPENDRH_RETRY_DELAY 100
> +
> static void suspend_rh(struct uhci_hcd *uhci, enum uhci_rh_state new_state)
> __releases(uhci->lock)
> __acquires(uhci->lock)
> @@ -284,6 +287,8 @@ __acquires(uhci->lock)
> int auto_stop;
> int int_enable, egsm_enable, wakeup_enable;
> struct usb_device *rhdev = uhci_to_hcd(uhci)->self.root_hub;
> + int try;
> + u16 stopped;
>
> auto_stop = (new_state == UHCI_RH_AUTO_STOPPED);
> dev_dbg(&rhdev->dev, "%s%s\n", __func__,
> @@ -355,7 +360,17 @@ __acquires(uhci->lock)
> if (uhci->dead)
> return;
> }
> - if (!(uhci_readw(uhci, USBSTS) & USBSTS_HCH))
> +
> + for (try = 0; try < UHCI_SUSPENDRH_RETRY_MAX; try++) {
> + /* For some devices, for example, HP iLo usb controller,
> + * we need to wait for more time and retry.
> + */
> + stopped = uhci_readw(uhci, USBSTS) & USBSTS_HCH;
> + if (stopped)
> + break;
> + udelay(UHCI_SUSPENDRH_RETRY_DELAY);
> + }
> + if (!stopped)
> dev_warn(uhci_dev(uhci), "Controller not stopped yet!\n");
>
> uhci_get_current_frame_number(uhci);
next prev parent reply other threads:[~2013-04-25 7:13 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-25 7:11 [PATCH 1/1] driver,usb: Fix a warning in uhci-hcd driver Li, Zhen-Hua
2013-04-25 7:12 ` ZhenHua [this message]
2013-04-25 14:33 ` Alan Stern
2013-04-25 14:56 ` Alan Stern
-- strict thread matches above, loose matches on Subject: below --
2013-04-26 7:38 Li, Zhen-Hua
2013-04-26 7:50 ` ZhenHua
2013-04-26 8:10 ` ZhenHua
2013-04-26 16:51 ` Alan Stern
2013-04-27 0:16 ` ZhenHua
2013-04-27 15:14 ` Alan Stern
2013-04-28 1:51 ` ZhenHua
2013-04-28 18:55 ` Alan Stern
2013-05-06 1:43 ` Li, Zhen-Hua (USL-China)
2013-04-23 7:15 Li, Zhen-Hua
2013-04-23 14:07 ` Greg KH
2013-04-23 15:10 ` Alan Stern
2013-04-25 1:22 ` ZhenHua
2013-04-25 14:54 ` Alan Stern
2013-04-26 1:10 ` ZhenHua
2013-04-23 23:55 ` ZhenHua
2013-04-24 1:57 ` Greg KH
2013-04-24 2:05 ` ZhenHua
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5178D765.9080506@hp.com \
--to=zhen-hual@hp.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=tom.vaden@hp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.