All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Vrabel <david.vrabel@csr.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Oliver Neukum <oliver@neukum.org>, Jiri Kosina <jkosina@suse.cz>,
	Greg KH <greg@kroah.com>,
	linux-usb@vger.kernel.org, lchiquitto@novell.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] USB: fix deadlock in HCD code
Date: Wed, 21 May 2008 15:53:24 +0100	[thread overview]
Message-ID: <48343764.7020800@csr.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0805211040160.2490-100000@iolanthe.rowland.org>

Alan Stern wrote:
> On Wed, 21 May 2008, David Vrabel wrote:
> 
>> Alan Stern wrote:
>>> The functions you are worried about (usb_hcd_link_urb_to_ep and 
>>> usb_hcd_unlink_urb_from_ep) are documented as requiring that interrupts 
>>> be disabled by their callers.  This patch isn't needed.
>> This requirement is the only reason the whci-hcd driver disables
>> interrupts.  Removing this requirement would reduce the time that
>> interrupts are disabled in the whci-hcd driver.
> 
> That doesn't sound like a valid approach.  If you don't disable
> interrupts then you aren't protected against an interrupt handler
> submitting an URB and accessing your data structures while whci-hcd is
> in the middle of updating them.

I can't see how urbs can be submitted to whci-hcd from an interrupt
handler (urb callbacks are always called from a workqueue thread) but
they could be submitted from a timer, so you are correct.

David
-- 
David Vrabel, Senior Software Engineer, Drivers
CSR, Churchill House, Cambridge Business Park,  Tel: +44 (0)1223 692562
Cowley Road, Cambridge, CB4 0WZ                 http://www.csr.com/

  reply	other threads:[~2008-05-21 14:54 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-21 12:09 [PATCH] USB: fix deadlock in HCD code Jiri Kosina
2008-05-21 13:21 ` Oliver Neukum
2008-05-21 13:27   ` Jiri Kosina
2008-05-21 13:32     ` Oliver Neukum
2008-05-21 13:36       ` Jiri Kosina
2008-05-21 13:47         ` Oliver Neukum
2008-05-21 14:13           ` Alan Stern
2008-05-21 14:22             ` Jiri Kosina
2008-05-21 14:46               ` Alan Stern
2008-05-21 19:32                 ` Leonardo Chiquitto
2008-05-21 20:03                 ` Oliver Neukum
2008-05-21 14:29             ` David Vrabel
2008-05-21 14:42               ` Alan Stern
2008-05-21 14:53                 ` David Vrabel [this message]
2008-05-21 14:58                   ` Alan Stern
2008-05-21 14:31             ` Oliver Neukum
2008-05-21 13:40     ` Oliver Neukum
2008-05-21 22:26 ` Peter Zijlstra

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=48343764.7020800@csr.com \
    --to=david.vrabel@csr.com \
    --cc=greg@kroah.com \
    --cc=jkosina@suse.cz \
    --cc=lchiquitto@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=oliver@neukum.org \
    --cc=stern@rowland.harvard.edu \
    /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.