Re: [linux-usb-devel] Re: [BK PATCH] USB update for 2.6.3

Alan Stern
2004-02-20T19:43:19Z

Just to clear up a small disagreement...

On Fri, 20 Feb 2004, Linus Torvalds wrote:

> On Thu, 19 Feb 2004, David S. Miller wrote:
> > On Fri, 20 Feb 2004 18:10:41 +1100
> > Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> >
> > > Hrm... so if the USB device drivers are actually doing the dma mapping
> > > themselves, it make sense for them to pass their own struct device, no ?
> >
> > That's right, at least that was the idea.
>
> No. That would be _fundamentally_ wrong.
>
> There's no way a USB device can do DMA in the first place. It has no DMA
> controller, and no way to read/write memory except through the USB host.
>
> So it is the host - and only the host - that matters. Anything else is a
> bug.

Both of you are right. Linus is right that USB devices don't do DMA.
Ben is right that sometimes a USB device _driver_ will set up a DMA
mapping. And of course, it is set up on behalf of the corresponding USB
controller, so the controller's struct device would be passed.

Alan Stern