[U-Boot] [PATCH v2 1/3] USB: make usb_kbd obey USB DMA alignment requirements

Marek Vasut marex at denx.de
Wed Oct 24 09:31:40 CEST 2012


Dear Allen Martin,

> On Tue, Oct 23, 2012 at 03:03:34PM -0700, Marek Vasut wrote:
> > Dear Allen Martin,
> > 
> > > On Tue, Oct 23, 2012 at 09:51:06AM -0700, Stephen Warren wrote:
> > > > On 10/22/2012 11:47 PM, Allen Martin wrote:
> > > > > Change usb_kbd driver to obey alignment requirements for USB DMA on
> > > > > the buffer used for data transfer.  This is necessary for
> > > > > architectures that enable dcache and enable USB DMA.
> > > > 
> > > > The series,
> > > > Tested-by: Stephen Warren <swarren at nvidia.com>
> > > > 
> > > > BTW, I tested tegra-kbc too, and that does indeed currently work (at
> > > > least in my local dev branch based on u-boot/master).
> > > 
> > > Yes, I also tried on a seaboard with internal keyboard and it works,
> > > although once the USB keyboard driver loads the internal keyboard
> > > stops working.  I haven't tracked down why, but it seems like a bug I
> > > can live with for now as seaboards with internal keyboards are pretty
> > > rare these days, and how many keyboards do you need in u-boot anyway?
> > 
> > Good thing you pointed it out. Please let's not ignore a bug. How come it
> > happens? What happens if you have two usb keyboards connected?
> 
> I'm pretty sure the USB keyboard driver doesn't support multiple
> devices, I see this in drv_usb_kbd_init():
> 
>                 /* We found a keyboard, check if it is already
>                 registered. */
>                 USB_KBD_PRINTF("USB KBD: found set up device.\n");
>                 old_dev = stdio_get_by_name(DEVNAME);
>                 if (old_dev) {
>                         /* Already registered, just return ok. */
>                         USB_KBD_PRINTF("USB KBD: is already
>                 registered.\n");
>                         return 1;
>                 }
> 
> The bug is almost certainly inside the tegra kbd driver, which is why
> I'm not terribly concerned about it.  The only boards that use that
> driver are inside NVIDIA, and even those are rare.
[...]

Good, now please fix the bug. I'm terribly unhappy seeing there is a bug that is 
about to go unfixed.

Best regards,
Marek Vasut


More information about the U-Boot mailing list