Johan Hovold | 4 Jan 18:45 2015

[PATCH] USB: option: clean up blacklist handling

Clean up the unnecessarily complicated blacklist implementation

Signed-off-by: Johan Hovold <johan@...>
 drivers/usb/serial/option.c | 60 +++++++++++----------------------------------
 1 file changed, 14 insertions(+), 46 deletions(-)

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 7a4c21b4f676..97e7e4142eae 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
 <at>  <at>  -505,18 +505,10  <at>  <at>  static void option_instat_callback(struct urb *urb);
 #define VIATELECOM_VENDOR_ID			0x15eb
 #define VIATELECOM_PRODUCT_CDS7			0x0001

-/* some devices interfaces need special handling due to a number of reasons */
-enum option_blacklist_reason {
-#define MAX_BL_NUM  8
 struct option_blacklist_info {
-	/* bitfield of interface numbers for OPTION_BLACKLIST_SENDSETUP */
+	/* bitmask of interface numbers blacklisted for send_setup */
 	const unsigned long sendsetup;
-	/* bitfield of interface numbers for OPTION_BLACKLIST_RESERVED_IF */
+	/* bitmask of interface numbers that are reserved */
(Continue reading)

Andreas Thalhammer | 3 Jan 19:45 2015

xhci_hcd: ERROR Transfer event for disabled endpoint or incorrect stream ring

As requested re-sent 1:1 on linux-usb@... <mailto:linux-usb@...>;
original report is


I connected my external USB 3.0 storage via a PCIe USB 3.0 expansion card.

This is the relevant dmesg output:
[ 1395.741441] usb 4-3: new SuperSpeed USB device number 2 using xhci_hcd
[ 1395.755507] usb 4-3: New USB device found, idVendor=06ca, idProduct=b0b9
[ 1395.755517] usb 4-3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[ 1395.755523] usb 4-3: Product: Voyager Q
[ 1395.755557] usb 4-3: Manufacturer: JMicron
[ 1395.755562] usb 4-3: SerialNumber: 00000000000000000000
[ 1395.763659] scsi host10: uas
[ 1395.764317] scsi 10:0:0:0: Direct-Access     Voyager  Q                0108 PQ: 0 ANSI: 6
[ 1395.765413] sd 10:0:0:0: Attached scsi generic sg5 type 0
[ 1395.765630] sd 10:0:0:0: [sde] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
[ 1395.766517] sd 10:0:0:0: [sde] Write Protect is off
[ 1395.766521] sd 10:0:0:0: [sde] Mode Sense: 67 00 10 08
[ 1395.766930] sd 10:0:0:0: [sde] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 1395.767587] xhci_hcd 0000:04:00.0: ERROR Transfer event for disabled endpoint or incorrect stream ring
[ 1395.767591] xhci_hcd 0000:04:00.0:  <at> 00000000000024b0 00000000 00000000 1b000000 01078000
[ 1395.807058]  sde: sde1
[ 1395.809151] sd 10:0:0:0: [sde] Attached SCSI disk
[ 1400.190069] EXT4-fs (sde1): mounted filesystem with ordered data mode. Opts: (null)

The drive works as expected thou, or I just don't see the fault if there is one.

lspci -nn | grep USB
(Continue reading)

Daniel Tang | 3 Jan 12:53 2015

Possible race condition in USB gadget probing?


I’ve run into a problem which I suspect is to with how usb_gadget_probe_driver 
is implemented in drivers/usb/gadget/udc/udc-core.c

I have an embedded system that uses the Chipidea OTG controller. Unfortunately, 
when it boots up, the driver is loaded but there’s no USB gadget that gets 
attached to it. I’m building the USB gadget support into the kernel.

Here’s a snippet of the boot log:

Console: switching to colour frame buffer device 40x30
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
Serial: AMBA driver
brd: module loaded
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
zevio_usb b0000000.usb: ci_hdrc_zevio_probe
zevio_usb b0000000.usb: ci_hdrc_add_device failed!
platform b0000000.usb: Driver zevio_usb requests probe deferral
userial_init: registered 4 ttyGS* devices
couldn't find an available UDC
mousedev: PS/2 mouse device common for all mice
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
zevio_usb b0000000.usb: ci_hdrc_zevio_probe
ci_hdrc ci_hdrc.0: ChipIdea HDRC found, lpm: 0; cap: c4882100 op: c4882140
ci_hdrc ci_hdrc.0: It is OTG capable controller
USB VBUS output: disabling
RAMDISK: gzip image found at block 0

(Continue reading)

Mian Yousaf Kaukab | 2 Jan 15:42 2015

[PATCH v2 00/30] usb: updates for dwc2 gadget driver

This patchset consists of various bug fixes and feature enhancements for the
dwc2 gadget driver. All the patches are verified on dwc2 v3.0a with dedicated
fifos. Main focus of testing was with dma enabled. Although basic testing
without dma was also done.

It is based on testing/next branch in Felipe's git with applied on top.

Thank you,

Best regards,

 - Rebased to Felipe's testing/next with
   applied on top.
 - Fixed comments from  Robert Baldyga
 - Some cosmetic changes
 - Replaced usb: dwc2: gadget: process setup packet on transfer complete
   usb: dwc2: gadget: don't process XferCompl on setup packet
 - Updated usb: dwc2: gadget: provide gadget handle to the phy
   so that otg_set_peripheral is called in both udc_start and udc_stop.

 - Addressed comments from Sergei Shtylyov

Gregory Herrero (13):
(Continue reading)

Rene Armes | 2 Jan 01:26 2015

Pls add VID/PID

Hi and a happy New year,

Please add VID 0x243d PID 0001 to USB-serial generic driver. That is a heating control running on STM32F1xx
and provide a VCP based of STMs VCP lib. It also provide a mass storage, but this is correct detected.

To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@...
More majordomo info at

Thomas Eriksson | 31 Dec 20:59 2014

Another Seagate USB 3 device that needs uas blacklisting - 0bc2:2321


Trying to use a Seagate Expansion 2TB disk 0bc2:2321 and getting errors like 

Dec 30 17:00:09 kiwis kernel: [882332.028518] sd 9:0:0:0: [sdb] 
uas_eh_abort_handler ffff88007397b500 tag 10, inflight: CMD OUT
Dec 30 17:00:12 kiwis kernel: [882335.033621] scsi host9: uas_eh_task_mgmt: 
ABORT TASK timed out

and much more...

Using "usb-storage.quirks=0bc2:2321:u" as kernel arguments fixes the problem 
so I assume that the following patch would be appropriate.

*** unusual_uas.h.orig	2014-12-18 19:20:12.000000000 -0800
--- unusual_uas.h	2014-12-31 11:36:03.000000000 -0800
*** 47,52 ****
--- 47,59 ----

+ /* Reported by: Thomas Eriksson <lterik@...> */
+ UNUSUAL_DEV(0x0bc2, 0x2321, 0x0000, 0x9999,
+ 		"Seagate",
+ 		"Expansion",
+ 		US_FL_NO_ATA_1X),
(Continue reading)

Neil Trotter | 30 Dec 23:34 2014

Cash Donation For You

Hello friend!

my name is Neil Trotter, I'm from South London UK. In the month of March 2014
I won £108m in the Euro Million Lottery after which i had to set up a charity
project in other to spread this great fortune. Willingly am donating £1m each
to five unknown individuals in my ongoing charity scheme. If you have received
this mail then your are one of my lucky winners. Get back to me with your
name,address and phone number for more details on how you can receive your

See article of my winning below:

Neil Trotter Donation Scheme.

To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@...
More majordomo info at

Alexandra Tobias | 30 Dec 15:08 2014

E-mail® Account

Our records indicate that your E-mail® Account could not be automatically updated with our F-Secure
R-HTK4S new(2015) version anti-spam/anti-virus/anti-spyware. Please click this link below to update manually

We Are Sorry For Any Inconvenience.

Technical Support Team
Copyright © 2014. All Rights Reserved
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@...
More majordomo info at

Laurent Pinchart | 30 Dec 12:49 2014

[PATCH v3 00/20] Add UDC support to the isp1760 driver


This patch set adds UDC support to the isp1760 driver, to be used with the
ISP1761 dual-role USB controller.

The first 17 patches rework the isp1760 driver to prepare it for UDC support.
In particular they removes the direct HCD dependencies from the glue code
(01/20 to 04/20), creates core initialization code shared by the HCD and UDC
(15/20) and move common initialization code to the core (16/20 to 17/20).

Patch 18/20 adds UDC support, and patches 19/20 and 20/20 move the driver to
drivers/usb/isp1760/ and make HCD support optional.

The ISP1761 has three USB ports, with port 1 configurable in host or peripheral
mode with OTG support, and ports 2 and 3 supporting host mode only. OTG
support is not implemented yet, port 1 can thus be configured in host or
peripheral mode only.

The UDC driver has been successfully tested with the g_zero and g_mass_storage

Global changes compared to v2:

- Rebase on top of Felipe's testing/next branch
- Drop patches that have been merged already
- Add patch 19/20 and 20/20

Global changes compared to v1:

- Replace GPIO request move by patch 01/22
(Continue reading)

Peter Chen | 30 Dec 07:02 2014

[PATCH 1/1] usb: phy: change some comments

- Delete the OTG stuffs
- .set_suspend is for controller, not for A-device or B-device.

Signed-off-by: Peter Chen <peter.chen@...>
 include/linux/usb/phy.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/usb/phy.h b/include/linux/usb/phy.h
index f499c23..bc91b5d 100644
--- a/include/linux/usb/phy.h
+++ b/include/linux/usb/phy.h
 <at>  <at>  -1,5 +1,5  <at>  <at> 
-/* USB OTG (On The Go) defines */
+ * USB PHY defines
  * These APIs may be used between USB controllers.  USB device drivers
  * (for either host or peripheral roles) don't use these calls; they
 <at>  <at>  -106,7 +106,7  <at>  <at>  struct usb_phy {
 	int	(*set_power)(struct usb_phy *x,
 				unsigned mA);

-	/* for non-OTG B devices: set transceiver into suspend mode */
+	/* Set transceiver into suspend mode */
 	int	(*set_suspend)(struct usb_phy *x,
 				int suspend);


(Continue reading)

anto1945 | 29 Dec 22:18 2014

Tell ... to add your device to a proper driver.


I send you this e-mail beacuse a read a warning message in kernel log files.
I hope this can help...

[  485.687201] usbserial_generic 1-1.1:1.2: The "generic" usb-serial  
driver is only for testing and one-off prototypes.
[  485.687206] usbserial_generic 1-1.1:1.2: Tell  
linux-usb@... to add your device to a proper driver.

I use a Kernel v.3.16.0 in Debian.
I'm tring to use my usb mobile broadband device named
2020:4000 (vendor:product)
I'm loaded usbserial typing:
modprobe -v usbserial vendor=0x2020 product=0x4000

Using wvdial to connect, I use some AT commands
The first two are [OK] but with the latest say: "bad init string"

Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+cgdcont=1,"ip",""

After my signature, there is the output before and after the modprobe command

thank you
(Continue reading)