• Sebastian Andrzej Siewior's avatar
    usb/uas: only bind if the hcd supports SG · c898add5
    Sebastian Andrzej Siewior authored
    The UAS driver requires SG support by the HCD operating the device. This
    patch stops UAS from operating on a HCD without sg support and prints a
    message to let him know.
    
    The spec says:
    |For [USB2] backward compatibility, the device shall present [BOT] as
    |alternate interface zero (primary) and [UAS] as alternate interface one
    |(secondary). A device which does not need backward compatibility with
    |[BOT] shall present [UAS] as alternate interface zero. In [USB2]
    |systems, the [BOT] driver or an associated filter driver may need to
    |issue a SET INTERFACE request for alternate interface one and then allow
    |the [UAS] driver to load.
    
    If the user used usb_modeswitch to switch to UAS then he can go back to
    BOT or use a different HCD. In case UAS is the only interface then there
    is currently no way out.
    In future usb_sg_wait() should be extended to provide a non-blocking
    interface so it can work with the UAS driver.
    Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    c898add5
uas.c 21.3 KB