Commit 73dc61cb386b0fdc488e8c6545817c1bbbb6e93e
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
Merge tag 'usb-3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB fixes from Greg KH: "Here are some small USB fixes and quirk additions for 3.19-rc7. All have been in linux-next for a while with no reported problems" * tag 'usb-3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: USB: Add OTG PET device to TPL usb-storage/SCSI: blacklist FUA on JMicron 152d:2566 USB-SATA controller uas: Add no-report-opcodes quirk for Simpletech devices with id 4971:8017 storage: Revise/fix quirk for 04E6:000F SCM USB-SCSI converter usb: phy: never defer probe in non-OF case usb: dwc2: call dwc2_is_controller_alive() under spinlock
Showing 6 changed files Side-by-side Diff
drivers/usb/core/otg_whitelist.h
... | ... | @@ -55,6 +55,11 @@ |
55 | 55 | le16_to_cpu(dev->descriptor.idProduct) == 0xbadd)) |
56 | 56 | return 0; |
57 | 57 | |
58 | + /* OTG PET device is always targeted (see OTG 2.0 ECN 6.4.2) */ | |
59 | + if ((le16_to_cpu(dev->descriptor.idVendor) == 0x1a0a && | |
60 | + le16_to_cpu(dev->descriptor.idProduct) == 0x0200)) | |
61 | + return 1; | |
62 | + | |
58 | 63 | /* NOTE: can't use usb_match_id() since interface caches |
59 | 64 | * aren't set up yet. this is cut/paste from that code. |
60 | 65 | */ |
drivers/usb/core/quirks.c
... | ... | @@ -179,6 +179,10 @@ |
179 | 179 | { USB_DEVICE(0x0b05, 0x17e0), .driver_info = |
180 | 180 | USB_QUIRK_IGNORE_REMOTE_WAKEUP }, |
181 | 181 | |
182 | + /* Protocol and OTG Electrical Test Device */ | |
183 | + { USB_DEVICE(0x1a0a, 0x0200), .driver_info = | |
184 | + USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL }, | |
185 | + | |
182 | 186 | { } /* terminating entry must be last */ |
183 | 187 | }; |
184 | 188 |
drivers/usb/dwc2/core_intr.c
... | ... | @@ -476,13 +476,13 @@ |
476 | 476 | u32 gintsts; |
477 | 477 | irqreturn_t retval = IRQ_NONE; |
478 | 478 | |
479 | + spin_lock(&hsotg->lock); | |
480 | + | |
479 | 481 | if (!dwc2_is_controller_alive(hsotg)) { |
480 | 482 | dev_warn(hsotg->dev, "Controller is dead\n"); |
481 | 483 | goto out; |
482 | 484 | } |
483 | 485 | |
484 | - spin_lock(&hsotg->lock); | |
485 | - | |
486 | 486 | gintsts = dwc2_read_common_intr(hsotg); |
487 | 487 | if (gintsts & ~GINTSTS_PRTINT) |
488 | 488 | retval = IRQ_HANDLED; |
489 | 489 | |
... | ... | @@ -515,8 +515,8 @@ |
515 | 515 | } |
516 | 516 | } |
517 | 517 | |
518 | - spin_unlock(&hsotg->lock); | |
519 | 518 | out: |
519 | + spin_unlock(&hsotg->lock); | |
520 | 520 | return retval; |
521 | 521 | } |
522 | 522 | EXPORT_SYMBOL_GPL(dwc2_handle_common_intr); |
drivers/usb/phy/phy.c
drivers/usb/storage/unusual_devs.h
... | ... | @@ -507,7 +507,7 @@ |
507 | 507 | UNUSUAL_DEV( 0x04e6, 0x000f, 0x0000, 0x9999, |
508 | 508 | "SCM Microsystems", |
509 | 509 | "eUSB SCSI Adapter (Bus Powered)", |
510 | - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init, | |
510 | + USB_SC_SCSI, USB_PR_BULK, usb_stor_euscsi_init, | |
511 | 511 | US_FL_SCM_MULT_TARG ), |
512 | 512 | |
513 | 513 | UNUSUAL_DEV( 0x04e6, 0x0101, 0x0200, 0x0200, |
... | ... | @@ -1994,6 +1994,13 @@ |
1994 | 1994 | "USB to ATA/ATAPI Bridge", |
1995 | 1995 | USB_SC_DEVICE, USB_PR_DEVICE, NULL, |
1996 | 1996 | US_FL_IGNORE_RESIDUE | US_FL_SANE_SENSE ), |
1997 | + | |
1998 | +/* Reported by Dmitry Nezhevenko <dion@dion.org.ua> */ | |
1999 | +UNUSUAL_DEV( 0x152d, 0x2566, 0x0114, 0x0114, | |
2000 | + "JMicron", | |
2001 | + "USB to ATA/ATAPI Bridge", | |
2002 | + USB_SC_DEVICE, USB_PR_DEVICE, NULL, | |
2003 | + US_FL_BROKEN_FUA ), | |
1997 | 2004 | |
1998 | 2005 | /* Entrega Technologies U1-SC25 (later Xircom PortGear PGSCSI) |
1999 | 2006 | * and Mac USB Dock USB-SCSI */ |
drivers/usb/storage/unusual_uas.h
... | ... | @@ -140,4 +140,11 @@ |
140 | 140 | "External HDD", |
141 | 141 | USB_SC_DEVICE, USB_PR_DEVICE, NULL, |
142 | 142 | US_FL_IGNORE_UAS), |
143 | + | |
144 | +/* Reported-by: Richard Henderson <rth@redhat.com> */ | |
145 | +UNUSUAL_DEV(0x4971, 0x8017, 0x0000, 0x9999, | |
146 | + "SimpleTech", | |
147 | + "External HDD", | |
148 | + USB_SC_DEVICE, USB_PR_DEVICE, NULL, | |
149 | + US_FL_NO_REPORT_OPCODES), |