On Mon, 2014-01-06 at 16:30 -0500, David Miller wrote: > From: Dan Williams <dcbw@xxxxxxxxxx> > Date: Mon, 06 Jan 2014 10:07:29 -0600 > > > 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@xxxxxxxxxx> > > Tested-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> > > Applied, although that BUG_ON() is a bit harsh. It might have been > cleaner to just dev_warn() ratelimited or similar and return. If the driver ever gets to that callback for any !Modem port, something is horribly wrong, which the BUG_ON() was attempting to make explicit. The driver only enables that callback for the Modem port, so yeah, it's somewhat defensive. I'm happy to send a fixup if you like? Dan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html