From: sshtylyov@mvista.com (Sergei Shtylyov)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] USB: ohci-at91: add a reset function to fix race condition
Date: Wed, 09 May 2012 21:22:20 +0400 [thread overview]
Message-ID: <4FAAA7CC.7050208@mvista.com> (raw)
In-Reply-To: <1336553334-31058-1-git-send-email-nicolas.ferre@atmel.com>
Hello.
On 09-05-2012 12:48, Nicolas Ferre wrote:
> A possible race condition appears because we are not initializing
> the ohci->regs before calling usb_hcd_request_irqs().
> We move the call to ohci_init() in hcd->driver->reset() instead of
> hcd->driver->start() to fix this.
> This was experienced when we share the same IRQ line between OHCI and EHCI
> controllers.
> Signed-off-by: Nicolas Ferre<nicolas.ferre@atmel.com>
> Tested-by: Christian Eggers<christian.eggers@kathrein.de>
> Cc: stable<stable@vger.kernel.org>
> ---
> drivers/usb/host/ohci-at91.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index 13ebeca..55d3d64 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -223,7 +223,7 @@ static void __devexit usb_hcd_at91_remove(struct usb_hcd *hcd,
> /*-------------------------------------------------------------------------*/
>
> static int __devinit
> -ohci_at91_start (struct usb_hcd *hcd)
> +ohci_at91_reset (struct usb_hcd *hcd)
Have you run the patch thru scripts/checkpatch.pl? There should be no
space between function name and '('.
> {
> struct at91_usbh_data *board = hcd->self.controller->platform_data;
> struct ohci_hcd *ohci = hcd_to_ohci (hcd);
> @@ -233,6 +233,14 @@ ohci_at91_start (struct usb_hcd *hcd)
> return ret;
>
> ohci->num_ports = board->ports;
> + return 0;
> +}
> +
> +static int __devinit
> +ohci_at91_start (struct usb_hcd *hcd)
Same here.
> +{
> + struct ohci_hcd *ohci = hcd_to_ohci (hcd);
And here.
WBR, Sergei
WARNING: multiple messages have this Message-ID (diff)
From: Sergei Shtylyov <sshtylyov@mvista.com>
To: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stern@rowland.harvard.edu, linux-usb@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, plagnioj@jcrosoft.com,
gregkh@linuxfoundation.org, stable <stable@vger.kernel.org>
Subject: Re: [PATCH] USB: ohci-at91: add a reset function to fix race condition
Date: Wed, 09 May 2012 21:22:20 +0400 [thread overview]
Message-ID: <4FAAA7CC.7050208@mvista.com> (raw)
In-Reply-To: <1336553334-31058-1-git-send-email-nicolas.ferre@atmel.com>
Hello.
On 09-05-2012 12:48, Nicolas Ferre wrote:
> A possible race condition appears because we are not initializing
> the ohci->regs before calling usb_hcd_request_irqs().
> We move the call to ohci_init() in hcd->driver->reset() instead of
> hcd->driver->start() to fix this.
> This was experienced when we share the same IRQ line between OHCI and EHCI
> controllers.
> Signed-off-by: Nicolas Ferre<nicolas.ferre@atmel.com>
> Tested-by: Christian Eggers<christian.eggers@kathrein.de>
> Cc: stable<stable@vger.kernel.org>
> ---
> drivers/usb/host/ohci-at91.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index 13ebeca..55d3d64 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -223,7 +223,7 @@ static void __devexit usb_hcd_at91_remove(struct usb_hcd *hcd,
> /*-------------------------------------------------------------------------*/
>
> static int __devinit
> -ohci_at91_start (struct usb_hcd *hcd)
> +ohci_at91_reset (struct usb_hcd *hcd)
Have you run the patch thru scripts/checkpatch.pl? There should be no
space between function name and '('.
> {
> struct at91_usbh_data *board = hcd->self.controller->platform_data;
> struct ohci_hcd *ohci = hcd_to_ohci (hcd);
> @@ -233,6 +233,14 @@ ohci_at91_start (struct usb_hcd *hcd)
> return ret;
>
> ohci->num_ports = board->ports;
> + return 0;
> +}
> +
> +static int __devinit
> +ohci_at91_start (struct usb_hcd *hcd)
Same here.
> +{
> + struct ohci_hcd *ohci = hcd_to_ohci (hcd);
And here.
WBR, Sergei
next prev parent reply other threads:[~2012-05-09 17:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-09 8:48 [PATCH] USB: ohci-at91: add a reset function to fix race condition Nicolas Ferre
2012-05-09 8:48 ` Nicolas Ferre
2012-05-09 17:22 ` Sergei Shtylyov [this message]
2012-05-09 17:22 ` Sergei Shtylyov
2012-05-10 7:38 ` Nicolas Ferre
2012-05-10 7:38 ` Nicolas Ferre
2012-05-09 17:45 ` Alan Stern
2012-05-09 17:45 ` Alan Stern
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=4FAAA7CC.7050208@mvista.com \
--to=sshtylyov@mvista.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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.