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

Commit ae292dbd authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  USB: drivers/usb/serial/bus.c: Fix incompatible pointer type warning
  USB: another quirky device (LCD display)
  USB: fix serial gadget ACM breakage
  USB: More USB_QUIRK_RESET_RESUME devices
  USB Mass Storage: limit "Rockchip ROCK MP3" device (071b:3203) max I/O to 64 sectors per command
  USB: Nikon D40 Quirks
  USB: Add Sony Ericsson P1i to unusual_devs.h
  USB: option: Add Dell HSDPA 5520 to driver
  USB: option: Add a new device ID for the HUAWEI E220 HSDPA modem.
  USB: fix linked list insertion bugfix for usb core
  USB: quirky flash drive
  USB: prevent Genesys USB-IDE from autosuspending
  USB: prevent Thomson card reader from autosuspending
  USB: Add iPhone device id to the quirk list.
  USB: ftdi_sio: add of a new product/manufacturer, TML
  usb/misc/sisusbvga: add product ID of TARGUS/MCT device
  USB: oti6858: Remove broken ioctl code in -mm tree and also the broken fixes
parents af5b14c4 03fc370b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ ssize_t usb_store_new_id(struct usb_dynids *dynids,
	dynid->id.match_flags = USB_DEVICE_ID_MATCH_DEVICE;

	spin_lock(&dynids->lock);
	list_add_tail(&dynids->list, &dynid->node);
	list_add_tail(&dynid->node, &dynids->list);
	spin_unlock(&dynids->lock);

	if (get_driver(driver)) {
+25 −0
Original line number Diff line number Diff line
@@ -28,10 +28,16 @@
 * devices is broken...
 */
static const struct usb_device_id usb_quirk_list[] = {
	/* CBM - Flash disk */
	{ USB_DEVICE(0x0204, 0x6025), .driver_info = USB_QUIRK_RESET_RESUME },
	/* HP 5300/5370C scanner */
	{ USB_DEVICE(0x03f0, 0x0701), .driver_info = USB_QUIRK_STRING_FETCH_255 },
	/* Hewlett-Packard PhotoSmart 720 / PhotoSmart 935 (storage) */
	{ USB_DEVICE(0x03f0, 0x4002), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },

	/* SGS Thomson Microelectronics 4in1 card reader */
	{ USB_DEVICE(0x0483, 0x0321), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },

	/* Acer Peripherals Inc. (now BenQ Corp.) Prisa 640BU */
	{ USB_DEVICE(0x04a5, 0x207e), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },
	/* Benq S2W 3300U */
@@ -66,6 +72,19 @@ static const struct usb_device_id usb_quirk_list[] = {
	{ USB_DEVICE(0x05cc, 0x2267), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },
	/* Ultima Electronics Corp.*/
	{ USB_DEVICE(0x05d8, 0x4005), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },

	/* Genesys USB-to-IDE */
	{ USB_DEVICE(0x0503, 0x0702), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },

	/* USB Graphical LCD - EEH Datalink GmbH */
	{ USB_DEVICE(0x060c, 0x04eb), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },

	/* INTEL VALUE SSD */
	{ USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },

	/* M-Systems Flash Disk Pioneers */
	{ USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },

	/* Agfa Snapscan1212u */
	{ USB_DEVICE(0x06bd, 0x2061), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },
	/* Seagate RSS LLC */
@@ -87,6 +106,12 @@ static const struct usb_device_id usb_quirk_list[] = {
	{ USB_DEVICE(0x0fca, 0x0004), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },
	{ USB_DEVICE(0x0fca, 0x0006), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },

	/* Apple iPhone */
	{ USB_DEVICE(0x05ac, 0x1290), .driver_info = USB_QUIRK_NO_AUTOSUSPEND },

	/* SKYMEDI USB_DRIVE */
	{ USB_DEVICE(0x1516, 0x8628), .driver_info = USB_QUIRK_RESET_RESUME },

	{ }  /* terminating entry must be last */
};

+15 −10
Original line number Diff line number Diff line
@@ -1691,14 +1691,12 @@ static int gs_setup_class(struct usb_gadget *gadget,

	switch (ctrl->bRequest) {
	case USB_CDC_REQ_SET_LINE_CODING:
		ret = min(wLength,
			(u16)sizeof(struct usb_cdc_line_coding));
		if (port) {
			spin_lock(&port->port_lock);
			memcpy(&port->port_line_coding, req->buf, ret);
			spin_unlock(&port->port_lock);
		}
		ret = 0;
		/* FIXME Submit req to read the data; have its completion
		 * handler copy that data to port->port_line_coding (iff
		 * it's valid) and maybe pass it on.  Until then, fail.
		 */
		printk(KERN_WARNING "gs_setup: set_line_coding "
				"unuspported\n");
		break;

	case USB_CDC_REQ_GET_LINE_CODING:
@@ -1713,11 +1711,18 @@ static int gs_setup_class(struct usb_gadget *gadget,
		break;

	case USB_CDC_REQ_SET_CONTROL_LINE_STATE:
		ret = 0;
		/* FIXME Submit req to read the data; have its completion
		 * handler use that to set the state (iff it's valid) and
		 * maybe pass it on.  Until then, fail.
		 */
		printk(KERN_WARNING "gs_setup: set_control_line_state "
				"unuspported\n");
		break;

	default:
		printk(KERN_ERR "gs_setup: unknown class request, type=%02x, request=%02x, value=%04x, index=%04x, length=%d\n",
		printk(KERN_ERR "gs_setup: unknown class request, "
				"type=%02x, request=%02x, value=%04x, "
				"index=%04x, length=%d\n",
			ctrl->bRequestType, ctrl->bRequest,
			wValue, wIndex, wLength);
		break;
+1 −0
Original line number Diff line number Diff line
@@ -3404,6 +3404,7 @@ static void sisusb_disconnect(struct usb_interface *intf)
}

static struct usb_device_id sisusb_table [] = {
	{ USB_DEVICE(0x0711, 0x0550) },
	{ USB_DEVICE(0x0711, 0x0900) },
	{ USB_DEVICE(0x0711, 0x0901) },
	{ USB_DEVICE(0x0711, 0x0902) },
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ static void free_dynids(struct usb_serial_driver *drv)
static struct driver_attribute drv_attrs[] = {
	__ATTR_NULL,
};
static inline void free_dynids(struct usb_driver *drv)
static inline void free_dynids(struct usb_serial_driver *drv)
{
}
#endif
Loading