public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Sean <knife@toaster.net>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	bugzilla-daemon@bugzilla.kernel.org, linux-media@vger.kernel.org,
	USB list <linux-usb@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [Bugme-new] [Bug 14564] New: capture-example sleeping function called from invalid context at arch/x86/mm/fault.c
Date: Mon, 04 Jan 2010 14:24:15 -0800	[thread overview]
Message-ID: <4B426A8F.2030808@toaster.net> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1001041538140.3180-100000@iolanthe.rowland.org>

Alan Stern wrote:
> ...
>
> All right.  Let's try this patch in place of all the others, then.
>
> Alan Stern
>
>
> Index: usb-2.6/drivers/usb/host/ohci-q.c
> ===================================================================
> --- usb-2.6.orig/drivers/usb/host/ohci-q.c
> +++ usb-2.6/drivers/usb/host/ohci-q.c
> @@ -505,6 +505,7 @@ td_fill (struct ohci_hcd *ohci, u32 info
>  	struct urb_priv		*urb_priv = urb->hcpriv;
>  	int			is_iso = info & TD_ISO;
>  	int			hash;
> +	volatile struct td	* volatile td1, * volatile td2;
>  
>  	// ASSERT (index < urb_priv->length);
>  
> @@ -558,11 +559,30 @@ td_fill (struct ohci_hcd *ohci, u32 info
>  
>  	/* hash it for later reverse mapping */
>  	hash = TD_HASH_FUNC (td->td_dma);
> +
> +	td1 = ohci->td_hash[hash];
> +	td2 = NULL;
> +	if (td1) {
> +		td2 = td1->td_hash;
> +		if (td2 == td1 || td2 == td) {
> +			ohci_err(ohci, "Circular hash: %d %p %p %p\n",
> +					hash, td1, td2, td);
> +			td2 = td1->td_hash = NULL;
> +		}
> +	}
> +
>  	td->td_hash = ohci->td_hash [hash];
>  	ohci->td_hash [hash] = td;
>  
>  	/* HC might read the TD (or cachelines) right away ... */
>  	wmb ();
> +
> +	if (td1 && td1->td_hash != td2) {
> +		ohci_err(ohci, "Hash value changed: %d %p %p %p\n",
> +					hash, td1, td2, td);
> +		td1->td_hash = (struct td *) td2;
> +	}
> +
>  	td->ed->hwTailP = td->hwNextTD;
>  }
>  
>
>   
Alan,
This last patch seems to do the job. Thanks so much for your help! Where 
do I donate/send beer?

Sean

  reply	other threads:[~2010-01-04 22:26 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-14564-10286@http.bugzilla.kernel.org/>
2009-11-11 23:21 ` [Bugme-new] [Bug 14564] New: capture-example sleeping function called from invalid context at arch/x86/mm/fault.c Andrew Morton
2009-11-12 16:20   ` Alan Stern
2009-12-03  5:48     ` Sean
2009-12-03 21:03       ` Alan Stern
2009-12-16 23:30         ` Sean
2009-12-17 15:22           ` Alan Stern
2009-12-29  9:19             ` Sean
2009-12-29 19:48               ` Sean
2009-12-29 21:23                 ` Alan Stern
2009-12-30  0:37                   ` Sean
2009-12-30  3:22                     ` Alan Stern
2010-01-02  9:00                       ` Sean
2010-01-02 20:43                         ` Alan Stern
2010-01-03  1:56                           ` Sean
2010-01-03 17:35                             ` Alan Stern
2010-01-03 23:47                               ` Sean
2010-01-04 16:06                                 ` Alan Stern
2010-01-04 20:02                                   ` Sean
2010-01-04 20:48                                     ` Alan Stern
2010-01-04 22:24                                       ` Sean [this message]
2010-01-05  2:40                                         ` Alan Stern
2010-01-05  3:32                                           ` Sean
2010-01-05 15:11                                             ` Alan Stern
2010-01-05 20:05                                               ` Sean
2010-01-05 21:06                                                 ` 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=4B426A8F.2030808@toaster.net \
    --to=knife@toaster.net \
    --cc=akpm@linux-foundation.org \
    --cc=bugzilla-daemon@bugzilla.kernel.org \
    --cc=hpa@zytor.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=stern@rowland.harvard.edu \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox