]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 2 Oct 2022 09:44:25 +0000 (11:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 2 Oct 2022 09:44:25 +0000 (11:44 +0200)
added patches:
arm-dts-integrator-tag-pci-host-with-device_type.patch
clk-ingenic-tcu-properly-enable-registers-before-accessing-timers.patch
input-snvs_pwrkey-fix-snvs_hpvidr1-register-address.patch
net-usb-qmi_wwan-add-new-usb-id-for-dell-branded-em7455.patch
thunderbolt-explicitly-reset-plug-events-delay-back-to-usb4-spec-value.patch
uas-add-no-uas-quirk-for-hiksemi-usb_disk.patch
uas-ignore-uas-for-thinkplus-chips.patch
usb-storage-add-hiksemi-usb3-fw-to-ignore_uas.patch
usb-typec-ucsi-remove-incorrect-warning.patch

queue-5.10/arm-dts-integrator-tag-pci-host-with-device_type.patch [new file with mode: 0644]
queue-5.10/clk-ingenic-tcu-properly-enable-registers-before-accessing-timers.patch [new file with mode: 0644]
queue-5.10/input-snvs_pwrkey-fix-snvs_hpvidr1-register-address.patch [new file with mode: 0644]
queue-5.10/net-usb-qmi_wwan-add-new-usb-id-for-dell-branded-em7455.patch [new file with mode: 0644]
queue-5.10/series
queue-5.10/thunderbolt-explicitly-reset-plug-events-delay-back-to-usb4-spec-value.patch [new file with mode: 0644]
queue-5.10/uas-add-no-uas-quirk-for-hiksemi-usb_disk.patch [new file with mode: 0644]
queue-5.10/uas-ignore-uas-for-thinkplus-chips.patch [new file with mode: 0644]
queue-5.10/usb-storage-add-hiksemi-usb3-fw-to-ignore_uas.patch [new file with mode: 0644]
queue-5.10/usb-typec-ucsi-remove-incorrect-warning.patch [new file with mode: 0644]

diff --git a/queue-5.10/arm-dts-integrator-tag-pci-host-with-device_type.patch b/queue-5.10/arm-dts-integrator-tag-pci-host-with-device_type.patch
new file mode 100644 (file)
index 0000000..c9ff17d
--- /dev/null
@@ -0,0 +1,32 @@
+From 4952aa696a9f221c5e34e5961e02fca41ef67ad6 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Mon, 19 Sep 2022 11:26:08 +0200
+Subject: ARM: dts: integrator: Tag PCI host with device_type
+
+From: Linus Walleij <linus.walleij@linaro.org>
+
+commit 4952aa696a9f221c5e34e5961e02fca41ef67ad6 upstream.
+
+The DT parser is dependent on the PCI device being tagged as
+device_type = "pci" in order to parse memory ranges properly.
+Fix this up.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20220919092608.813511-1-linus.walleij@linaro.org'
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm/boot/dts/integratorap.dts |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/boot/dts/integratorap.dts
++++ b/arch/arm/boot/dts/integratorap.dts
+@@ -153,6 +153,7 @@
+       pci: pciv3@62000000 {
+               compatible = "arm,integrator-ap-pci", "v3,v360epc-pci";
++              device_type = "pci";
+               #interrupt-cells = <1>;
+               #size-cells = <2>;
+               #address-cells = <3>;
diff --git a/queue-5.10/clk-ingenic-tcu-properly-enable-registers-before-accessing-timers.patch b/queue-5.10/clk-ingenic-tcu-properly-enable-registers-before-accessing-timers.patch
new file mode 100644 (file)
index 0000000..fa58d84
--- /dev/null
@@ -0,0 +1,76 @@
+From 6726d552a6912e88cf63fe2bda87b2efa0efc7d0 Mon Sep 17 00:00:00 2001
+From: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
+Date: Fri, 17 Jun 2022 13:22:54 +0100
+Subject: clk: ingenic-tcu: Properly enable registers before accessing timers
+
+From: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
+
+commit 6726d552a6912e88cf63fe2bda87b2efa0efc7d0 upstream.
+
+Access to registers is guarded by ingenic_tcu_{enable,disable}_regs()
+so the stop bit can be cleared before accessing a timer channel, but
+those functions did not clear the stop bit on SoCs with a global TCU
+clock gate.
+
+Testing on the X1000 has revealed that the stop bits must be cleared
+_and_ the global TCU clock must be ungated to access timer registers.
+This appears to be the norm on Ingenic SoCs, and is specified in the
+documentation for the X1000 and numerous JZ47xx SoCs.
+
+If the stop bit isn't cleared, register writes don't take effect and
+the system can be left in a broken state, eg. the watchdog timer may
+not run.
+
+The bug probably went unnoticed because stop bits are zeroed when
+the SoC is reset, and the kernel does not set them unless a timer
+gets disabled at runtime. However, it is possible that a bootloader
+or a previous kernel (if using kexec) leaves the stop bits set and
+we should not rely on them being cleared.
+
+Fixing this is easy: have ingenic_tcu_{enable,disable}_regs() always
+clear the stop bit, regardless of the presence of a global TCU gate.
+
+Reviewed-by: Paul Cercueil <paul@crapouillou.net>
+Tested-by: Paul Cercueil <paul@crapouillou.net>
+Fixes: 4f89e4b8f121 ("clk: ingenic: Add driver for the TCU clocks")
+Cc: stable@vger.kernel.org
+Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
+Link: https://lore.kernel.org/r/20220617122254.738900-1-aidanmacdonald.0x0@gmail.com
+Signed-off-by: Stephen Boyd <sboyd@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/clk/ingenic/tcu.c |   15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+--- a/drivers/clk/ingenic/tcu.c
++++ b/drivers/clk/ingenic/tcu.c
+@@ -100,15 +100,11 @@ static bool ingenic_tcu_enable_regs(stru
+       bool enabled = false;
+       /*
+-       * If the SoC has no global TCU clock, we must ungate the channel's
+-       * clock to be able to access its registers.
+-       * If we have a TCU clock, it will be enabled automatically as it has
+-       * been attached to the regmap.
++       * According to the programming manual, a timer channel's registers can
++       * only be accessed when the channel's stop bit is clear.
+        */
+-      if (!tcu->clk) {
+-              enabled = !!ingenic_tcu_is_enabled(hw);
+-              regmap_write(tcu->map, TCU_REG_TSCR, BIT(info->gate_bit));
+-      }
++      enabled = !!ingenic_tcu_is_enabled(hw);
++      regmap_write(tcu->map, TCU_REG_TSCR, BIT(info->gate_bit));
+       return enabled;
+ }
+@@ -119,8 +115,7 @@ static void ingenic_tcu_disable_regs(str
+       const struct ingenic_tcu_clk_info *info = tcu_clk->info;
+       struct ingenic_tcu *tcu = tcu_clk->tcu;
+-      if (!tcu->clk)
+-              regmap_write(tcu->map, TCU_REG_TSSR, BIT(info->gate_bit));
++      regmap_write(tcu->map, TCU_REG_TSSR, BIT(info->gate_bit));
+ }
+ static u8 ingenic_tcu_get_parent(struct clk_hw *hw)
diff --git a/queue-5.10/input-snvs_pwrkey-fix-snvs_hpvidr1-register-address.patch b/queue-5.10/input-snvs_pwrkey-fix-snvs_hpvidr1-register-address.patch
new file mode 100644 (file)
index 0000000..72d6601
--- /dev/null
@@ -0,0 +1,41 @@
+From e62563db857f81d75c5726a35bc0180bed6d1540 Mon Sep 17 00:00:00 2001
+From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
+Date: Tue, 27 Sep 2022 07:15:45 -0700
+Subject: Input: snvs_pwrkey - fix SNVS_HPVIDR1 register address
+
+From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
+
+commit e62563db857f81d75c5726a35bc0180bed6d1540 upstream.
+
+Both i.MX6 and i.MX8 reference manuals list 0xBF8 as SNVS_HPVIDR1
+(chapters 57.9 and 6.4.5 respectively).
+
+Without this, trying to read the revision number results in 0 on
+all revisions, causing the i.MX6 quirk to apply on all platforms,
+which in turn causes the driver to synthesise power button release
+events instead of passing the real one as they happen even on
+platforms like i.MX8 where that's not wanted.
+
+Fixes: 1a26c920717a ("Input: snvs_pwrkey - send key events for i.MX6 S, DL and Q")
+Tested-by: Martin Kepplinger <martin.kepplinger@puri.sm>
+Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
+Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
+Cc: <stable@vger.kernel.org>
+Link: https://lore.kernel.org/r/4599101.ElGaqSPkdT@pliszka
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/keyboard/snvs_pwrkey.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/input/keyboard/snvs_pwrkey.c
++++ b/drivers/input/keyboard/snvs_pwrkey.c
+@@ -20,7 +20,7 @@
+ #include <linux/mfd/syscon.h>
+ #include <linux/regmap.h>
+-#define SNVS_HPVIDR1_REG      0xF8
++#define SNVS_HPVIDR1_REG      0xBF8
+ #define SNVS_LPSR_REG         0x4C    /* LP Status Register */
+ #define SNVS_LPCR_REG         0x38    /* LP Control Register */
+ #define SNVS_HPSR_REG         0x14
diff --git a/queue-5.10/net-usb-qmi_wwan-add-new-usb-id-for-dell-branded-em7455.patch b/queue-5.10/net-usb-qmi_wwan-add-new-usb-id-for-dell-branded-em7455.patch
new file mode 100644 (file)
index 0000000..eaea068
--- /dev/null
@@ -0,0 +1,34 @@
+From 797666cd5af041ffb66642fff62f7389f08566a2 Mon Sep 17 00:00:00 2001
+From: Frank Wunderlich <frank-w@public-files.de>
+Date: Mon, 26 Sep 2022 17:07:40 +0200
+Subject: net: usb: qmi_wwan: Add new usb-id for Dell branded EM7455
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Frank Wunderlich <frank-w@public-files.de>
+
+commit 797666cd5af041ffb66642fff62f7389f08566a2 upstream.
+
+Add support for Dell 5811e (EM7455) with USB-id 0x413c:0x81c2.
+
+Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
+Cc: stable@vger.kernel.org
+Acked-by: Bjørn Mork <bjorn@mork.no>
+Link: https://lore.kernel.org/r/20220926150740.6684-3-linux@fw-web.de
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/usb/qmi_wwan.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/net/usb/qmi_wwan.c
++++ b/drivers/net/usb/qmi_wwan.c
+@@ -1332,6 +1332,7 @@ static const struct usb_device_id produc
+       {QMI_FIXED_INTF(0x413c, 0x81b3, 8)},    /* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card (rev3) */
+       {QMI_FIXED_INTF(0x413c, 0x81b6, 8)},    /* Dell Wireless 5811e */
+       {QMI_FIXED_INTF(0x413c, 0x81b6, 10)},   /* Dell Wireless 5811e */
++      {QMI_FIXED_INTF(0x413c, 0x81c2, 8)},    /* Dell Wireless 5811e */
+       {QMI_FIXED_INTF(0x413c, 0x81cc, 8)},    /* Dell Wireless 5816e */
+       {QMI_FIXED_INTF(0x413c, 0x81d7, 0)},    /* Dell Wireless 5821e */
+       {QMI_FIXED_INTF(0x413c, 0x81d7, 1)},    /* Dell Wireless 5821e preproduction config */
index daf79d3941c01582768df742a8deef646f0a9794..2dd2ea4069abbdd85642a7a83bf92efe7bffb2c5 100644 (file)
@@ -5,3 +5,12 @@ alsa-hda-tegra-reset-hardware.patch
 alsa-hda-hdmi-let-new-platforms-assign-the-pcm-slot-.patch
 alsa-hda-fix-nvidia-dp-infoframe.patch
 btrfs-fix-hang-during-unmount-when-stopping-a-space-.patch
+uas-add-no-uas-quirk-for-hiksemi-usb_disk.patch
+usb-storage-add-hiksemi-usb3-fw-to-ignore_uas.patch
+uas-ignore-uas-for-thinkplus-chips.patch
+usb-typec-ucsi-remove-incorrect-warning.patch
+thunderbolt-explicitly-reset-plug-events-delay-back-to-usb4-spec-value.patch
+net-usb-qmi_wwan-add-new-usb-id-for-dell-branded-em7455.patch
+input-snvs_pwrkey-fix-snvs_hpvidr1-register-address.patch
+clk-ingenic-tcu-properly-enable-registers-before-accessing-timers.patch
+arm-dts-integrator-tag-pci-host-with-device_type.patch
diff --git a/queue-5.10/thunderbolt-explicitly-reset-plug-events-delay-back-to-usb4-spec-value.patch b/queue-5.10/thunderbolt-explicitly-reset-plug-events-delay-back-to-usb4-spec-value.patch
new file mode 100644 (file)
index 0000000..4ed5b26
--- /dev/null
@@ -0,0 +1,35 @@
+From 31f87f705b3c1635345d8e8a493697099b43e508 Mon Sep 17 00:00:00 2001
+From: Mario Limonciello <mario.limonciello@amd.com>
+Date: Wed, 21 Sep 2022 09:54:32 -0500
+Subject: thunderbolt: Explicitly reset plug events delay back to USB4 spec value
+
+From: Mario Limonciello <mario.limonciello@amd.com>
+
+commit 31f87f705b3c1635345d8e8a493697099b43e508 upstream.
+
+If any software has interacted with the USB4 registers before the Linux
+USB4 CM runs, it may have modified the plug events delay. It has been
+observed that if this value too large, it's possible that hotplugged
+devices will negotiate a fallback mode instead in Linux.
+
+To prevent this, explicitly align the plug events delay with the USB4
+spec value of 10ms.
+
+Cc: stable@vger.kernel.org
+Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
+Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/thunderbolt/switch.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/thunderbolt/switch.c
++++ b/drivers/thunderbolt/switch.c
+@@ -2046,6 +2046,7 @@ int tb_switch_configure(struct tb_switch
+                * additional capabilities.
+                */
+               sw->config.cmuv = USB4_VERSION_1_0;
++              sw->config.plug_events_delay = 0xa;
+               /* Enumerate the switch */
+               ret = tb_sw_write(sw, (u32 *)&sw->config + 1, TB_CFG_SWITCH,
diff --git a/queue-5.10/uas-add-no-uas-quirk-for-hiksemi-usb_disk.patch b/queue-5.10/uas-add-no-uas-quirk-for-hiksemi-usb_disk.patch
new file mode 100644 (file)
index 0000000..04b0ca8
--- /dev/null
@@ -0,0 +1,50 @@
+From a625a4b8806cc1e928b7dd2cca1fee709c9de56e Mon Sep 17 00:00:00 2001
+From: Hongling Zeng <zenghongling@kylinos.cn>
+Date: Fri, 23 Sep 2022 10:46:13 +0800
+Subject: uas: add no-uas quirk for Hiksemi usb_disk
+
+From: Hongling Zeng <zenghongling@kylinos.cn>
+
+commit a625a4b8806cc1e928b7dd2cca1fee709c9de56e upstream.
+
+The UAS mode of Hiksemi is reported to fail to work on several platforms
+with the following error message, then after re-connecting the device will
+be offlined and not working at all.
+
+[  592.518442][ 2] sd 8:0:0:0: [sda] tag#17 uas_eh_abort_handler 0 uas-tag 18
+                   inflight: CMD
+[  592.527575][ 2] sd 8:0:0:0: [sda] tag#17 CDB: Write(10) 2a 00 03 6f 88 00 00
+                   04 00 00
+[  592.536330][ 2] sd 8:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1
+                   inflight: CMD
+[  592.545266][ 2] sd 8:0:0:0: [sda] tag#0 CDB: Write(10) 2a 00 07 44 1a 88 00
+                   00 08 00
+
+These disks have a broken uas implementation, the tag field of the status
+iu-s is not set properly,so we need to fall-back to usb-storage.
+
+Acked-by: Alan Stern <stern@rowland.harvard.edu>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn>
+Link: https://lore.kernel.org/r/1663901173-21020-1-git-send-email-zenghongling@kylinos.cn
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/storage/unusual_uas.h |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/usb/storage/unusual_uas.h
++++ b/drivers/usb/storage/unusual_uas.h
+@@ -52,6 +52,13 @@ UNUSUAL_DEV(0x059f, 0x1061, 0x0000, 0x99
+               USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+               US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME),
++/* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
++UNUSUAL_DEV(0x090c, 0x2000, 0x0000, 0x9999,
++              "Hiksemi",
++              "External HDD",
++              USB_SC_DEVICE, USB_PR_DEVICE, NULL,
++              US_FL_IGNORE_UAS),
++
+ /*
+  * Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI
+  * commands in UAS mode.  Observed with the 1.28 firmware; are there others?
diff --git a/queue-5.10/uas-ignore-uas-for-thinkplus-chips.patch b/queue-5.10/uas-ignore-uas-for-thinkplus-chips.patch
new file mode 100644 (file)
index 0000000..e5ab539
--- /dev/null
@@ -0,0 +1,60 @@
+From 0fb9703a3eade0bb84c635705d9c795345e55053 Mon Sep 17 00:00:00 2001
+From: Hongling Zeng <zenghongling@kylinos.cn>
+Date: Fri, 23 Sep 2022 10:46:35 +0800
+Subject: uas: ignore UAS for Thinkplus chips
+
+From: Hongling Zeng <zenghongling@kylinos.cn>
+
+commit 0fb9703a3eade0bb84c635705d9c795345e55053 upstream.
+
+The UAS mode of Thinkplus(0x17ef, 0x3899) is reported to influence
+performance and trigger kernel panic on several platforms with the
+following error message:
+
+[   39.702439] xhci_hcd 0000:0c:00.3: ERROR Transfer event for disabled
+               endpoint or incorrect stream ring
+[   39.702442] xhci_hcd 0000:0c:00.3: @000000026c61f810 00000000 00000000
+               1b000000 05038000
+
+[  720.545894][13] Workqueue: usb_hub_wq hub_event
+[  720.550971][13]  ffff88026c143c38 0000000000016300 ffff8802755bb900 ffff880
+                    26cb80000
+[  720.559673][13]  ffff88026c144000 ffff88026ca88100 0000000000000000 ffff880
+                    26cb80000
+[  720.568374][13]  ffff88026cb80000 ffff88026c143c50 ffffffff8186ae25 ffff880
+                    26ca880f8
+[  720.577076][13] Call Trace:
+[  720.580201][13]  [<ffffffff8186ae25>] schedule+0x35/0x80
+[  720.586137][13]  [<ffffffff8186b0ce>] schedule_preempt_disabled+0xe/0x10
+[  720.593623][13]  [<ffffffff8186cb94>] __mutex_lock_slowpath+0x164/0x1e0
+[  720.601012][13]  [<ffffffff8186cc3f>] mutex_lock+0x2f/0x40
+[  720.607141][13]  [<ffffffff8162b8e9>] usb_disconnect+0x59/0x290
+
+Falling back to USB mass storage can solve this problem, so ignore UAS
+function of this chip.
+
+Acked-by: Alan Stern <stern@rowland.harvard.edu>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn>
+Link: https://lore.kernel.org/r/1663902249837086.19.seg@mailgw
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/storage/unusual_uas.h |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/usb/storage/unusual_uas.h
++++ b/drivers/usb/storage/unusual_uas.h
+@@ -132,6 +132,13 @@ UNUSUAL_DEV(0x154b, 0xf00d, 0x0000, 0x99
+               USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+               US_FL_NO_ATA_1X),
++/* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
++UNUSUAL_DEV(0x17ef, 0x3899, 0x0000, 0x9999,
++              "Thinkplus",
++              "External HDD",
++              USB_SC_DEVICE, USB_PR_DEVICE, NULL,
++              US_FL_IGNORE_UAS),
++
+ /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
+ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
+               "VIA",
diff --git a/queue-5.10/usb-storage-add-hiksemi-usb3-fw-to-ignore_uas.patch b/queue-5.10/usb-storage-add-hiksemi-usb3-fw-to-ignore_uas.patch
new file mode 100644 (file)
index 0000000..7fb8413
--- /dev/null
@@ -0,0 +1,50 @@
+From e00b488e813f0f1ad9f778e771b7cd2fe2877023 Mon Sep 17 00:00:00 2001
+From: Hongling Zeng <zenghongling@kylinos.cn>
+Date: Fri, 23 Sep 2022 10:46:25 +0800
+Subject: usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS
+
+From: Hongling Zeng <zenghongling@kylinos.cn>
+
+commit e00b488e813f0f1ad9f778e771b7cd2fe2877023 upstream.
+
+The UAS mode of Hiksemi USB_HDD is reported to fail to work on several
+platforms with the following error message, then after re-connecting the
+device will be offlined and not working at all.
+
+[  592.518442][ 2] sd 8:0:0:0: [sda] tag#17 uas_eh_abort_handler 0 uas-tag 18
+                   inflight: CMD
+[  592.527575][ 2] sd 8:0:0:0: [sda] tag#17 CDB: Write(10) 2a 00 03 6f 88 00 00
+                   04 00 00
+[  592.536330][ 2] sd 8:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1
+                   inflight: CMD
+[  592.545266][ 2] sd 8:0:0:0: [sda] tag#0 CDB: Write(10) 2a 00 07 44 1a 88 00
+                   00 08 00
+
+These disks have a broken uas implementation, the tag field of the status
+iu-s is not set properly,so we need to fall-back to usb-storage.
+
+Acked-by: Alan Stern <stern@rowland.harvard.edu>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn>
+Link: https://lore.kernel.org/r/1663901185-21067-1-git-send-email-zenghongling@kylinos.cn
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/storage/unusual_uas.h |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/usb/storage/unusual_uas.h
++++ b/drivers/usb/storage/unusual_uas.h
+@@ -83,6 +83,13 @@ UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x99
+               USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+               US_FL_NO_REPORT_LUNS),
++/* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
++UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0x9999,
++              "Hiksemi",
++              "External HDD",
++              USB_SC_DEVICE, USB_PR_DEVICE, NULL,
++              US_FL_IGNORE_UAS),
++
+ /* Reported-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> */
+ UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
+               "Initio Corporation",
diff --git a/queue-5.10/usb-typec-ucsi-remove-incorrect-warning.patch b/queue-5.10/usb-typec-ucsi-remove-incorrect-warning.patch
new file mode 100644 (file)
index 0000000..9e911f6
--- /dev/null
@@ -0,0 +1,36 @@
+From 415ba26cb73f7d22a892043301b91b57ae54db02 Mon Sep 17 00:00:00 2001
+From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+Date: Thu, 22 Sep 2022 17:59:24 +0300
+Subject: usb: typec: ucsi: Remove incorrect warning
+
+From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+
+commit 415ba26cb73f7d22a892043301b91b57ae54db02 upstream.
+
+Sink only devices do not have any source capabilities, so
+the driver should not warn about that. Also DRP (Dual Role
+Power) capable devices, such as USB Type-C docking stations,
+do not return any source capabilities unless they are
+plugged to a power supply themselves.
+
+Fixes: 1f4642b72be7 ("usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4")
+Reported-by: Paul Menzel <pmenzel@molgen.mpg.de>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+Link: https://lore.kernel.org/r/20220922145924.80667-1-heikki.krogerus@linux.intel.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/typec/ucsi/ucsi.c |    2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/drivers/usb/typec/ucsi/ucsi.c
++++ b/drivers/usb/typec/ucsi/ucsi.c
+@@ -515,8 +515,6 @@ static int ucsi_get_pdos(struct ucsi_con
+                               num_pdos * sizeof(u32));
+       if (ret < 0)
+               dev_err(ucsi->dev, "UCSI_GET_PDOS failed (%d)\n", ret);
+-      if (ret == 0 && offset == 0)
+-              dev_warn(ucsi->dev, "UCSI_GET_PDOS returned 0 bytes\n");
+       return ret;
+ }