lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 17 Feb 2010 10:10:57 +0100 From: Oliver Neukum <oliver@...kum.org> To: "Shilimkar, Santosh" <santosh.shilimkar@...com> Cc: "Russell King - ARM Linux" <linux@....linux.org.uk>, Catalin Marinas <catalin.marinas@....com>, Pavel Machek <pavel@....cz>, Greg KH <greg@...ah.com>, Matthew Dharm <mdharm-kernel@...-eyed-alien.net>, Sergei Shtylyov <sshtylyov@...mvista.com>, Ming Lei <tom.leiming@...il.com>, Sebastian Siewior <bigeasy@...utronix.de>, "linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>, "linux-kernel" <linux-kernel@...r.kernel.org>, "linux-arm-kernel" <linux-arm-kernel@...ts.infradead.org>, "Mankad, Maulik Ojas" <x0082077@...com>, "Gadiyar, Anand" <gadiyar@...com> Subject: Re: USB mass storage and ARM cache coherency Am Mittwoch, 17. Februar 2010 09:55:08 schrieb Shilimkar, Santosh: > > Your original patch however kills ehci, ohci and uhci on some architectures. > > How about below approach? Controller driver can set > "uses_pio_for_control" if it can't do dma for control transfer. > > diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c > index 80995ef..e3eae02 100644 > --- a/drivers/usb/core/hcd.c > +++ b/drivers/usb/core/hcd.c > @@ -1276,7 +1276,7 @@ static int map_urb_for_dma(struct usb_hcd *hcd, struct urb *urb, > > if (usb_endpoint_xfer_control(&urb->ep->desc) > && !(urb->transfer_flags & URB_NO_SETUP_DMA_MAP)) { > - if (hcd->self.uses_dma) { > + if (hcd->self.uses_dma && !hcd->self.uses_pio_for_control) { It is not elegant to describe exceptions. It would be better, if you split up the flag into two flags, called uses_dma_for_ordinary_transfers and uses_dma_for control_transfers. Doing so also makes sure you look at all hcd drivers ;-) And the tests become straightforward. And please add a detailed comment to explain why this differentiation is needed on ARM. Regards Oliver -- 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