• David Brownell's avatar
    [PATCH] USB: usbcore, better heuristic for choosing configs · eb912d25
    David Brownell authored
    Until now, the Linux-USB core has always chosen the first device
    configuration, even when there was a choice.  In 2.4 kernels,
    device driver probe() routines were allowed to override that
    initial policy decisions.  But 2.6 kernels can't do that from
    probe() routines, causing problems with some CDC-ACM modems
    where the first config uses MSFT-proprietary protocols.
    
    This patch switches to a smarter heuristic:  Linux now prefers
    standard interface classes when there's a choice.  So those
    CDC-ACM modems don't need a "write bConfigurationValue in sysfs"
    step when they are connected; they act just like on 2.4 kernels.
    (And sysfs can still be used to handle any problem cases.)
    eb912d25
usb.c 43.6 KB