Opened 5 years ago

Last modified 5 years ago

#12745 new defect

CONFIG_USB_OHCI_HCD_PLATFORM=y causes USB to stop working on some platforms

Reported by: anonymous Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: kernel Version: Trunk
Keywords: Cc:


CONFIG_USB_OHCI_HCD_PLATFORM is enabled by default trunk/package/kernel/modules/

It causes the generic platform driver to be built instead of the platform-specific OHCI driver.

One of the possible solutions is to patch the kernel driver so it builds the generic driver when CONFIG_USB_OHCI_HCD_PLATFORM is enabled but PLATFORM_DRIVER is not defined.

Attachments (0)

Change History (2)

comment:1 Changed 5 years ago by nbd

what platforms are affected?

comment:2 Changed 5 years ago by anonymous

All platforms that don't use the generic OHCI platform driver are affected. This means that the usb module won't work unless CONFIG_USB_OHCI_HCD_PLATFORM=y is removed from package/kernel/modules/

Have a look at drivers/usb/host/ohci-hcd.c
For some platforms the correct driver file inclusion is based on ARCH define:

#include "ohci-ep93xx.c"
#define PLATFORM_DRIVER		ohci_hcd_ep93xx_driver

#include "ohci-at91.c"
#define PLATFORM_DRIVER		ohci_hcd_at91_driver

But if CONFIG_USB_OHCI_HCD_PLATFORM is enabled, then PLATFORM_DRIVER is overriden by the generic driver:

#include "ohci-platform.c"
#define PLATFORM_DRIVER		ohci_platform_driver

Add Comment

Modify Ticket

as new .

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.