Skip to content

Commit b357fd1

Browse files
committed
Merge tag 'usb-6.0-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB/Thunderbolt fixes from Greg KH: "Here are some tiny USB and Thunderbolt driver fixes and quirks. Included in here are: - three uas/usb-storage driver quirks to get the devices working properly due to broken firmware images in them (they can not run at high data rates, and are also throttled on other operating systems because of this) - thunderbolt bugfix for plug event delays - typec runtime warning removal - dwc3 st driver bugfix. Note, a follow-on fix for this will end up coming in for 6.1-rc1 as the developers are still arguing over what the final solution will be, but this should be sufficient for now All of these have been in linux-next with no reported problems" * tag 'usb-6.0-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: uas: ignore UAS for Thinkplus chips usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS uas: add no-uas quirk for Hiksemi usb_disk usb: dwc3: st: Fix node's child name usb: typec: ucsi: Remove incorrect warning thunderbolt: Explicitly reset plug events delay back to USB4 spec value
2 parents 89f2ddc + 0fb9703 commit b357fd1

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

drivers/thunderbolt/switch.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2413,6 +2413,7 @@ int tb_switch_configure(struct tb_switch *sw)
24132413
* additional capabilities.
24142414
*/
24152415
sw->config.cmuv = USB4_VERSION_1_0;
2416+
sw->config.plug_events_delay = 0xa;
24162417

24172418
/* Enumerate the switch */
24182419
ret = tb_sw_write(sw, (u32 *)&sw->config + 1, TB_CFG_SWITCH,

drivers/usb/dwc3/dwc3-st.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ static int st_dwc3_probe(struct platform_device *pdev)
251251
/* Manage SoftReset */
252252
reset_control_deassert(dwc3_data->rstc_rst);
253253

254-
child = of_get_child_by_name(node, "dwc3");
254+
child = of_get_child_by_name(node, "usb");
255255
if (!child) {
256256
dev_err(&pdev->dev, "failed to find dwc3 core node\n");
257257
ret = -ENODEV;

drivers/usb/storage/unusual_uas.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@ UNUSUAL_DEV(0x059f, 0x1061, 0x0000, 0x9999,
5252
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
5353
US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME),
5454

55+
/* Reported-by: Hongling Zeng <[email protected]> */
56+
UNUSUAL_DEV(0x090c, 0x2000, 0x0000, 0x9999,
57+
"Hiksemi",
58+
"External HDD",
59+
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
60+
US_FL_IGNORE_UAS),
61+
5562
/*
5663
* Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI
5764
* commands in UAS mode. Observed with the 1.28 firmware; are there others?
@@ -76,6 +83,13 @@ UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999,
7683
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
7784
US_FL_NO_REPORT_LUNS),
7885

86+
/* Reported-by: Hongling Zeng <[email protected]> */
87+
UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0x9999,
88+
"Hiksemi",
89+
"External HDD",
90+
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
91+
US_FL_IGNORE_UAS),
92+
7993
/* Reported-by: Benjamin Tissoires <[email protected]> */
8094
UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
8195
"Initio Corporation",
@@ -118,6 +132,13 @@ UNUSUAL_DEV(0x154b, 0xf00d, 0x0000, 0x9999,
118132
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
119133
US_FL_NO_ATA_1X),
120134

135+
/* Reported-by: Hongling Zeng <[email protected]> */
136+
UNUSUAL_DEV(0x17ef, 0x3899, 0x0000, 0x9999,
137+
"Thinkplus",
138+
"External HDD",
139+
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
140+
US_FL_IGNORE_UAS),
141+
121142
/* Reported-by: Hans de Goede <[email protected]> */
122143
UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
123144
"VIA",

drivers/usb/typec/ucsi/ucsi.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -588,8 +588,6 @@ static int ucsi_get_pdos(struct ucsi_connector *con, int is_partner,
588588
num_pdos * sizeof(u32));
589589
if (ret < 0 && ret != -ETIMEDOUT)
590590
dev_err(ucsi->dev, "UCSI_GET_PDOS failed (%d)\n", ret);
591-
if (ret == 0 && offset == 0)
592-
dev_warn(ucsi->dev, "UCSI_GET_PDOS returned 0 bytes\n");
593591

594592
return ret;
595593
}

0 commit comments

Comments
 (0)