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

Commit 3797455f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  USB: pl2303: add id for Hewlett-Packard LD220-HP POS pole display
  USB: set correct configuration in probe of ti_usb_3410_5052
  USB: add 5372:2303 to pl2303
  USB: skip Set-Interface(0) if already in altsetting 0
  USB: fix comment about endianness of descriptors
  USB: Documentation/usb/gadget_serial.txt: update to match driver use_acm behaviour
  usbmon: drop bogus 0t from usbmon.txt
  USB: gadget: fix rndis working at high speed
  USB: ftdi_sio: Adding Ewert Energy System's CANdapter PID
  USB: tty: SprogII DCC controller identifiers
  usb-storage: update unusual_devs entry for Nokia 5310
  USB: Unusual devs patch for Nokia 3500c
  USB: storage: unusual_devs.h: Nokia 3109c addition
  USB: fix problem with usbtmc driver not loading properly
parents 5b8bd54d af4b8514
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -114,11 +114,11 @@ modules.
Then you must load the gadget serial driver.  To load it as an
Then you must load the gadget serial driver.  To load it as an
ACM device (recommended for interoperability), do this:
ACM device (recommended for interoperability), do this:


  modprobe g_serial use_acm=1
  modprobe g_serial


To load it as a vendor specific bulk in/out device, do this:
To load it as a vendor specific bulk in/out device, do this:


  modprobe g_serial
  modprobe g_serial use_acm=0


This will also automatically load the underlying gadget peripheral
This will also automatically load the underlying gadget peripheral
controller driver.  This must be done each time you reboot the gadget
controller driver.  This must be done each time you reboot the gadget
+4 −2
Original line number Original line Diff line number Diff line
@@ -49,8 +49,10 @@ it and 002/048 sometime later.


These files can be read as binary data.  The binary data consists
These files can be read as binary data.  The binary data consists
of first the device descriptor, then the descriptors for each
of first the device descriptor, then the descriptors for each
configuration of the device.  That information is also shown in
configuration of the device.  Multi-byte fields in the device and
text form by the /proc/bus/usb/devices file, described later.
configuration descriptors, but not other descriptors, are converted
to host endianness by the kernel.  This information is also shown
in text form by the /proc/bus/usb/devices file, described later.


These files may also be used to write user-level drivers for the USB
These files may also be used to write user-level drivers for the USB
devices.  You would open the /proc/bus/usb/BBB/DDD file read/write,
devices.  You would open the /proc/bus/usb/BBB/DDD file read/write,
+7 −5
Original line number Original line Diff line number Diff line
@@ -34,11 +34,12 @@ if usbmon is built into the kernel.
Verify that bus sockets are present.
Verify that bus sockets are present.


# ls /sys/kernel/debug/usbmon
# ls /sys/kernel/debug/usbmon
0s  0t  0u  1s  1t  1u  2s  2t  2u  3s  3t  3u  4s  4t  4u
0s  0u  1s  1t  1u  2s  2t  2u  3s  3t  3u  4s  4t  4u
#
#


Now you can choose to either use the sockets numbered '0' (to capture packets on
Now you can choose to either use the socket '0u' (to capture packets on all
all buses), and skip to step #3, or find the bus used by your device with step #2.
buses), and skip to step #3, or find the bus used by your device with step #2.
This allows to filter away annoying devices that talk continuously.


2. Find which bus connects to the desired device
2. Find which bus connects to the desired device


@@ -99,8 +100,9 @@ on the event type, but there is a set of words, common for all types.


Here is the list of words, from left to right:
Here is the list of words, from left to right:


- URB Tag. This is used to identify URBs is normally a kernel mode address
- URB Tag. This is used to identify URBs, and is normally an in-kernel address
 of the URB structure in hexadecimal.
  of the URB structure in hexadecimal, but can be a sequence number or any
  other unique string, within reason.


- Timestamp in microseconds, a decimal number. The timestamp's resolution
- Timestamp in microseconds, a decimal number. The timestamp's resolution
  depends on available clock, and so it can be much worse than a microsecond
  depends on available clock, and so it can be much worse than a microsecond
+1 −0
Original line number Original line Diff line number Diff line
@@ -51,6 +51,7 @@ static struct usb_device_id usbtmc_devices[] = {
	{ USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 0), },
	{ USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 0), },
	{ 0, } /* terminating entry */
	{ 0, } /* terminating entry */
};
};
MODULE_DEVICE_TABLE(usb, usbtmc_devices);


/*
/*
 * This structure is the capabilities for the device
 * This structure is the capabilities for the device
+3 −1
Original line number Original line Diff line number Diff line
@@ -279,7 +279,9 @@ static int usb_unbind_interface(struct device *dev)
	 * altsetting means creating new endpoint device entries).
	 * altsetting means creating new endpoint device entries).
	 * When either of these happens, defer the Set-Interface.
	 * When either of these happens, defer the Set-Interface.
	 */
	 */
	if (!error && intf->dev.power.status == DPM_ON)
	if (intf->cur_altsetting->desc.bAlternateSetting == 0)
		;	/* Already in altsetting 0 so skip Set-Interface */
	else if (!error && intf->dev.power.status == DPM_ON)
		usb_set_interface(udev, intf->altsetting[0].
		usb_set_interface(udev, intf->altsetting[0].
				desc.bInterfaceNumber, 0);
				desc.bInterfaceNumber, 0);
	else
	else
Loading