]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Nov 2021 14:34:26 +0000 (15:34 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Nov 2021 14:34:26 +0000 (15:34 +0100)
added patches:
ath6kl-fix-control-message-timeout.patch
ath6kl-fix-division-by-zero-in-send-path.patch
edac-sb_edac-fix-top-of-high-memory-value-for-broadwell-haswell.patch
hwmon-pmbus-lm25066-add-offset-coefficients.patch
ifb-depend-on-netfilter-alternatively-to-tc.patch
mwifiex-fix-division-by-zero-in-fw-download-path.patch
mwifiex-read-a-pci-register-after-writing-the-tx-ring-write-pointer.patch
pci-mark-atheros-qca6174-to-avoid-bus-reset.patch
wcn36xx-fix-ht40-capability-for-2ghz-band.patch

queue-4.4/ath6kl-fix-control-message-timeout.patch [new file with mode: 0644]
queue-4.4/ath6kl-fix-division-by-zero-in-send-path.patch [new file with mode: 0644]
queue-4.4/edac-sb_edac-fix-top-of-high-memory-value-for-broadwell-haswell.patch [new file with mode: 0644]
queue-4.4/hwmon-pmbus-lm25066-add-offset-coefficients.patch [new file with mode: 0644]
queue-4.4/ifb-depend-on-netfilter-alternatively-to-tc.patch [new file with mode: 0644]
queue-4.4/mwifiex-fix-division-by-zero-in-fw-download-path.patch [new file with mode: 0644]
queue-4.4/mwifiex-read-a-pci-register-after-writing-the-tx-ring-write-pointer.patch [new file with mode: 0644]
queue-4.4/pci-mark-atheros-qca6174-to-avoid-bus-reset.patch [new file with mode: 0644]
queue-4.4/series
queue-4.4/wcn36xx-fix-ht40-capability-for-2ghz-band.patch [new file with mode: 0644]

diff --git a/queue-4.4/ath6kl-fix-control-message-timeout.patch b/queue-4.4/ath6kl-fix-control-message-timeout.patch
new file mode 100644 (file)
index 0000000..876b139
--- /dev/null
@@ -0,0 +1,33 @@
+From a066d28a7e729f808a3e6eff22e70c003091544e Mon Sep 17 00:00:00 2001
+From: Johan Hovold <johan@kernel.org>
+Date: Mon, 25 Oct 2021 14:05:20 +0200
+Subject: ath6kl: fix control-message timeout
+
+From: Johan Hovold <johan@kernel.org>
+
+commit a066d28a7e729f808a3e6eff22e70c003091544e upstream.
+
+USB control-message timeouts are specified in milliseconds and should
+specifically not vary with CONFIG_HZ.
+
+Fixes: 241b128b6b69 ("ath6kl: add back beginnings of USB support")
+Cc: stable@vger.kernel.org      # 3.4
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Link: https://lore.kernel.org/r/20211025120522.6045-3-johan@kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/wireless/ath/ath6kl/usb.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/ath/ath6kl/usb.c
++++ b/drivers/net/wireless/ath/ath6kl/usb.c
+@@ -912,7 +912,7 @@ static int ath6kl_usb_submit_ctrl_in(str
+                                req,
+                                USB_DIR_IN | USB_TYPE_VENDOR |
+                                USB_RECIP_DEVICE, value, index, buf,
+-                               size, 2 * HZ);
++                               size, 2000);
+       if (ret < 0) {
+               ath6kl_warn("Failed to read usb control message: %d\n", ret);
diff --git a/queue-4.4/ath6kl-fix-division-by-zero-in-send-path.patch b/queue-4.4/ath6kl-fix-division-by-zero-in-send-path.patch
new file mode 100644 (file)
index 0000000..417d7d5
--- /dev/null
@@ -0,0 +1,42 @@
+From c1b9ca365deae667192be9fe24db244919971234 Mon Sep 17 00:00:00 2001
+From: Johan Hovold <johan@kernel.org>
+Date: Wed, 27 Oct 2021 10:08:18 +0200
+Subject: ath6kl: fix division by zero in send path
+
+From: Johan Hovold <johan@kernel.org>
+
+commit c1b9ca365deae667192be9fe24db244919971234 upstream.
+
+Add the missing endpoint max-packet sanity check to probe() to avoid
+division by zero in ath10k_usb_hif_tx_sg() in case a malicious device
+has broken descriptors (or when doing descriptor fuzz testing).
+
+Note that USB core will reject URBs submitted for endpoints with zero
+wMaxPacketSize but that drivers doing packet-size calculations still
+need to handle this (cf. commit 2548288b4fb0 ("USB: Fix: Don't skip
+endpoint descriptors with maxpacket=0")).
+
+Fixes: 9cbee358687e ("ath6kl: add full USB support")
+Cc: stable@vger.kernel.org      # 3.5
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Link: https://lore.kernel.org/r/20211027080819.6675-3-johan@kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/wireless/ath/ath6kl/usb.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/net/wireless/ath/ath6kl/usb.c
++++ b/drivers/net/wireless/ath/ath6kl/usb.c
+@@ -340,6 +340,11 @@ static int ath6kl_usb_setup_pipe_resourc
+                                  le16_to_cpu(endpoint->wMaxPacketSize),
+                                  endpoint->bInterval);
+               }
++
++              /* Ignore broken descriptors. */
++              if (usb_endpoint_maxp(endpoint) == 0)
++                      continue;
++
+               urbcount = 0;
+               pipe_num =
diff --git a/queue-4.4/edac-sb_edac-fix-top-of-high-memory-value-for-broadwell-haswell.patch b/queue-4.4/edac-sb_edac-fix-top-of-high-memory-value-for-broadwell-haswell.patch
new file mode 100644 (file)
index 0000000..b21fa71
--- /dev/null
@@ -0,0 +1,37 @@
+From 537bddd069c743759addf422d0b8f028ff0f8dbc Mon Sep 17 00:00:00 2001
+From: Eric Badger <ebadger@purestorage.com>
+Date: Sun, 10 Oct 2021 10:06:56 -0700
+Subject: EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell
+
+From: Eric Badger <ebadger@purestorage.com>
+
+commit 537bddd069c743759addf422d0b8f028ff0f8dbc upstream.
+
+The computation of TOHM is off by one bit. This missed bit results in
+too low a value for TOHM, which can cause errors in regular memory to
+incorrectly report:
+
+  EDAC MC0: 1 CE Error at MMIOH area, on addr 0x000000207fffa680 on any memory
+
+Fixes: 50d1bb93672f ("sb_edac: add support for Haswell based systems")
+Cc: stable@vger.kernel.org
+Reported-by: Meeta Saggi <msaggi@purestorage.com>
+Signed-off-by: Eric Badger <ebadger@purestorage.com>
+Signed-off-by: Tony Luck <tony.luck@intel.com>
+Link: https://lore.kernel.org/r/20211010170127.848113-1-ebadger@purestorage.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/edac/sb_edac.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/edac/sb_edac.c
++++ b/drivers/edac/sb_edac.c
+@@ -848,7 +848,7 @@ static u64 haswell_get_tohm(struct sbrid
+       pci_read_config_dword(pvt->info.pci_vtd, HASWELL_TOHM_1, &reg);
+       rc = ((reg << 6) | rc) << 26;
+-      return rc | 0x1ffffff;
++      return rc | 0x3ffffff;
+ }
+ static u64 haswell_rir_limit(u32 reg)
diff --git a/queue-4.4/hwmon-pmbus-lm25066-add-offset-coefficients.patch b/queue-4.4/hwmon-pmbus-lm25066-add-offset-coefficients.patch
new file mode 100644 (file)
index 0000000..6569332
--- /dev/null
@@ -0,0 +1,153 @@
+From ae59dc455a78fb73034dd1fbb337d7e59c27cbd8 Mon Sep 17 00:00:00 2001
+From: Zev Weiss <zev@bewilderbeest.net>
+Date: Tue, 28 Sep 2021 02:22:35 -0700
+Subject: hwmon: (pmbus/lm25066) Add offset coefficients
+
+From: Zev Weiss <zev@bewilderbeest.net>
+
+commit ae59dc455a78fb73034dd1fbb337d7e59c27cbd8 upstream.
+
+With the exception of the lm5066i, all the devices handled by this
+driver had been missing their offset ('b') coefficients for direct
+format readings.
+
+Cc: stable@vger.kernel.org
+Fixes: 58615a94f6a1 ("hwmon: (pmbus/lm25066) Add support for LM25056")
+Fixes: e53e6497fc9f ("hwmon: (pmbus/lm25066) Refactor device specific coefficients")
+Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
+Link: https://lore.kernel.org/r/20210928092242.30036-2-zev@bewilderbeest.net
+Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/hwmon/pmbus/lm25066.c |   23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+--- a/drivers/hwmon/pmbus/lm25066.c
++++ b/drivers/hwmon/pmbus/lm25066.c
+@@ -69,22 +69,27 @@ static struct __coeff lm25066_coeff[5][P
+       [lm25056] = {
+               [PSC_VOLTAGE_IN] = {
+                       .m = 16296,
++                      .b = 1343,
+                       .R = -2,
+               },
+               [PSC_CURRENT_IN] = {
+                       .m = 13797,
++                      .b = -1833,
+                       .R = -2,
+               },
+               [PSC_CURRENT_IN_L] = {
+                       .m = 6726,
++                      .b = -537,
+                       .R = -2,
+               },
+               [PSC_POWER] = {
+                       .m = 5501,
++                      .b = -2908,
+                       .R = -3,
+               },
+               [PSC_POWER_L] = {
+                       .m = 26882,
++                      .b = -5646,
+                       .R = -4,
+               },
+               [PSC_TEMPERATURE] = {
+@@ -96,26 +101,32 @@ static struct __coeff lm25066_coeff[5][P
+       [lm25066] = {
+               [PSC_VOLTAGE_IN] = {
+                       .m = 22070,
++                      .b = -1800,
+                       .R = -2,
+               },
+               [PSC_VOLTAGE_OUT] = {
+                       .m = 22070,
++                      .b = -1800,
+                       .R = -2,
+               },
+               [PSC_CURRENT_IN] = {
+                       .m = 13661,
++                      .b = -5200,
+                       .R = -2,
+               },
+               [PSC_CURRENT_IN_L] = {
+                       .m = 6852,
++                      .b = -3100,
+                       .R = -2,
+               },
+               [PSC_POWER] = {
+                       .m = 736,
++                      .b = -3300,
+                       .R = -2,
+               },
+               [PSC_POWER_L] = {
+                       .m = 369,
++                      .b = -1900,
+                       .R = -2,
+               },
+               [PSC_TEMPERATURE] = {
+@@ -155,26 +166,32 @@ static struct __coeff lm25066_coeff[5][P
+       [lm5064] = {
+               [PSC_VOLTAGE_IN] = {
+                       .m = 4611,
++                      .b = -642,
+                       .R = -2,
+               },
+               [PSC_VOLTAGE_OUT] = {
+                       .m = 4621,
++                      .b = 423,
+                       .R = -2,
+               },
+               [PSC_CURRENT_IN] = {
+                       .m = 10742,
++                      .b = 1552,
+                       .R = -2,
+               },
+               [PSC_CURRENT_IN_L] = {
+                       .m = 5456,
++                      .b = 2118,
+                       .R = -2,
+               },
+               [PSC_POWER] = {
+                       .m = 1204,
++                      .b = 8524,
+                       .R = -3,
+               },
+               [PSC_POWER_L] = {
+                       .m = 612,
++                      .b = 11202,
+                       .R = -3,
+               },
+               [PSC_TEMPERATURE] = {
+@@ -184,26 +201,32 @@ static struct __coeff lm25066_coeff[5][P
+       [lm5066] = {
+               [PSC_VOLTAGE_IN] = {
+                       .m = 4587,
++                      .b = -1200,
+                       .R = -2,
+               },
+               [PSC_VOLTAGE_OUT] = {
+                       .m = 4587,
++                      .b = -2400,
+                       .R = -2,
+               },
+               [PSC_CURRENT_IN] = {
+                       .m = 10753,
++                      .b = -1200,
+                       .R = -2,
+               },
+               [PSC_CURRENT_IN_L] = {
+                       .m = 5405,
++                      .b = -600,
+                       .R = -2,
+               },
+               [PSC_POWER] = {
+                       .m = 1204,
++                      .b = -6000,
+                       .R = -3,
+               },
+               [PSC_POWER_L] = {
+                       .m = 605,
++                      .b = -8000,
+                       .R = -3,
+               },
+               [PSC_TEMPERATURE] = {
diff --git a/queue-4.4/ifb-depend-on-netfilter-alternatively-to-tc.patch b/queue-4.4/ifb-depend-on-netfilter-alternatively-to-tc.patch
new file mode 100644 (file)
index 0000000..ae1444c
--- /dev/null
@@ -0,0 +1,33 @@
+From 046178e726c2977d686ba5e07105d5a6685c830e Mon Sep 17 00:00:00 2001
+From: Lukas Wunner <lukas@wunner.de>
+Date: Tue, 26 Oct 2021 07:15:32 +0200
+Subject: ifb: Depend on netfilter alternatively to tc
+
+From: Lukas Wunner <lukas@wunner.de>
+
+commit 046178e726c2977d686ba5e07105d5a6685c830e upstream.
+
+IFB originally depended on NET_CLS_ACT for traffic redirection.
+But since v4.5, that may be achieved with NFT_FWD_NETDEV as well.
+
+Fixes: 39e6dea28adc ("netfilter: nf_tables: add forward expression to the netdev family")
+Signed-off-by: Lukas Wunner <lukas@wunner.de>
+Cc: <stable@vger.kernel.org> # v4.5+: bcfabee1afd9: netfilter: nft_fwd_netdev: allow to redirect to ifb via ingress
+Cc: <stable@vger.kernel.org> # v4.5+
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/Kconfig |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -105,7 +105,7 @@ config NET_FC
+ config IFB
+       tristate "Intermediate Functional Block support"
+-      depends on NET_CLS_ACT
++      depends on NET_ACT_MIRRED || NFT_FWD_NETDEV
+       ---help---
+         This is an intermediate driver that allows sharing of
+         resources.
diff --git a/queue-4.4/mwifiex-fix-division-by-zero-in-fw-download-path.patch b/queue-4.4/mwifiex-fix-division-by-zero-in-fw-download-path.patch
new file mode 100644 (file)
index 0000000..1ec225b
--- /dev/null
@@ -0,0 +1,61 @@
+From 89f8765a11d8df49296d92c404067f9b5c58ee26 Mon Sep 17 00:00:00 2001
+From: Johan Hovold <johan@kernel.org>
+Date: Wed, 27 Oct 2021 10:08:19 +0200
+Subject: mwifiex: fix division by zero in fw download path
+
+From: Johan Hovold <johan@kernel.org>
+
+commit 89f8765a11d8df49296d92c404067f9b5c58ee26 upstream.
+
+Add the missing endpoint sanity checks to probe() to avoid division by
+zero in mwifiex_write_data_sync() in case a malicious device has broken
+descriptors (or when doing descriptor fuzz testing).
+
+Only add checks for the firmware-download boot stage, which require both
+command endpoints, for now. The driver looks like it will handle a
+missing endpoint during normal operation without oopsing, albeit not
+very gracefully as it will try to submit URBs to the default pipe and
+fail.
+
+Note that USB core will reject URBs submitted for endpoints with zero
+wMaxPacketSize but that drivers doing packet-size calculations still
+need to handle this (cf. commit 2548288b4fb0 ("USB: Fix: Don't skip
+endpoint descriptors with maxpacket=0")).
+
+Fixes: 4daffe354366 ("mwifiex: add support for Marvell USB8797 chipset")
+Cc: stable@vger.kernel.org      # 3.5
+Cc: Amitkumar Karwar <akarwar@marvell.com>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Reviewed-by: Brian Norris <briannorris@chromium.org>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Link: https://lore.kernel.org/r/20211027080819.6675-4-johan@kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/wireless/mwifiex/usb.c |   16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+--- a/drivers/net/wireless/mwifiex/usb.c
++++ b/drivers/net/wireless/mwifiex/usb.c
+@@ -473,6 +473,22 @@ static int mwifiex_usb_probe(struct usb_
+               }
+       }
++      switch (card->usb_boot_state) {
++      case USB8XXX_FW_DNLD:
++              /* Reject broken descriptors. */
++              if (!card->rx_cmd_ep || !card->tx_cmd_ep)
++                      return -ENODEV;
++              if (card->bulk_out_maxpktsize == 0)
++                      return -ENODEV;
++              break;
++      case USB8XXX_FW_READY:
++              /* Assume the driver can handle missing endpoints for now. */
++              break;
++      default:
++              WARN_ON(1);
++              return -ENODEV;
++      }
++
+       usb_set_intfdata(intf, card);
+       ret = mwifiex_add_card(card, &add_remove_card_sem, &usb_ops,
diff --git a/queue-4.4/mwifiex-read-a-pci-register-after-writing-the-tx-ring-write-pointer.patch b/queue-4.4/mwifiex-read-a-pci-register-after-writing-the-tx-ring-write-pointer.patch
new file mode 100644 (file)
index 0000000..d17c078
--- /dev/null
@@ -0,0 +1,54 @@
+From e5f4eb8223aa740237cd463246a7debcddf4eda1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
+Date: Mon, 11 Oct 2021 15:32:23 +0200
+Subject: mwifiex: Read a PCI register after writing the TX ring write pointer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Jonas Dreßler <verdre@v0yd.nl>
+
+commit e5f4eb8223aa740237cd463246a7debcddf4eda1 upstream.
+
+On the 88W8897 PCIe+USB card the firmware randomly crashes after setting
+the TX ring write pointer. The issue is present in the latest firmware
+version 15.68.19.p21 of the PCIe+USB card.
+
+Those firmware crashes can be worked around by reading any PCI register
+of the card after setting that register, so read the PCI_VENDOR_ID
+register here. The reason this works is probably because we keep the bus
+from entering an ASPM state for a bit longer, because that's what causes
+the cards firmware to crash.
+
+This fixes a bug where during RX/TX traffic and with ASPM L1 substates
+enabled (the specific substates where the issue happens appear to be
+platform dependent), the firmware crashes and eventually a command
+timeout appears in the logs.
+
+BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=109681
+Cc: stable@vger.kernel.org
+Signed-off-by: Jonas Dreßler <verdre@v0yd.nl>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Link: https://lore.kernel.org/r/20211011133224.15561-2-verdre@v0yd.nl
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/wireless/mwifiex/pcie.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/net/wireless/mwifiex/pcie.c
++++ b/drivers/net/wireless/mwifiex/pcie.c
+@@ -1210,6 +1210,14 @@ mwifiex_pcie_send_data(struct mwifiex_ad
+                       ret = -1;
+                       goto done_unmap;
+               }
++
++              /* The firmware (latest version 15.68.19.p21) of the 88W8897 PCIe+USB card
++               * seems to crash randomly after setting the TX ring write pointer when
++               * ASPM powersaving is enabled. A workaround seems to be keeping the bus
++               * busy by reading a random register afterwards.
++               */
++              mwifiex_read_reg(adapter, PCI_VENDOR_ID, &rx_val);
++
+               if ((mwifiex_pcie_txbd_not_full(card)) &&
+                   tx_param->next_pkt_len) {
+                       /* have more packets and TxBD still can hold more */
diff --git a/queue-4.4/pci-mark-atheros-qca6174-to-avoid-bus-reset.patch b/queue-4.4/pci-mark-atheros-qca6174-to-avoid-bus-reset.patch
new file mode 100644 (file)
index 0000000..f9e8208
--- /dev/null
@@ -0,0 +1,38 @@
+From e3f4bd3462f6f796594ecc0dda7144ed2d1e5a26 Mon Sep 17 00:00:00 2001
+From: Ingmar Klein <ingmar_klein@web.de>
+Date: Fri, 9 Apr 2021 11:26:33 +0200
+Subject: PCI: Mark Atheros QCA6174 to avoid bus reset
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Ingmar Klein <ingmar_klein@web.de>
+
+commit e3f4bd3462f6f796594ecc0dda7144ed2d1e5a26 upstream.
+
+When passing the Atheros QCA6174 through to a virtual machine, the VM hangs
+at the point where the ath10k driver loads.
+
+Add a quirk to avoid bus resets on this device, which avoids the hang.
+
+[bhelgaas: commit log]
+Link: https://lore.kernel.org/r/08982e05-b6e8-5a8d-24ab-da1488ee50a8@web.de
+Signed-off-by: Ingmar Klein <ingmar_klein@web.de>
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+Reviewed-by: Pali Rohár <pali@kernel.org>
+Cc: stable@vger.kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/pci/quirks.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/pci/quirks.c
++++ b/drivers/pci/quirks.c
+@@ -3169,6 +3169,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset);
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0034, quirk_no_bus_reset);
++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003e, quirk_no_bus_reset);
+ /*
+  * Some TI KeyStone C667X devices do not support bus/hot reset.  The PCIESS
index c8a2ed34ec0f42265dd49132ce38042292bf262a..c5232b2fd3d04a3074cefd92613a16539b3600e4 100644 (file)
@@ -21,3 +21,12 @@ xen-netfront-stop-tx-queues-during-live-migration.patch
 spi-spl022-fix-microwire-full-duplex-mode.patch
 vmxnet3-do-not-stop-tx-queues-after-netif_device_det.patch
 btrfs-fix-lost-error-handling-when-replaying-directory-deletes.patch
+hwmon-pmbus-lm25066-add-offset-coefficients.patch
+edac-sb_edac-fix-top-of-high-memory-value-for-broadwell-haswell.patch
+mwifiex-fix-division-by-zero-in-fw-download-path.patch
+ath6kl-fix-division-by-zero-in-send-path.patch
+ath6kl-fix-control-message-timeout.patch
+pci-mark-atheros-qca6174-to-avoid-bus-reset.patch
+ifb-depend-on-netfilter-alternatively-to-tc.patch
+wcn36xx-fix-ht40-capability-for-2ghz-band.patch
+mwifiex-read-a-pci-register-after-writing-the-tx-ring-write-pointer.patch
diff --git a/queue-4.4/wcn36xx-fix-ht40-capability-for-2ghz-band.patch b/queue-4.4/wcn36xx-fix-ht40-capability-for-2ghz-band.patch
new file mode 100644 (file)
index 0000000..fef7c5b
--- /dev/null
@@ -0,0 +1,37 @@
+From 960ae77f25631bbe4e3aafefe209b52e044baf31 Mon Sep 17 00:00:00 2001
+From: Loic Poulain <loic.poulain@linaro.org>
+Date: Wed, 20 Oct 2021 15:38:53 +0200
+Subject: wcn36xx: Fix HT40 capability for 2Ghz band
+
+From: Loic Poulain <loic.poulain@linaro.org>
+
+commit 960ae77f25631bbe4e3aafefe209b52e044baf31 upstream.
+
+All wcn36xx controllers are supposed to support HT40 (and SGI40),
+This doubles the maximum bitrate/throughput with compatible APs.
+
+Tested with wcn3620 & wcn3680B.
+
+Cc: stable@vger.kernel.org
+Fixes: 8e84c2582169 ("wcn36xx: mac80211 driver for Qualcomm WCN3660/WCN3680 hardware")
+Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Link: https://lore.kernel.org/r/1634737133-22336-1-git-send-email-loic.poulain@linaro.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/wireless/ath/wcn36xx/main.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/ath/wcn36xx/main.c
++++ b/drivers/net/wireless/ath/wcn36xx/main.c
+@@ -127,7 +127,9 @@ static struct ieee80211_supported_band w
+               .cap =  IEEE80211_HT_CAP_GRN_FLD |
+                       IEEE80211_HT_CAP_SGI_20 |
+                       IEEE80211_HT_CAP_DSSSCCK40 |
+-                      IEEE80211_HT_CAP_LSIG_TXOP_PROT,
++                      IEEE80211_HT_CAP_LSIG_TXOP_PROT |
++                      IEEE80211_HT_CAP_SGI_40 |
++                      IEEE80211_HT_CAP_SUP_WIDTH_20_40,
+               .ht_supported = true,
+               .ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K,
+               .ampdu_density = IEEE80211_HT_MPDU_DENSITY_16,