• Heikki Krogerus's avatar
    usb: typec: ucsi: acpi: Increase command completion timeout value · 130a96d6
    Heikki Krogerus authored
    UCSI specification quite clearly states that if a command
    can't be completed in 10ms, the firmware must notify
    about BUSY condition. Unfortunately almost none of the
    platforms (the firmware on them) generate the BUSY
    notification even if a command can't be completed in time.
    
    The driver already considered that, and used a timeout
    value of 5 seconds, but processing especially the alternate
    mode discovery commands takes often considerable amount of
    time from the firmware, much more than the 5 seconds. That
    happens especially after bootup when devices are already
    connected to the USB Type-C connector. For now on those
    platforms the alternate mode discovery has simply failed
    because of the timeout.
    
    To improve the situation, increasing the timeout value for
    the command completion to 1 minute. That should give enough
    time for even the slowest firmware to process the commands.
    
    Fixes: f56de278 ("usb: typec: ucsi: acpi: Move to the new API")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
    Link: https://lore.kernel.org/r/20200916090034.25119-2-heikki.krogerus@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    130a96d6
ucsi_acpi.c 4.92 KB