]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Jan 2020 21:43:10 +0000 (22:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Jan 2020 21:43:10 +0000 (22:43 +0100)
added patches:
afs-fix-missing-cell-comparison-in-afs_test_super.patch
ath9k-use-iowrite32-over-__raw_writel.patch
can-j1939-fix-address-claim-code-example.patch
cifs-adjust-indentation-in-smb2_open_file.patch
drm-tegra-fix-ordering-of-cleanup-code.patch
dt-bindings-reset-fix-brcmstb-reset-example.patch
hsr-add-hsr-root-debugfs-directory.patch
hsr-rename-debugfs-file-when-interface-name-is-changed.patch
hsr-reset-network-header-when-supervision-frame-is-created.patch
maintainers-append-missed-file-to-the-database.patch
pci-amlogic-fix-probed-clock-names.patch
perf-vendor-events-s390-remove-name-from-l1d_ro_excl_writes-description.patch
reset-brcmstb-remove-resource-checks.patch
s390-qeth-fix-false-reporting-of-vnic-char-config-failure.patch
s390-qeth-fix-initialization-on-old-hw.patch
s390-qeth-fix-qdio-teardown-after-early-init-error.patch
s390-qeth-fix-vnicc_is_in_use-if-rx_bcast-not-set.patch
s390-qeth-vnicc-fix-init-to-default.patch
scsi-smartpqi-update-attribute-name-to-driver_version.patch

20 files changed:
queue-5.4/afs-fix-missing-cell-comparison-in-afs_test_super.patch [new file with mode: 0644]
queue-5.4/ath9k-use-iowrite32-over-__raw_writel.patch [new file with mode: 0644]
queue-5.4/can-j1939-fix-address-claim-code-example.patch [new file with mode: 0644]
queue-5.4/cifs-adjust-indentation-in-smb2_open_file.patch [new file with mode: 0644]
queue-5.4/drm-tegra-fix-ordering-of-cleanup-code.patch [new file with mode: 0644]
queue-5.4/dt-bindings-reset-fix-brcmstb-reset-example.patch [new file with mode: 0644]
queue-5.4/hsr-add-hsr-root-debugfs-directory.patch [new file with mode: 0644]
queue-5.4/hsr-rename-debugfs-file-when-interface-name-is-changed.patch [new file with mode: 0644]
queue-5.4/hsr-reset-network-header-when-supervision-frame-is-created.patch [new file with mode: 0644]
queue-5.4/maintainers-append-missed-file-to-the-database.patch [new file with mode: 0644]
queue-5.4/pci-amlogic-fix-probed-clock-names.patch [new file with mode: 0644]
queue-5.4/perf-vendor-events-s390-remove-name-from-l1d_ro_excl_writes-description.patch [new file with mode: 0644]
queue-5.4/reset-brcmstb-remove-resource-checks.patch [new file with mode: 0644]
queue-5.4/s390-qeth-fix-false-reporting-of-vnic-char-config-failure.patch [new file with mode: 0644]
queue-5.4/s390-qeth-fix-initialization-on-old-hw.patch [new file with mode: 0644]
queue-5.4/s390-qeth-fix-qdio-teardown-after-early-init-error.patch [new file with mode: 0644]
queue-5.4/s390-qeth-fix-vnicc_is_in_use-if-rx_bcast-not-set.patch [new file with mode: 0644]
queue-5.4/s390-qeth-vnicc-fix-init-to-default.patch [new file with mode: 0644]
queue-5.4/scsi-smartpqi-update-attribute-name-to-driver_version.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/afs-fix-missing-cell-comparison-in-afs_test_super.patch b/queue-5.4/afs-fix-missing-cell-comparison-in-afs_test_super.patch
new file mode 100644 (file)
index 0000000..40fc941
--- /dev/null
@@ -0,0 +1,65 @@
+From 106bc79843c3c6f4f00753d1f46e54e815f99377 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Wed, 11 Dec 2019 08:06:08 +0000
+Subject: afs: Fix missing cell comparison in afs_test_super()
+
+From: David Howells <dhowells@redhat.com>
+
+commit 106bc79843c3c6f4f00753d1f46e54e815f99377 upstream.
+
+Fix missing cell comparison in afs_test_super().  Without this, any pair
+volumes that have the same volume ID will share a superblock, no matter the
+cell, unless they're in different network namespaces.
+
+Normally, most users will only deal with a single cell and so they won't
+see this.  Even if they do look into a second cell, they won't see a
+problem unless they happen to hit a volume with the same ID as one they've
+already got mounted.
+
+Before the patch:
+
+    # ls /afs/grand.central.org/archive
+    linuxdev/  mailman/  moin/  mysql/  pipermail/  stage/  twiki/
+    # ls /afs/kth.se/
+    linuxdev/  mailman/  moin/  mysql/  pipermail/  stage/  twiki/
+    # cat /proc/mounts | grep afs
+    none /afs afs rw,relatime,dyn,autocell 0 0
+    #grand.central.org:root.cell /afs/grand.central.org afs ro,relatime 0 0
+    #grand.central.org:root.archive /afs/grand.central.org/archive afs ro,relatime 0 0
+    #grand.central.org:root.archive /afs/kth.se afs ro,relatime 0 0
+
+After the patch:
+
+    # ls /afs/grand.central.org/archive
+    linuxdev/  mailman/  moin/  mysql/  pipermail/  stage/  twiki/
+    # ls /afs/kth.se/
+    admin/        common/  install/  OldFiles/  service/  system/
+    bakrestores/  home/    misc/     pkg/       src/      wsadmin/
+    # cat /proc/mounts | grep afs
+    none /afs afs rw,relatime,dyn,autocell 0 0
+    #grand.central.org:root.cell /afs/grand.central.org afs ro,relatime 0 0
+    #grand.central.org:root.archive /afs/grand.central.org/archive afs ro,relatime 0 0
+    #kth.se:root.cell /afs/kth.se afs ro,relatime 0 0
+
+Fixes: ^1da177e4c3f4 ("Linux-2.6.12-rc2")
+Reported-by: Carsten Jacobi <jacobi@de.ibm.com>
+Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: Marc Dionne <marc.dionne@auristor.com>
+Tested-by: Jonathan Billings <jsbillings@jsbillings.org>
+cc: Todd DeSantis <atd@us.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/afs/super.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/fs/afs/super.c
++++ b/fs/afs/super.c
+@@ -404,6 +404,7 @@ static int afs_test_super(struct super_b
+       return (as->net_ns == fc->net_ns &&
+               as->volume &&
+               as->volume->vid == ctx->volume->vid &&
++              as->cell == ctx->cell &&
+               !as->dyn_root);
+ }
diff --git a/queue-5.4/ath9k-use-iowrite32-over-__raw_writel.patch b/queue-5.4/ath9k-use-iowrite32-over-__raw_writel.patch
new file mode 100644 (file)
index 0000000..b29ec08
--- /dev/null
@@ -0,0 +1,36 @@
+From 22d0d5ae7a089967e9295a06694aa3e8a812b15e Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Sun, 24 Nov 2019 15:40:59 +0100
+Subject: ath9k: use iowrite32 over __raw_writel
+
+From: Christian Lamparter <chunkeey@gmail.com>
+
+commit 22d0d5ae7a089967e9295a06694aa3e8a812b15e upstream.
+
+This patch changes the ath9k_pci_owl_loader to use the
+same iowrite32 memory accessor that ath9k_pci is using
+to communicate with the PCI(e) chip.
+
+This will fix endian issues that came up during testing
+with loaned AVM Fritz!Box 7360 (Lantiq MIPS SoCs + AR9287).
+
+Fixes: 5a4f2040fd07 ("ath9k: add loader for AR92XX (and older) pci(e)")
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
++++ b/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
+@@ -84,7 +84,7 @@ static int ath9k_pci_fixup(struct pci_de
+                       val = swahb32(val);
+               }
+-              __raw_writel(val, mem + reg);
++              iowrite32(val, mem + reg);
+               usleep_range(100, 120);
+       }
diff --git a/queue-5.4/can-j1939-fix-address-claim-code-example.patch b/queue-5.4/can-j1939-fix-address-claim-code-example.patch
new file mode 100644 (file)
index 0000000..a303be4
--- /dev/null
@@ -0,0 +1,36 @@
+From 8ac9d71d601374222a230804e419cd40c4492e1c Mon Sep 17 00:00:00 2001
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+Date: Thu, 21 Nov 2019 10:47:50 +0100
+Subject: can: j1939: fix address claim code example
+
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+
+commit 8ac9d71d601374222a230804e419cd40c4492e1c upstream.
+
+During development the define J1939_PGN_ADDRESS_REQUEST was renamed to
+J1939_PGN_REQUEST. It was forgotten to adjust the documentation
+accordingly.
+
+This patch fixes the name of the symbol.
+
+Reported-by: https://github.com/linux-can/can-utils/issues/159#issuecomment-556538798
+Fixes: 9d71dd0c7009 ("can: add support of SAE J1939 protocol")
+Cc: Oleksij Rempel <o.rempel@pengutronix.de>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ Documentation/networking/j1939.rst |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Documentation/networking/j1939.rst
++++ b/Documentation/networking/j1939.rst
+@@ -339,7 +339,7 @@ To claim an address following code examp
+                       .pgn = J1939_PGN_ADDRESS_CLAIMED,
+                       .pgn_mask = J1939_PGN_PDU1_MAX,
+               }, {
+-                      .pgn = J1939_PGN_ADDRESS_REQUEST,
++                      .pgn = J1939_PGN_REQUEST,
+                       .pgn_mask = J1939_PGN_PDU1_MAX,
+               }, {
+                       .pgn = J1939_PGN_ADDRESS_COMMANDED,
diff --git a/queue-5.4/cifs-adjust-indentation-in-smb2_open_file.patch b/queue-5.4/cifs-adjust-indentation-in-smb2_open_file.patch
new file mode 100644 (file)
index 0000000..c58f6ce
--- /dev/null
@@ -0,0 +1,45 @@
+From 7935799e041ae10d380d04ea23868240f082bd11 Mon Sep 17 00:00:00 2001
+From: Nathan Chancellor <natechancellor@gmail.com>
+Date: Tue, 17 Dec 2019 20:04:51 -0700
+Subject: cifs: Adjust indentation in smb2_open_file
+
+From: Nathan Chancellor <natechancellor@gmail.com>
+
+commit 7935799e041ae10d380d04ea23868240f082bd11 upstream.
+
+Clang warns:
+
+../fs/cifs/smb2file.c:70:3: warning: misleading indentation; statement
+is not part of the previous 'if' [-Wmisleading-indentation]
+         if (oparms->tcon->use_resilient) {
+         ^
+../fs/cifs/smb2file.c:66:2: note: previous statement is here
+        if (rc)
+        ^
+1 warning generated.
+
+This warning occurs because there is a space after the tab on this line.
+Remove it so that the indentation is consistent with the Linux kernel
+coding style and clang no longer warns.
+
+Fixes: 592fafe644bf ("Add resilienthandles mount parm")
+Link: https://github.com/ClangBuiltLinux/linux/issues/826
+Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
+Signed-off-by: Steve French <stfrench@microsoft.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/cifs/smb2file.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/fs/cifs/smb2file.c
++++ b/fs/cifs/smb2file.c
+@@ -67,7 +67,7 @@ smb2_open_file(const unsigned int xid, s
+               goto out;
+-       if (oparms->tcon->use_resilient) {
++      if (oparms->tcon->use_resilient) {
+               /* default timeout is 0, servers pick default (120 seconds) */
+               nr_ioctl_req.Timeout =
+                       cpu_to_le32(oparms->tcon->handle_timeout);
diff --git a/queue-5.4/drm-tegra-fix-ordering-of-cleanup-code.patch b/queue-5.4/drm-tegra-fix-ordering-of-cleanup-code.patch
new file mode 100644 (file)
index 0000000..862e68c
--- /dev/null
@@ -0,0 +1,53 @@
+From 051172e8c1ceef8749f19faacc1d3bef65d20d8d Mon Sep 17 00:00:00 2001
+From: Thierry Reding <treding@nvidia.com>
+Date: Wed, 25 Sep 2019 13:26:59 +0200
+Subject: drm/tegra: Fix ordering of cleanup code
+
+From: Thierry Reding <treding@nvidia.com>
+
+commit 051172e8c1ceef8749f19faacc1d3bef65d20d8d upstream.
+
+Commit Fixes: b9f8b09ce256 ("drm/tegra: Setup shared IOMMU domain after
+initialization") changed the initialization order of the IOMMU related
+bits but didn't update the cleanup path accordingly. This asymmetry can
+cause failures during error recovery.
+
+Fixes: b9f8b09ce256 ("drm/tegra: Setup shared IOMMU domain after initialization")
+Signed-off-by: Thierry Reding <treding@nvidia.com>
+Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
+Tested-by: Dmitry Osipenko <digetx@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/tegra/drm.c |   14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+--- a/drivers/gpu/drm/tegra/drm.c
++++ b/drivers/gpu/drm/tegra/drm.c
+@@ -201,19 +201,19 @@ hub:
+       if (tegra->hub)
+               tegra_display_hub_cleanup(tegra->hub);
+ device:
+-      host1x_device_exit(device);
+-fbdev:
+-      drm_kms_helper_poll_fini(drm);
+-      tegra_drm_fb_free(drm);
+-config:
+-      drm_mode_config_cleanup(drm);
+-
+       if (tegra->domain) {
+               mutex_destroy(&tegra->mm_lock);
+               drm_mm_takedown(&tegra->mm);
+               put_iova_domain(&tegra->carveout.domain);
+               iova_cache_put();
+       }
++
++      host1x_device_exit(device);
++fbdev:
++      drm_kms_helper_poll_fini(drm);
++      tegra_drm_fb_free(drm);
++config:
++      drm_mode_config_cleanup(drm);
+ domain:
+       if (tegra->domain)
+               iommu_domain_free(tegra->domain);
diff --git a/queue-5.4/dt-bindings-reset-fix-brcmstb-reset-example.patch b/queue-5.4/dt-bindings-reset-fix-brcmstb-reset-example.patch
new file mode 100644 (file)
index 0000000..793d530
--- /dev/null
@@ -0,0 +1,31 @@
+From 392a9f63058f2cdcec8363b849a25532ee40da9f Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Mon, 4 Nov 2019 10:15:01 -0800
+Subject: dt-bindings: reset: Fix brcmstb-reset example
+
+From: Florian Fainelli <f.fainelli@gmail.com>
+
+commit 392a9f63058f2cdcec8363b849a25532ee40da9f upstream.
+
+The reset controller has a #reset-cells value of 1, so we should see a
+phandle plus a register identifier, fix the example.
+
+Fixes: 0807caf647dd ("dt-bindings: reset: Add document for Broadcom STB reset controller")
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ Documentation/devicetree/bindings/reset/brcm,brcmstb-reset.txt |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Documentation/devicetree/bindings/reset/brcm,brcmstb-reset.txt
++++ b/Documentation/devicetree/bindings/reset/brcm,brcmstb-reset.txt
+@@ -22,6 +22,6 @@ Example:
+       };
+       &ethernet_switch {
+-              resets = <&reset>;
++              resets = <&reset 26>;
+               reset-names = "switch";
+       };
diff --git a/queue-5.4/hsr-add-hsr-root-debugfs-directory.patch b/queue-5.4/hsr-add-hsr-root-debugfs-directory.patch
new file mode 100644 (file)
index 0000000..1a3f118
--- /dev/null
@@ -0,0 +1,129 @@
+From c6c4ccd7f96993e106dfea7ef18127f972f2db5e Mon Sep 17 00:00:00 2001
+From: Taehee Yoo <ap420073@gmail.com>
+Date: Sun, 22 Dec 2019 11:26:27 +0000
+Subject: hsr: add hsr root debugfs directory
+
+From: Taehee Yoo <ap420073@gmail.com>
+
+commit c6c4ccd7f96993e106dfea7ef18127f972f2db5e upstream.
+
+In current hsr code, when hsr interface is created, it creates debugfs
+directory /sys/kernel/debug/<interface name>.
+If there is same directory or file name in there, it fails.
+In order to reduce possibility of failure of creation of debugfs,
+this patch adds root directory.
+
+Test commands:
+    ip link add dummy0 type dummy
+    ip link add dummy1 type dummy
+    ip link add hsr0 type hsr slave1 dummy0 slave2 dummy1
+
+Before this patch:
+    /sys/kernel/debug/hsr0/node_table
+
+After this patch:
+    /sys/kernel/debug/hsr/hsr0/node_table
+
+Signed-off-by: Taehee Yoo <ap420073@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/hsr/hsr_debugfs.c |   23 ++++++++++++++++++++---
+ net/hsr/hsr_main.c    |    1 +
+ net/hsr/hsr_main.h    |    6 ++++++
+ net/hsr/hsr_netlink.c |    1 +
+ 4 files changed, 28 insertions(+), 3 deletions(-)
+
+--- a/net/hsr/hsr_debugfs.c
++++ b/net/hsr/hsr_debugfs.c
+@@ -20,6 +20,8 @@
+ #include "hsr_main.h"
+ #include "hsr_framereg.h"
++static struct dentry *hsr_debugfs_root_dir;
++
+ static void print_mac_address(struct seq_file *sfp, unsigned char *mac)
+ {
+       seq_printf(sfp, "%02x:%02x:%02x:%02x:%02x:%02x:",
+@@ -81,9 +83,9 @@ void hsr_debugfs_init(struct hsr_priv *p
+ {
+       struct dentry *de = NULL;
+-      de = debugfs_create_dir(hsr_dev->name, NULL);
++      de = debugfs_create_dir(hsr_dev->name, hsr_debugfs_root_dir);
+       if (IS_ERR(de)) {
+-              pr_err("Cannot create hsr debugfs root\n");
++              pr_err("Cannot create hsr debugfs directory\n");
+               return;
+       }
+@@ -93,7 +95,7 @@ void hsr_debugfs_init(struct hsr_priv *p
+                                priv->node_tbl_root, priv,
+                                &hsr_fops);
+       if (IS_ERR(de)) {
+-              pr_err("Cannot create hsr node_table directory\n");
++              pr_err("Cannot create hsr node_table file\n");
+               debugfs_remove(priv->node_tbl_root);
+               priv->node_tbl_root = NULL;
+               return;
+@@ -115,3 +117,18 @@ hsr_debugfs_term(struct hsr_priv *priv)
+       debugfs_remove(priv->node_tbl_root);
+       priv->node_tbl_root = NULL;
+ }
++
++void hsr_debugfs_create_root(void)
++{
++      hsr_debugfs_root_dir = debugfs_create_dir("hsr", NULL);
++      if (IS_ERR(hsr_debugfs_root_dir)) {
++              pr_err("Cannot create hsr debugfs root directory\n");
++              hsr_debugfs_root_dir = NULL;
++      }
++}
++
++void hsr_debugfs_remove_root(void)
++{
++      /* debugfs_remove() internally checks NULL and ERROR */
++      debugfs_remove(hsr_debugfs_root_dir);
++}
+--- a/net/hsr/hsr_main.c
++++ b/net/hsr/hsr_main.c
+@@ -123,6 +123,7 @@ static void __exit hsr_exit(void)
+ {
+       unregister_netdevice_notifier(&hsr_nb);
+       hsr_netlink_exit();
++      hsr_debugfs_remove_root();
+ }
+ module_init(hsr_init);
+--- a/net/hsr/hsr_main.h
++++ b/net/hsr/hsr_main.h
+@@ -187,12 +187,18 @@ static inline u16 hsr_get_skb_sequence_n
+ #if IS_ENABLED(CONFIG_DEBUG_FS)
+ void hsr_debugfs_init(struct hsr_priv *priv, struct net_device *hsr_dev);
+ void hsr_debugfs_term(struct hsr_priv *priv);
++void hsr_debugfs_create_root(void);
++void hsr_debugfs_remove_root(void);
+ #else
+ static inline void hsr_debugfs_init(struct hsr_priv *priv,
+                                   struct net_device *hsr_dev)
+ {}
+ static inline void hsr_debugfs_term(struct hsr_priv *priv)
+ {}
++static inline void hsr_debugfs_create_root(void)
++{}
++static inline void hsr_debugfs_remove_root(void)
++{}
+ #endif
+ #endif /*  __HSR_PRIVATE_H */
+--- a/net/hsr/hsr_netlink.c
++++ b/net/hsr/hsr_netlink.c
+@@ -476,6 +476,7 @@ int __init hsr_netlink_init(void)
+       if (rc)
+               goto fail_genl_register_family;
++      hsr_debugfs_create_root();
+       return 0;
+ fail_genl_register_family:
diff --git a/queue-5.4/hsr-rename-debugfs-file-when-interface-name-is-changed.patch b/queue-5.4/hsr-rename-debugfs-file-when-interface-name-is-changed.patch
new file mode 100644 (file)
index 0000000..d41fd2c
--- /dev/null
@@ -0,0 +1,75 @@
+From 4c2d5e33dcd3a6333a7895be3b542ff3d373177c Mon Sep 17 00:00:00 2001
+From: Taehee Yoo <ap420073@gmail.com>
+Date: Sun, 22 Dec 2019 11:26:39 +0000
+Subject: hsr: rename debugfs file when interface name is changed
+
+From: Taehee Yoo <ap420073@gmail.com>
+
+commit 4c2d5e33dcd3a6333a7895be3b542ff3d373177c upstream.
+
+hsr interface has own debugfs file, which name is same with interface name.
+So, interface name is changed, debugfs file name should be changed too.
+
+Fixes: fc4ecaeebd26 ("net: hsr: add debugfs support for display node list")
+Signed-off-by: Taehee Yoo <ap420073@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/hsr/hsr_debugfs.c |   13 +++++++++++++
+ net/hsr/hsr_main.c    |    3 +++
+ net/hsr/hsr_main.h    |    4 ++++
+ 3 files changed, 20 insertions(+)
+
+--- a/net/hsr/hsr_debugfs.c
++++ b/net/hsr/hsr_debugfs.c
+@@ -65,6 +65,19 @@ hsr_node_table_open(struct inode *inode,
+       return single_open(filp, hsr_node_table_show, inode->i_private);
+ }
++void hsr_debugfs_rename(struct net_device *dev)
++{
++      struct hsr_priv *priv = netdev_priv(dev);
++      struct dentry *d;
++
++      d = debugfs_rename(hsr_debugfs_root_dir, priv->node_tbl_root,
++                         hsr_debugfs_root_dir, dev->name);
++      if (IS_ERR(d))
++              netdev_warn(dev, "failed to rename\n");
++      else
++              priv->node_tbl_root = d;
++}
++
+ static const struct file_operations hsr_fops = {
+       .open   = hsr_node_table_open,
+       .read   = seq_read,
+--- a/net/hsr/hsr_main.c
++++ b/net/hsr/hsr_main.c
+@@ -45,6 +45,9 @@ static int hsr_netdev_notify(struct noti
+       case NETDEV_CHANGE:     /* Link (carrier) state changes */
+               hsr_check_carrier_and_operstate(hsr);
+               break;
++      case NETDEV_CHANGENAME:
++              hsr_debugfs_rename(dev);
++              break;
+       case NETDEV_CHANGEADDR:
+               if (port->type == HSR_PT_MASTER) {
+                       /* This should not happen since there's no
+--- a/net/hsr/hsr_main.h
++++ b/net/hsr/hsr_main.h
+@@ -185,11 +185,15 @@ static inline u16 hsr_get_skb_sequence_n
+ }
+ #if IS_ENABLED(CONFIG_DEBUG_FS)
++void hsr_debugfs_rename(struct net_device *dev);
+ void hsr_debugfs_init(struct hsr_priv *priv, struct net_device *hsr_dev);
+ void hsr_debugfs_term(struct hsr_priv *priv);
+ void hsr_debugfs_create_root(void);
+ void hsr_debugfs_remove_root(void);
+ #else
++static inline void void hsr_debugfs_rename(struct net_device *dev)
++{
++}
+ static inline void hsr_debugfs_init(struct hsr_priv *priv,
+                                   struct net_device *hsr_dev)
+ {}
diff --git a/queue-5.4/hsr-reset-network-header-when-supervision-frame-is-created.patch b/queue-5.4/hsr-reset-network-header-when-supervision-frame-is-created.patch
new file mode 100644 (file)
index 0000000..a6ccb43
--- /dev/null
@@ -0,0 +1,58 @@
+From 3ed0a1d563903bdb4b4c36c58c4d9c1bcb23a6e6 Mon Sep 17 00:00:00 2001
+From: Taehee Yoo <ap420073@gmail.com>
+Date: Sun, 22 Dec 2019 11:27:08 +0000
+Subject: hsr: reset network header when supervision frame is created
+
+From: Taehee Yoo <ap420073@gmail.com>
+
+commit 3ed0a1d563903bdb4b4c36c58c4d9c1bcb23a6e6 upstream.
+
+The supervision frame is L2 frame.
+When supervision frame is created, hsr module doesn't set network header.
+If tap routine is enabled, dev_queue_xmit_nit() is called and it checks
+network_header. If network_header pointer wasn't set(or invalid),
+it resets network_header and warns.
+In order to avoid unnecessary warning message, resetting network_header
+is needed.
+
+Test commands:
+    ip netns add nst
+    ip link add veth0 type veth peer name veth1
+    ip link add veth2 type veth peer name veth3
+    ip link set veth1 netns nst
+    ip link set veth3 netns nst
+    ip link set veth0 up
+    ip link set veth2 up
+    ip link add hsr0 type hsr slave1 veth0 slave2 veth2
+    ip a a 192.168.100.1/24 dev hsr0
+    ip link set hsr0 up
+    ip netns exec nst ip link set veth1 up
+    ip netns exec nst ip link set veth3 up
+    ip netns exec nst ip link add hsr1 type hsr slave1 veth1 slave2 veth3
+    ip netns exec nst ip a a 192.168.100.2/24 dev hsr1
+    ip netns exec nst ip link set hsr1 up
+    tcpdump -nei veth0
+
+Splat looks like:
+[  175.852292][    C3] protocol 88fb is buggy, dev veth0
+
+Fixes: f421436a591d ("net/hsr: Add support for the High-availability Seamless Redundancy protocol (HSRv0)")
+Signed-off-by: Taehee Yoo <ap420073@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/hsr/hsr_device.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/net/hsr/hsr_device.c
++++ b/net/hsr/hsr_device.c
+@@ -272,6 +272,8 @@ static void send_hsr_supervision_frame(s
+                           skb->dev->dev_addr, skb->len) <= 0)
+               goto out;
+       skb_reset_mac_header(skb);
++      skb_reset_network_header(skb);
++      skb_reset_transport_header(skb);
+       if (hsr_ver > 0) {
+               hsr_tag = skb_put(skb, sizeof(struct hsr_tag));
diff --git a/queue-5.4/maintainers-append-missed-file-to-the-database.patch b/queue-5.4/maintainers-append-missed-file-to-the-database.patch
new file mode 100644 (file)
index 0000000..0739a4b
--- /dev/null
@@ -0,0 +1,33 @@
+From 44fe5cb32c7599a4059931a98794e0418619aa96 Mon Sep 17 00:00:00 2001
+From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Date: Wed, 4 Dec 2019 14:31:35 +0200
+Subject: MAINTAINERS: Append missed file to the database
+
+From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+
+commit 44fe5cb32c7599a4059931a98794e0418619aa96 upstream.
+
+When gpiolib.h internal header had been split to few, the commit 77cb907abe6c
+("gpiolib: acpi: Split ACPI stuff to gpiolib-acpi.h") in particular missed
+the MAINTAINERS database update. Do it here.
+
+Fixes: 77cb907abe6c ("gpiolib: acpi: Split ACPI stuff to gpiolib-acpi.h")
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
+Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ MAINTAINERS |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -6973,6 +6973,7 @@ L:       linux-acpi@vger.kernel.org
+ S:    Maintained
+ F:    Documentation/firmware-guide/acpi/gpio-properties.rst
+ F:    drivers/gpio/gpiolib-acpi.c
++F:    drivers/gpio/gpiolib-acpi.h
+ GPIO IR Transmitter
+ M:    Sean Young <sean@mess.org>
diff --git a/queue-5.4/pci-amlogic-fix-probed-clock-names.patch b/queue-5.4/pci-amlogic-fix-probed-clock-names.patch
new file mode 100644 (file)
index 0000000..aac1d81
--- /dev/null
@@ -0,0 +1,43 @@
+From eacaf7dcf08eb062a1059c6c115fa3fced3374ae Mon Sep 17 00:00:00 2001
+From: Neil Armstrong <narmstrong@baylibre.com>
+Date: Mon, 16 Sep 2019 14:50:18 +0200
+Subject: PCI: amlogic: Fix probed clock names
+
+From: Neil Armstrong <narmstrong@baylibre.com>
+
+commit eacaf7dcf08eb062a1059c6c115fa3fced3374ae upstream.
+
+Fix the clock names used in the probe function according
+to the bindings.
+
+Fixes: 9c0ef6d34fdb ("PCI: amlogic: Add the Amlogic Meson PCIe controller driver")
+Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
+Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+Reviewed-by: Andrew Murray <andrew.murray@arm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pci/controller/dwc/pci-meson.c |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/pci/controller/dwc/pci-meson.c
++++ b/drivers/pci/controller/dwc/pci-meson.c
+@@ -250,15 +250,15 @@ static int meson_pcie_probe_clocks(struc
+       if (IS_ERR(res->port_clk))
+               return PTR_ERR(res->port_clk);
+-      res->mipi_gate = meson_pcie_probe_clock(dev, "pcie_mipi_en", 0);
++      res->mipi_gate = meson_pcie_probe_clock(dev, "mipi", 0);
+       if (IS_ERR(res->mipi_gate))
+               return PTR_ERR(res->mipi_gate);
+-      res->general_clk = meson_pcie_probe_clock(dev, "pcie_general", 0);
++      res->general_clk = meson_pcie_probe_clock(dev, "general", 0);
+       if (IS_ERR(res->general_clk))
+               return PTR_ERR(res->general_clk);
+-      res->clk = meson_pcie_probe_clock(dev, "pcie", 0);
++      res->clk = meson_pcie_probe_clock(dev, "pclk", 0);
+       if (IS_ERR(res->clk))
+               return PTR_ERR(res->clk);
diff --git a/queue-5.4/perf-vendor-events-s390-remove-name-from-l1d_ro_excl_writes-description.patch b/queue-5.4/perf-vendor-events-s390-remove-name-from-l1d_ro_excl_writes-description.patch
new file mode 100644 (file)
index 0000000..18e63da
--- /dev/null
@@ -0,0 +1,43 @@
+From 58b3bafff8257c6946df5d6aeb215b8ac839ed2a Mon Sep 17 00:00:00 2001
+From: Ed Maste <emaste@freebsd.org>
+Date: Thu, 12 Dec 2019 14:53:46 +0000
+Subject: perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description
+
+From: Ed Maste <emaste@freebsd.org>
+
+commit 58b3bafff8257c6946df5d6aeb215b8ac839ed2a upstream.
+
+In 7fcfa9a2d9 an unintended prefix "Counter:18 Name:" was removed from
+the description for L1D_RO_EXCL_WRITES, but the extra name remained in
+the description.  Remove it too.
+
+Fixes: 7fcfa9a2d9a7 ("perf list: Fix s390 counter long description for L1D_RO_EXCL_WRITES")
+Signed-off-by: Ed Maste <emaste@freebsd.org>
+Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
+Cc: Greentime Hu <green.hu@gmail.com>
+Cc: Jiri Olsa <jolsa@redhat.com>
+Cc: Mark Rutland <mark.rutland@arm.com>
+Cc: Namhyung Kim <namhyung@kernel.org>
+Cc: Nick Hu <nickhu@andestech.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Thomas Richter <tmricht@linux.ibm.com>
+Cc: Vincent Chen <deanbo422@gmail.com>
+Link: http://lore.kernel.org/lkml/20191212145346.5026-1-emaste@freefall.freebsd.org
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ tools/perf/pmu-events/arch/s390/cf_z14/extended.json |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/tools/perf/pmu-events/arch/s390/cf_z14/extended.json
++++ b/tools/perf/pmu-events/arch/s390/cf_z14/extended.json
+@@ -4,7 +4,7 @@
+               "EventCode": "128",
+               "EventName": "L1D_RO_EXCL_WRITES",
+               "BriefDescription": "L1D Read-only Exclusive Writes",
+-              "PublicDescription": "L1D_RO_EXCL_WRITES A directory write to the Level-1 Data cache where the line was originally in a Read-Only state in the cache but has been updated to be in the Exclusive state that allows stores to the cache line"
++              "PublicDescription": "A directory write to the Level-1 Data cache where the line was originally in a Read-Only state in the cache but has been updated to be in the Exclusive state that allows stores to the cache line"
+       },
+       {
+               "Unit": "CPU-M-CF",
diff --git a/queue-5.4/reset-brcmstb-remove-resource-checks.patch b/queue-5.4/reset-brcmstb-remove-resource-checks.patch
new file mode 100644 (file)
index 0000000..676958d
--- /dev/null
@@ -0,0 +1,42 @@
+From ce89d8d3a70fa530e16f0b0f8994385a214cd0c0 Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Mon, 4 Nov 2019 10:15:02 -0800
+Subject: reset: brcmstb: Remove resource checks
+
+From: Florian Fainelli <f.fainelli@gmail.com>
+
+commit ce89d8d3a70fa530e16f0b0f8994385a214cd0c0 upstream.
+
+The use of IS_ALIGNED() is incorrect, the typical resource we pass looks
+like this: start: 0x8404318, size: 0x30. When using IS_ALIGNED() we will
+get the following 0x8404318 & (0x18 - 1) = 0x10 which is definitively
+not equal to 0, same goes with the size. These two checks would make the
+driver fail probing.
+
+Remove the resource checks, since there should be no constraint on the
+base addresse or size.
+
+Fixes: 77750bc089e4 ("reset: Add Broadcom STB SW_INIT reset controller driver")
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/reset/reset-brcmstb.c |    6 ------
+ 1 file changed, 6 deletions(-)
+
+--- a/drivers/reset/reset-brcmstb.c
++++ b/drivers/reset/reset-brcmstb.c
+@@ -91,12 +91,6 @@ static int brcmstb_reset_probe(struct pl
+               return -ENOMEM;
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+-      if (!IS_ALIGNED(res->start, SW_INIT_BANK_SIZE) ||
+-          !IS_ALIGNED(resource_size(res), SW_INIT_BANK_SIZE)) {
+-              dev_err(kdev, "incorrect register range\n");
+-              return -EINVAL;
+-      }
+-
+       priv->base = devm_ioremap_resource(kdev, res);
+       if (IS_ERR(priv->base))
+               return PTR_ERR(priv->base);
diff --git a/queue-5.4/s390-qeth-fix-false-reporting-of-vnic-char-config-failure.patch b/queue-5.4/s390-qeth-fix-false-reporting-of-vnic-char-config-failure.patch
new file mode 100644 (file)
index 0000000..01a6311
--- /dev/null
@@ -0,0 +1,46 @@
+From 68c57bfd52836e31bff33e5e1fc64029749d2c35 Mon Sep 17 00:00:00 2001
+From: Alexandra Winter <wintera@linux.ibm.com>
+Date: Mon, 23 Dec 2019 15:03:23 +0100
+Subject: s390/qeth: fix false reporting of VNIC CHAR config failure
+
+From: Alexandra Winter <wintera@linux.ibm.com>
+
+commit 68c57bfd52836e31bff33e5e1fc64029749d2c35 upstream.
+
+Symptom: Error message "Configuring the VNIC characteristics failed"
+in dmesg whenever an OSA interface on z15 is set online.
+
+The VNIC characteristics get re-programmed when setting a L2 device
+online. This follows the selected 'wanted' characteristics - with the
+exception that the INVISIBLE characteristic unconditionally gets
+switched off.
+
+For devices that don't support INVISIBLE (ie. OSA), the resulting
+IO failure raises a noisy error message
+("Configuring the VNIC characteristics failed").
+For IQD, INVISIBLE is off by default anyways.
+
+So don't unnecessarily special-case the INVISIBLE characteristic, and
+thereby suppress the misleading error message on OSA devices.
+
+Fixes: caa1f0b10d18 ("s390/qeth: add VNICC enable/disable support")
+Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
+Reviewed-by: Julian Wiedmann <jwi@linux.ibm.com>
+Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/s390/net/qeth_l2_main.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/s390/net/qeth_l2_main.c
++++ b/drivers/s390/net/qeth_l2_main.c
+@@ -2072,7 +2072,6 @@ static void qeth_l2_vnicc_init(struct qe
+       error |= qeth_l2_vnicc_recover_timeout(card, QETH_VNICC_LEARNING,
+                                              timeout);
+       chars_tmp = card->options.vnicc.wanted_chars ^ QETH_VNICC_DEFAULT;
+-      chars_tmp |= QETH_VNICC_BRIDGE_INVISIBLE;
+       chars_len = sizeof(card->options.vnicc.wanted_chars) * BITS_PER_BYTE;
+       for_each_set_bit(i, &chars_tmp, chars_len) {
+               vnicc = BIT(i);
diff --git a/queue-5.4/s390-qeth-fix-initialization-on-old-hw.patch b/queue-5.4/s390-qeth-fix-initialization-on-old-hw.patch
new file mode 100644 (file)
index 0000000..2657d50
--- /dev/null
@@ -0,0 +1,43 @@
+From 0b698c838e84149b690c7e979f78cccb6f8aa4b9 Mon Sep 17 00:00:00 2001
+From: Julian Wiedmann <jwi@linux.ibm.com>
+Date: Mon, 23 Dec 2019 15:03:26 +0100
+Subject: s390/qeth: fix initialization on old HW
+
+From: Julian Wiedmann <jwi@linux.ibm.com>
+
+commit 0b698c838e84149b690c7e979f78cccb6f8aa4b9 upstream.
+
+I stumbled over an old OSA model that claims to support DIAG_ASSIST,
+but then rejects the cmd to query its DIAG capabilities.
+
+In the old code this was ok, as the returned raw error code was > 0.
+Now that we translate the raw codes to errnos, the "rc < 0" causes us
+to fail the initialization of the device.
+
+The fix is trivial: don't bail out when the DIAG query fails. Such an
+error is not critical, we can still use the device (with a slightly
+reduced set of features).
+
+Fixes: 742d4d40831d ("s390/qeth: convert remaining legacy cmd callbacks")
+Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/s390/net/qeth_core_main.c |    4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+--- a/drivers/s390/net/qeth_core_main.c
++++ b/drivers/s390/net/qeth_core_main.c
+@@ -4968,10 +4968,8 @@ retriable:
+       }
+       if (qeth_adp_supported(card, IPA_SETADP_SET_DIAG_ASSIST)) {
+               rc = qeth_query_setdiagass(card);
+-              if (rc < 0) {
++              if (rc)
+                       QETH_CARD_TEXT_(card, 2, "8err%d", rc);
+-                      goto out;
+-              }
+       }
+       return 0;
+ out:
diff --git a/queue-5.4/s390-qeth-fix-qdio-teardown-after-early-init-error.patch b/queue-5.4/s390-qeth-fix-qdio-teardown-after-early-init-error.patch
new file mode 100644 (file)
index 0000000..dad63a9
--- /dev/null
@@ -0,0 +1,134 @@
+From 8b5026bc16938920e4780b9094c3bf20e1e0939d Mon Sep 17 00:00:00 2001
+From: Julian Wiedmann <jwi@linux.ibm.com>
+Date: Mon, 23 Dec 2019 15:03:21 +0100
+Subject: s390/qeth: fix qdio teardown after early init error
+
+From: Julian Wiedmann <jwi@linux.ibm.com>
+
+commit 8b5026bc16938920e4780b9094c3bf20e1e0939d upstream.
+
+qeth_l?_set_online() goes through a number of initialization steps, and
+on any error uses qeth_l?_stop_card() to tear down the residual state.
+
+The first initialization step is qeth_core_hardsetup_card(). When this
+fails after having established a QDIO context on the device
+(ie. somewhere after qeth_mpc_initialize()), qeth_l?_stop_card() doesn't
+shut down this QDIO context again (since the card state hasn't
+progressed from DOWN at this stage).
+
+Even worse, we then call qdio_free() as final teardown step to free the
+QDIO data structures - while some of them are still hooked into wider
+QDIO infrastructure such as the IRQ list. This is inevitably followed by
+use-after-frees and other nastyness.
+
+Fix this by unconditionally calling qeth_qdio_clear_card() to shut down
+the QDIO context, and also to halt/clear any pending activity on the
+various IO channels.
+Remove the naive attempt at handling the teardown in
+qeth_mpc_initialize(), it clearly doesn't suffice and we're handling it
+properly now in the wider teardown code.
+
+Fixes: 4a71df50047f ("qeth: new qeth device driver")
+Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/s390/net/qeth_core_main.c |   20 ++++++++------------
+ drivers/s390/net/qeth_l2_main.c   |    2 +-
+ drivers/s390/net/qeth_l3_main.c   |    2 +-
+ 3 files changed, 10 insertions(+), 14 deletions(-)
+
+--- a/drivers/s390/net/qeth_core_main.c
++++ b/drivers/s390/net/qeth_core_main.c
+@@ -2451,50 +2451,46 @@ static int qeth_mpc_initialize(struct qe
+       rc = qeth_cm_enable(card);
+       if (rc) {
+               QETH_CARD_TEXT_(card, 2, "2err%d", rc);
+-              goto out_qdio;
++              return rc;
+       }
+       rc = qeth_cm_setup(card);
+       if (rc) {
+               QETH_CARD_TEXT_(card, 2, "3err%d", rc);
+-              goto out_qdio;
++              return rc;
+       }
+       rc = qeth_ulp_enable(card);
+       if (rc) {
+               QETH_CARD_TEXT_(card, 2, "4err%d", rc);
+-              goto out_qdio;
++              return rc;
+       }
+       rc = qeth_ulp_setup(card);
+       if (rc) {
+               QETH_CARD_TEXT_(card, 2, "5err%d", rc);
+-              goto out_qdio;
++              return rc;
+       }
+       rc = qeth_alloc_qdio_queues(card);
+       if (rc) {
+               QETH_CARD_TEXT_(card, 2, "5err%d", rc);
+-              goto out_qdio;
++              return rc;
+       }
+       rc = qeth_qdio_establish(card);
+       if (rc) {
+               QETH_CARD_TEXT_(card, 2, "6err%d", rc);
+               qeth_free_qdio_queues(card);
+-              goto out_qdio;
++              return rc;
+       }
+       rc = qeth_qdio_activate(card);
+       if (rc) {
+               QETH_CARD_TEXT_(card, 2, "7err%d", rc);
+-              goto out_qdio;
++              return rc;
+       }
+       rc = qeth_dm_act(card);
+       if (rc) {
+               QETH_CARD_TEXT_(card, 2, "8err%d", rc);
+-              goto out_qdio;
++              return rc;
+       }
+       return 0;
+-out_qdio:
+-      qeth_qdio_clear_card(card, !IS_IQD(card));
+-      qdio_free(CARD_DDEV(card));
+-      return rc;
+ }
+ void qeth_print_status_message(struct qeth_card *card)
+--- a/drivers/s390/net/qeth_l2_main.c
++++ b/drivers/s390/net/qeth_l2_main.c
+@@ -287,12 +287,12 @@ static void qeth_l2_stop_card(struct qet
+               card->state = CARD_STATE_HARDSETUP;
+       }
+       if (card->state == CARD_STATE_HARDSETUP) {
+-              qeth_qdio_clear_card(card, 0);
+               qeth_drain_output_queues(card);
+               qeth_clear_working_pool_list(card);
+               card->state = CARD_STATE_DOWN;
+       }
++      qeth_qdio_clear_card(card, 0);
+       flush_workqueue(card->event_wq);
+       card->info.mac_bits &= ~QETH_LAYER2_MAC_REGISTERED;
+       card->info.promisc_mode = 0;
+--- a/drivers/s390/net/qeth_l3_main.c
++++ b/drivers/s390/net/qeth_l3_main.c
+@@ -1426,12 +1426,12 @@ static void qeth_l3_stop_card(struct qet
+               card->state = CARD_STATE_HARDSETUP;
+       }
+       if (card->state == CARD_STATE_HARDSETUP) {
+-              qeth_qdio_clear_card(card, 0);
+               qeth_drain_output_queues(card);
+               qeth_clear_working_pool_list(card);
+               card->state = CARD_STATE_DOWN;
+       }
++      qeth_qdio_clear_card(card, 0);
+       flush_workqueue(card->event_wq);
+       card->info.promisc_mode = 0;
+ }
diff --git a/queue-5.4/s390-qeth-fix-vnicc_is_in_use-if-rx_bcast-not-set.patch b/queue-5.4/s390-qeth-fix-vnicc_is_in_use-if-rx_bcast-not-set.patch
new file mode 100644 (file)
index 0000000..7fd7263
--- /dev/null
@@ -0,0 +1,42 @@
+From e8a66d800471e2df7f0b484e2e46898b21d1fa82 Mon Sep 17 00:00:00 2001
+From: Alexandra Winter <wintera@linux.ibm.com>
+Date: Mon, 23 Dec 2019 15:03:24 +0100
+Subject: s390/qeth: Fix vnicc_is_in_use if rx_bcast not set
+
+From: Alexandra Winter <wintera@linux.ibm.com>
+
+commit e8a66d800471e2df7f0b484e2e46898b21d1fa82 upstream.
+
+Symptom: After vnicc/rx_bcast has been manually set to 0,
+       bridge_* sysfs parameters can still be set or written.
+Only occurs on HiperSockets, as OSA doesn't support changing rx_bcast.
+
+Vnic characteristics and bridgeport settings are mutually exclusive.
+rx_bcast defaults to 1, so manually setting it to 0 should disable
+bridge_* parameters.
+
+Instead it makes sense here to check the supported mask. If the card
+does not support vnicc at all, bridge commands are always allowed.
+
+Fixes: caa1f0b10d18 ("s390/qeth: add VNICC enable/disable support")
+Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
+Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/s390/net/qeth_l2_main.c |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/drivers/s390/net/qeth_l2_main.c
++++ b/drivers/s390/net/qeth_l2_main.c
+@@ -1983,8 +1983,7 @@ int qeth_l2_vnicc_get_timeout(struct qet
+ /* check if VNICC is currently enabled */
+ bool qeth_l2_vnicc_is_in_use(struct qeth_card *card)
+ {
+-      /* if everything is turned off, VNICC is not active */
+-      if (!card->options.vnicc.cur_chars)
++      if (!card->options.vnicc.sup_chars)
+               return false;
+       /* default values are only OK if rx_bcast was not enabled by user
+        * or the card is offline.
diff --git a/queue-5.4/s390-qeth-vnicc-fix-init-to-default.patch b/queue-5.4/s390-qeth-vnicc-fix-init-to-default.patch
new file mode 100644 (file)
index 0000000..6e7df15
--- /dev/null
@@ -0,0 +1,39 @@
+From d1b9ae1864fc3c000e0eb4af8482d78c63e0915a Mon Sep 17 00:00:00 2001
+From: Alexandra Winter <wintera@linux.ibm.com>
+Date: Mon, 23 Dec 2019 15:03:25 +0100
+Subject: s390/qeth: vnicc Fix init to default
+
+From: Alexandra Winter <wintera@linux.ibm.com>
+
+commit d1b9ae1864fc3c000e0eb4af8482d78c63e0915a upstream.
+
+During vnicc_init wanted_char should be compared to cur_char and not
+to QETH_VNICC_DEFAULT. Without this patch there is no way to enforce
+the default values as desired values.
+
+Note, that it is expected, that a card comes online with default values.
+This patch was tested with private card firmware.
+
+Fixes: caa1f0b10d18 ("s390/qeth: add VNICC enable/disable support")
+Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
+Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/s390/net/qeth_l2_main.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/s390/net/qeth_l2_main.c
++++ b/drivers/s390/net/qeth_l2_main.c
+@@ -2070,7 +2070,9 @@ static void qeth_l2_vnicc_init(struct qe
+       /* enforce assumed default values and recover settings, if changed  */
+       error |= qeth_l2_vnicc_recover_timeout(card, QETH_VNICC_LEARNING,
+                                              timeout);
+-      chars_tmp = card->options.vnicc.wanted_chars ^ QETH_VNICC_DEFAULT;
++      /* Change chars, if necessary  */
++      chars_tmp = card->options.vnicc.wanted_chars ^
++                  card->options.vnicc.cur_chars;
+       chars_len = sizeof(card->options.vnicc.wanted_chars) * BITS_PER_BYTE;
+       for_each_set_bit(i, &chars_tmp, chars_len) {
+               vnicc = BIT(i);
diff --git a/queue-5.4/scsi-smartpqi-update-attribute-name-to-driver_version.patch b/queue-5.4/scsi-smartpqi-update-attribute-name-to-driver_version.patch
new file mode 100644 (file)
index 0000000..36b0086
--- /dev/null
@@ -0,0 +1,32 @@
+From a2bdd0c904da12b223c8d7218e98138d4e6d9f4f Mon Sep 17 00:00:00 2001
+From: Paul Menzel <pmenzel@molgen.mpg.de>
+Date: Mon, 9 Dec 2019 16:06:53 +0100
+Subject: scsi: smartpqi: Update attribute name to `driver_version`
+
+From: Paul Menzel <pmenzel@molgen.mpg.de>
+
+commit a2bdd0c904da12b223c8d7218e98138d4e6d9f4f upstream.
+
+The file name in the documentation is currently incorrect, so fix it.
+
+Link: https://lore.kernel.org/r/fe264d62-0371-ea59-b66a-6d855290ce65@molgen.mpg.de
+Fixes: 6d90615f1346 ("scsi: smartpqi: add sysfs entries")
+Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ Documentation/scsi/smartpqi.txt |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Documentation/scsi/smartpqi.txt
++++ b/Documentation/scsi/smartpqi.txt
+@@ -29,7 +29,7 @@ smartpqi specific entries in /sys
+   smartpqi host attributes:
+   -------------------------
+   /sys/class/scsi_host/host*/rescan
+-  /sys/class/scsi_host/host*/version
++  /sys/class/scsi_host/host*/driver_version
+   The host rescan attribute is a write only attribute. Writing to this
+   attribute will trigger the driver to scan for new, changed, or removed
index c185d8608c4fc8723ec8f33c782699404c92fea9..5e06741246279b1e34dc2b0f0e7dcfc35f3ed558 100644 (file)
@@ -25,3 +25,22 @@ fs-move-guard_bio_eod-after-bio_set_op_attrs.patch
 scsi-mpt3sas-fix-double-free-in-attach-error-handling.patch
 gpio-fix-error-message-on-out-of-range-gpio-in-lookup-table.patch
 pm-devfreq-tegra-add-common_clk-dependency.patch
+pci-amlogic-fix-probed-clock-names.patch
+drm-tegra-fix-ordering-of-cleanup-code.patch
+hsr-add-hsr-root-debugfs-directory.patch
+hsr-rename-debugfs-file-when-interface-name-is-changed.patch
+hsr-reset-network-header-when-supervision-frame-is-created.patch
+s390-qeth-fix-qdio-teardown-after-early-init-error.patch
+s390-qeth-fix-false-reporting-of-vnic-char-config-failure.patch
+s390-qeth-fix-vnicc_is_in_use-if-rx_bcast-not-set.patch
+s390-qeth-vnicc-fix-init-to-default.patch
+s390-qeth-fix-initialization-on-old-hw.patch
+cifs-adjust-indentation-in-smb2_open_file.patch
+scsi-smartpqi-update-attribute-name-to-driver_version.patch
+maintainers-append-missed-file-to-the-database.patch
+ath9k-use-iowrite32-over-__raw_writel.patch
+can-j1939-fix-address-claim-code-example.patch
+dt-bindings-reset-fix-brcmstb-reset-example.patch
+reset-brcmstb-remove-resource-checks.patch
+afs-fix-missing-cell-comparison-in-afs_test_super.patch
+perf-vendor-events-s390-remove-name-from-l1d_ro_excl_writes-description.patch