Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 378fac2a authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

USB: option: clean up probe coding style



Clean up option probe by introducing intermediate variables and fixing
up comments.

Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e17f8af3
Loading
Loading
Loading
Loading
+23 −15
Original line number Diff line number Diff line
@@ -1306,33 +1306,41 @@ static int option_probe(struct usb_serial *serial,
			const struct usb_device_id *id)
{
	struct usb_wwan_intf_private *data;
	struct usb_interface_descriptor *iface_desc =
				&serial->interface->cur_altsetting->desc;
	struct usb_device_descriptor *dev_desc = &serial->dev->descriptor;

	/* D-Link DWM 652 still exposes CD-Rom emulation interface in modem mode */
	if (serial->dev->descriptor.idVendor == DLINK_VENDOR_ID &&
		serial->dev->descriptor.idProduct == DLINK_PRODUCT_DWM_652 &&
		serial->interface->cur_altsetting->desc.bInterfaceClass == 0x8)
	/*
	 * D-Link DWM 652 still exposes CD-Rom emulation interface in modem
	 * mode.
	 */
	if (dev_desc->idVendor == DLINK_VENDOR_ID &&
		dev_desc->idProduct == DLINK_PRODUCT_DWM_652 &&
		iface_desc->bInterfaceClass == 0x08)
		return -ENODEV;

	/* Bandrich modem and AT command interface is 0xff */
	if ((serial->dev->descriptor.idVendor == BANDRICH_VENDOR_ID ||
		serial->dev->descriptor.idVendor == PIRELLI_VENDOR_ID) &&
		serial->interface->cur_altsetting->desc.bInterfaceClass != 0xff)
	if ((dev_desc->idVendor == BANDRICH_VENDOR_ID ||
		dev_desc->idVendor == PIRELLI_VENDOR_ID) &&
		iface_desc->bInterfaceClass != 0xff)
		return -ENODEV;

	/* Don't bind reserved interfaces (like network ones) which often have
	/*
	 * Don't bind reserved interfaces (like network ones) which often have
	 * the same class/subclass/protocol as the serial interfaces.  Look at
	 * the Windows driver .INF files for reserved interface numbers.
	 */
	if (is_blacklisted(
		serial->interface->cur_altsetting->desc.bInterfaceNumber,
		iface_desc->bInterfaceNumber,
		OPTION_BLACKLIST_RESERVED_IF,
		(const struct option_blacklist_info *) id->driver_info))
		return -ENODEV;

	/* Don't bind network interface on Samsung GT-B3730, it is handled by a separate module */
	if (serial->dev->descriptor.idVendor == SAMSUNG_VENDOR_ID &&
		serial->dev->descriptor.idProduct == SAMSUNG_PRODUCT_GT_B3730 &&
		serial->interface->cur_altsetting->desc.bInterfaceClass != USB_CLASS_CDC_DATA)
	/*
	 * Don't bind network interface on Samsung GT-B3730, it is handled by
	 * a separate module.
	 */
	if (dev_desc->idVendor == SAMSUNG_VENDOR_ID &&
		dev_desc->idProduct == SAMSUNG_PRODUCT_GT_B3730 &&
		iface_desc->bInterfaceClass != USB_CLASS_CDC_DATA)
		return -ENODEV;

	data = kzalloc(sizeof(struct usb_wwan_intf_private), GFP_KERNEL);