[PATCH RFC] dwc2: Don't assume URB transfer_buffer are dword-aligned
Greg Kroah-Hartman
gregkh at linuxfoundation.org
Thu Mar 16 18:24:15 PDT 2017
On Thu, Mar 16, 2017 at 09:08:40PM -0300, Mauro Carvalho Chehab wrote:
> The dwc2 hardware doesn't like to do DMA transfers without
> aligning data in DWORD. The driver also assumes that, even
> when there's no DMA, at dwc2_read_packet().
>
> That cause buffer overflows, preventing some drivers to work.
Why aren't the drivers being fixed? This is a well-known (hopefully)
restriction on USB data buffers, can't the uvc_driver be fixed?
> In the specific case of uvc_driver, it uses an array where
> it caches the content of video controls, passing it to the
> USB stack via usb_control_msg(). Typical controls use 1 or 2
> bytes. The net result is that other values of the buffer
> gets overriden when this function is called.
Not good, it should be fixed, otherwise you are going to have to try to
fix up all host controllers :(
thanks,
greg k-h
More information about the linux-rpi-kernel
mailing list