All of lore.kernel.org
 help / color / mirror / Atom feed
From: nicolas.ferre@atmel.com (Nicolas Ferre)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] USB: ohci-at91: add a reset function to fix race condition
Date: Thu, 10 May 2012 09:38:52 +0200	[thread overview]
Message-ID: <4FAB708C.9020600@atmel.com> (raw)
In-Reply-To: <4FAAA7CC.7050208@mvista.com>

On 05/09/2012 07:22 PM, Sergei Shtylyov :
> 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.

Yes, I have run checkpatch.pl. But I also know that I have to conform to
existing code and the history of the file that I am touching.
This file is using this convention as well as
drivers/usb/host/ohci-hcd.c and several others dealing with USB. So I
kept this style in my patch.

Best regards,
-- 
Nicolas Ferre

WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Ferre <nicolas.ferre@atmel.com>
To: Sergei Shtylyov <sshtylyov@mvista.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: Thu, 10 May 2012 09:38:52 +0200	[thread overview]
Message-ID: <4FAB708C.9020600@atmel.com> (raw)
In-Reply-To: <4FAAA7CC.7050208@mvista.com>

On 05/09/2012 07:22 PM, Sergei Shtylyov :
> 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.

Yes, I have run checkpatch.pl. But I also know that I have to conform to
existing code and the history of the file that I am touching.
This file is using this convention as well as
drivers/usb/host/ohci-hcd.c and several others dealing with USB. So I
kept this style in my patch.

Best regards,
-- 
Nicolas Ferre

  reply	other threads:[~2012-05-10  7:38 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
2012-05-09 17:22   ` Sergei Shtylyov
2012-05-10  7:38   ` Nicolas Ferre [this message]
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=4FAB708C.9020600@atmel.com \
    --to=nicolas.ferre@atmel.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.