[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 7 Jul 2011 11:06:16 -0400 (EDT)
From: Alan Stern <stern@...land.harvard.edu>
To: Daniel Mack <zonque@...il.com>
cc: Oliver Neukum <oliver@...kum.org>, <linux-usb@...r.kernel.org>,
<alsa-devel@...a-project.org>, Takashi Iwai <tiwai@...e.de>,
Clemens Ladisch <clemens@...isch.de>, <florian@...kler.org>,
<pedrib@...il.com>, William Light <wrl@...est.net>,
Greg KH <greg@...ah.com>, <linux-kernel@...r.kernel.org>
Subject: Re: Allocating buffers for USB transfers (again)
On Thu, 7 Jul 2011, Daniel Mack wrote:
> On Thu, Jul 7, 2011 at 2:33 PM, Oliver Neukum <oliver@...kum.org> wrote:
>
> > PS: Do you still see this if you enable 64bit DMA for EHCI?
>
> The problem is that I personally don't see that issue at all. I even
> installed 4GB of RAM to my development machine last year to be able to
> reproduce this, but I can't, even when the memory allocator is under
> heavy load. The only people who see this effect are Pedro Ribeiro and
> William Light (both in Cc:), and both have been very helpful in trying
> patches and reporting back in detail. Which instructions could we
> probably give to these people to finally hunt this issue down?
Oliver is perfectly right; this problem needs to be solved at the
source.
One thing you might be able to do is put together a debugging patch
that would print out the bus address corresponding to the DMA handle
after the DMA mapping takes place, i.e., after the second
dma_map_single() call in usb_hcd_map_urb_for_dma() returns. Or at
least, check the bus address to see if it is below the 4 GB limit and
print out an error message if it isn't.
(I don't know how one translates a DMA address to a bus address. You'd
have to ask somebody who knows or figure it out.)
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists