[U-Boot] [PATCH v2 1/4] usb: ohci: Do not reuse ed for interrupt endpoints of different devices

Simon Glass sjg at chromium.org
Wed May 13 20:05:38 CEST 2015


On 13 May 2015 at 06:42, Hans de Goede <hdegoede at redhat.com> wrote:
> When submitting interrupt packets to an endpoint we only link in the ed
> once to avoid some races surrounding unlinking of periodic endpoints,
> but we share one ohci_device struct / one set of ed-s for all devices,
> which means that if we have an interrupt endpoint at endpoint 1 with one
> device, and a non interrupt endpoint 1 with another device we end up
> with the same ed linked into both the periodic and async lists, which is
> not good (tm).
>
> This commit switches over to using separate ohci_device structs, and thus
> separate ed-s for devices with interrupt endpoints, fixing this.
>
> This fixes e.g. matching a usb storage device and keyboard on the same
> usb-1 hub not working.
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> Reviewed-by: Marek Vasut <marex at denx.de>
> ---
>  drivers/usb/host/ohci-hcd.c | 35 ++++++++++++++++++++++++++++++++++-
>  drivers/usb/host/ohci.h     |  4 ++++
>  2 files changed, 38 insertions(+), 1 deletion(-)

Applied to u-boot-dm, thanks!


More information about the U-Boot mailing list