• Dan Williams's avatar
    hso: fix handling of modem port SERIAL_STATE notifications · e5e97ee9
    Dan Williams authored
    The existing serial state notification handling expected older Option
    devices, having a hardcoded assumption that the Modem port was always
    USB interface #2.  That isn't true for devices from the past few years.
    
    hso_serial_state_notification is a local cache of a USB Communications
    Interface Class SERIAL_STATE notification from the device, and the
    USB CDC specification (section 6.3, table 67 "Class-Specific Notifications")
    defines wIndex as the USB interface the event applies to.  For hso
    devices this will always be the Modem port, as the Modem port is the
    only port which is set up to receive them by the driver.
    
    So instead of always expecting USB interface #2, instead validate the
    notification with the actual USB interface number of the Modem port.
    Signed-off-by: default avatarDan Williams <dcbw@redhat.com>
    Tested-by: default avatarH. Nikolaus Schaller <hns@goldelico.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e5e97ee9
hso.c 84.4 KB