]> git.baikalelectronics.ru Git - kernel.git/commit
hso: fix handling of modem port SERIAL_STATE notifications
authorDan Williams <dcbw@redhat.com>
Mon, 6 Jan 2014 16:07:29 +0000 (10:07 -0600)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Jan 2014 21:29:44 +0000 (16:29 -0500)
commit45f006e0e4ce158d4bf7c13e49a769c1e2fee23a
tree4ba164bc41e31004989688f0d0504c84ea5a70ec
parent147fe769be71f0cf7076dd0a6286988febeecee7
hso: fix handling of modem port SERIAL_STATE notifications

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: Dan Williams <dcbw@redhat.com>
Tested-by: H. Nikolaus Schaller <hns@goldelico.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/hso.c