From c93deb476b7e5d495ab55c4b55cde78a36fccd87 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 15 Jan 2020 22:43:10 +0100 Subject: [PATCH] 5.4-stable patches 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 --- ...ng-cell-comparison-in-afs_test_super.patch | 65 +++++++++ ...th9k-use-iowrite32-over-__raw_writel.patch | 36 +++++ ...j1939-fix-address-claim-code-example.patch | 36 +++++ ...adjust-indentation-in-smb2_open_file.patch | 45 ++++++ ...m-tegra-fix-ordering-of-cleanup-code.patch | 53 +++++++ ...ings-reset-fix-brcmstb-reset-example.patch | 31 ++++ .../hsr-add-hsr-root-debugfs-directory.patch | 129 +++++++++++++++++ ...-file-when-interface-name-is-changed.patch | 75 ++++++++++ ...er-when-supervision-frame-is-created.patch | 58 ++++++++ ...s-append-missed-file-to-the-database.patch | 33 +++++ .../pci-amlogic-fix-probed-clock-names.patch | 43 ++++++ ...-from-l1d_ro_excl_writes-description.patch | 43 ++++++ ...reset-brcmstb-remove-resource-checks.patch | 42 ++++++ ...eporting-of-vnic-char-config-failure.patch | 46 ++++++ ...90-qeth-fix-initialization-on-old-hw.patch | 43 ++++++ ...qdio-teardown-after-early-init-error.patch | 134 ++++++++++++++++++ ...-vnicc_is_in_use-if-rx_bcast-not-set.patch | 42 ++++++ .../s390-qeth-vnicc-fix-init-to-default.patch | 39 +++++ ...ate-attribute-name-to-driver_version.patch | 32 +++++ queue-5.4/series | 19 +++ 20 files changed, 1044 insertions(+) create mode 100644 queue-5.4/afs-fix-missing-cell-comparison-in-afs_test_super.patch create mode 100644 queue-5.4/ath9k-use-iowrite32-over-__raw_writel.patch create mode 100644 queue-5.4/can-j1939-fix-address-claim-code-example.patch create mode 100644 queue-5.4/cifs-adjust-indentation-in-smb2_open_file.patch create mode 100644 queue-5.4/drm-tegra-fix-ordering-of-cleanup-code.patch create mode 100644 queue-5.4/dt-bindings-reset-fix-brcmstb-reset-example.patch create mode 100644 queue-5.4/hsr-add-hsr-root-debugfs-directory.patch create mode 100644 queue-5.4/hsr-rename-debugfs-file-when-interface-name-is-changed.patch create mode 100644 queue-5.4/hsr-reset-network-header-when-supervision-frame-is-created.patch create mode 100644 queue-5.4/maintainers-append-missed-file-to-the-database.patch create mode 100644 queue-5.4/pci-amlogic-fix-probed-clock-names.patch create mode 100644 queue-5.4/perf-vendor-events-s390-remove-name-from-l1d_ro_excl_writes-description.patch create mode 100644 queue-5.4/reset-brcmstb-remove-resource-checks.patch create mode 100644 queue-5.4/s390-qeth-fix-false-reporting-of-vnic-char-config-failure.patch create mode 100644 queue-5.4/s390-qeth-fix-initialization-on-old-hw.patch create mode 100644 queue-5.4/s390-qeth-fix-qdio-teardown-after-early-init-error.patch create mode 100644 queue-5.4/s390-qeth-fix-vnicc_is_in_use-if-rx_bcast-not-set.patch create mode 100644 queue-5.4/s390-qeth-vnicc-fix-init-to-default.patch create mode 100644 queue-5.4/scsi-smartpqi-update-attribute-name-to-driver_version.patch 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 index 00000000000..40fc9414f1b --- /dev/null +++ b/queue-5.4/afs-fix-missing-cell-comparison-in-afs_test_super.patch @@ -0,0 +1,65 @@ +From 106bc79843c3c6f4f00753d1f46e54e815f99377 Mon Sep 17 00:00:00 2001 +From: David Howells +Date: Wed, 11 Dec 2019 08:06:08 +0000 +Subject: afs: Fix missing cell comparison in afs_test_super() + +From: David Howells + +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 +Signed-off-by: David Howells +Reviewed-by: Marc Dionne +Tested-by: Jonathan Billings +cc: Todd DeSantis +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..b29ec08e7f9 --- /dev/null +++ b/queue-5.4/ath9k-use-iowrite32-over-__raw_writel.patch @@ -0,0 +1,36 @@ +From 22d0d5ae7a089967e9295a06694aa3e8a812b15e Mon Sep 17 00:00:00 2001 +From: Christian Lamparter +Date: Sun, 24 Nov 2019 15:40:59 +0100 +Subject: ath9k: use iowrite32 over __raw_writel + +From: Christian Lamparter + +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 +Signed-off-by: Kalle Valo +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..a303be4cbb9 --- /dev/null +++ b/queue-5.4/can-j1939-fix-address-claim-code-example.patch @@ -0,0 +1,36 @@ +From 8ac9d71d601374222a230804e419cd40c4492e1c Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde +Date: Thu, 21 Nov 2019 10:47:50 +0100 +Subject: can: j1939: fix address claim code example + +From: Marc Kleine-Budde + +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 +Signed-off-by: Marc Kleine-Budde +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..c58f6ceacaf --- /dev/null +++ b/queue-5.4/cifs-adjust-indentation-in-smb2_open_file.patch @@ -0,0 +1,45 @@ +From 7935799e041ae10d380d04ea23868240f082bd11 Mon Sep 17 00:00:00 2001 +From: Nathan Chancellor +Date: Tue, 17 Dec 2019 20:04:51 -0700 +Subject: cifs: Adjust indentation in smb2_open_file + +From: Nathan Chancellor + +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 +Signed-off-by: Steve French +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..862e68c548c --- /dev/null +++ b/queue-5.4/drm-tegra-fix-ordering-of-cleanup-code.patch @@ -0,0 +1,53 @@ +From 051172e8c1ceef8749f19faacc1d3bef65d20d8d Mon Sep 17 00:00:00 2001 +From: Thierry Reding +Date: Wed, 25 Sep 2019 13:26:59 +0200 +Subject: drm/tegra: Fix ordering of cleanup code + +From: Thierry Reding + +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 +Reviewed-by: Dmitry Osipenko +Tested-by: Dmitry Osipenko +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..793d5308dab --- /dev/null +++ b/queue-5.4/dt-bindings-reset-fix-brcmstb-reset-example.patch @@ -0,0 +1,31 @@ +From 392a9f63058f2cdcec8363b849a25532ee40da9f Mon Sep 17 00:00:00 2001 +From: Florian Fainelli +Date: Mon, 4 Nov 2019 10:15:01 -0800 +Subject: dt-bindings: reset: Fix brcmstb-reset example + +From: Florian Fainelli + +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 +Signed-off-by: Philipp Zabel +Signed-off-by: Greg Kroah-Hartman + +--- + 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: + }; + + ðernet_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 index 00000000000..1a3f1188415 --- /dev/null +++ b/queue-5.4/hsr-add-hsr-root-debugfs-directory.patch @@ -0,0 +1,129 @@ +From c6c4ccd7f96993e106dfea7ef18127f972f2db5e Mon Sep 17 00:00:00 2001 +From: Taehee Yoo +Date: Sun, 22 Dec 2019 11:26:27 +0000 +Subject: hsr: add hsr root debugfs directory + +From: Taehee Yoo + +commit c6c4ccd7f96993e106dfea7ef18127f972f2db5e upstream. + +In current hsr code, when hsr interface is created, it creates debugfs +directory /sys/kernel/debug/. +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 +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..d41fd2c4dff --- /dev/null +++ b/queue-5.4/hsr-rename-debugfs-file-when-interface-name-is-changed.patch @@ -0,0 +1,75 @@ +From 4c2d5e33dcd3a6333a7895be3b542ff3d373177c Mon Sep 17 00:00:00 2001 +From: Taehee Yoo +Date: Sun, 22 Dec 2019 11:26:39 +0000 +Subject: hsr: rename debugfs file when interface name is changed + +From: Taehee Yoo + +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 +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..a6ccb437030 --- /dev/null +++ b/queue-5.4/hsr-reset-network-header-when-supervision-frame-is-created.patch @@ -0,0 +1,58 @@ +From 3ed0a1d563903bdb4b4c36c58c4d9c1bcb23a6e6 Mon Sep 17 00:00:00 2001 +From: Taehee Yoo +Date: Sun, 22 Dec 2019 11:27:08 +0000 +Subject: hsr: reset network header when supervision frame is created + +From: Taehee Yoo + +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 +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..0739a4bd509 --- /dev/null +++ b/queue-5.4/maintainers-append-missed-file-to-the-database.patch @@ -0,0 +1,33 @@ +From 44fe5cb32c7599a4059931a98794e0418619aa96 Mon Sep 17 00:00:00 2001 +From: Andy Shevchenko +Date: Wed, 4 Dec 2019 14:31:35 +0200 +Subject: MAINTAINERS: Append missed file to the database + +From: Andy Shevchenko + +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 +Acked-by: Mika Westerberg +Signed-off-by: Bartosz Golaszewski +Signed-off-by: Greg Kroah-Hartman + +--- + 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 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 index 00000000000..aac1d81afed --- /dev/null +++ b/queue-5.4/pci-amlogic-fix-probed-clock-names.patch @@ -0,0 +1,43 @@ +From eacaf7dcf08eb062a1059c6c115fa3fced3374ae Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Mon, 16 Sep 2019 14:50:18 +0200 +Subject: PCI: amlogic: Fix probed clock names + +From: Neil Armstrong + +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 +Signed-off-by: Lorenzo Pieralisi +Reviewed-by: Andrew Murray +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..18e63da674e --- /dev/null +++ b/queue-5.4/perf-vendor-events-s390-remove-name-from-l1d_ro_excl_writes-description.patch @@ -0,0 +1,43 @@ +From 58b3bafff8257c6946df5d6aeb215b8ac839ed2a Mon Sep 17 00:00:00 2001 +From: Ed Maste +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 + +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 +Cc: Alexander Shishkin +Cc: Greentime Hu +Cc: Jiri Olsa +Cc: Mark Rutland +Cc: Namhyung Kim +Cc: Nick Hu +Cc: Peter Zijlstra +Cc: Thomas Richter +Cc: Vincent Chen +Link: http://lore.kernel.org/lkml/20191212145346.5026-1-emaste@freefall.freebsd.org +Signed-off-by: Arnaldo Carvalho de Melo +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..676958ddc93 --- /dev/null +++ b/queue-5.4/reset-brcmstb-remove-resource-checks.patch @@ -0,0 +1,42 @@ +From ce89d8d3a70fa530e16f0b0f8994385a214cd0c0 Mon Sep 17 00:00:00 2001 +From: Florian Fainelli +Date: Mon, 4 Nov 2019 10:15:02 -0800 +Subject: reset: brcmstb: Remove resource checks + +From: Florian Fainelli + +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 +Signed-off-by: Philipp Zabel +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..01a63116205 --- /dev/null +++ b/queue-5.4/s390-qeth-fix-false-reporting-of-vnic-char-config-failure.patch @@ -0,0 +1,46 @@ +From 68c57bfd52836e31bff33e5e1fc64029749d2c35 Mon Sep 17 00:00:00 2001 +From: Alexandra Winter +Date: Mon, 23 Dec 2019 15:03:23 +0100 +Subject: s390/qeth: fix false reporting of VNIC CHAR config failure + +From: Alexandra Winter + +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 +Reviewed-by: Julian Wiedmann +Signed-off-by: Julian Wiedmann +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..2657d50bf06 --- /dev/null +++ b/queue-5.4/s390-qeth-fix-initialization-on-old-hw.patch @@ -0,0 +1,43 @@ +From 0b698c838e84149b690c7e979f78cccb6f8aa4b9 Mon Sep 17 00:00:00 2001 +From: Julian Wiedmann +Date: Mon, 23 Dec 2019 15:03:26 +0100 +Subject: s390/qeth: fix initialization on old HW + +From: Julian Wiedmann + +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 +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..dad63a9a150 --- /dev/null +++ b/queue-5.4/s390-qeth-fix-qdio-teardown-after-early-init-error.patch @@ -0,0 +1,134 @@ +From 8b5026bc16938920e4780b9094c3bf20e1e0939d Mon Sep 17 00:00:00 2001 +From: Julian Wiedmann +Date: Mon, 23 Dec 2019 15:03:21 +0100 +Subject: s390/qeth: fix qdio teardown after early init error + +From: Julian Wiedmann + +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 +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..7fd726358d5 --- /dev/null +++ b/queue-5.4/s390-qeth-fix-vnicc_is_in_use-if-rx_bcast-not-set.patch @@ -0,0 +1,42 @@ +From e8a66d800471e2df7f0b484e2e46898b21d1fa82 Mon Sep 17 00:00:00 2001 +From: Alexandra Winter +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 + +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 +Signed-off-by: Julian Wiedmann +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..6e7df1599ea --- /dev/null +++ b/queue-5.4/s390-qeth-vnicc-fix-init-to-default.patch @@ -0,0 +1,39 @@ +From d1b9ae1864fc3c000e0eb4af8482d78c63e0915a Mon Sep 17 00:00:00 2001 +From: Alexandra Winter +Date: Mon, 23 Dec 2019 15:03:25 +0100 +Subject: s390/qeth: vnicc Fix init to default + +From: Alexandra Winter + +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 +Signed-off-by: Julian Wiedmann +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..36b0086fbff --- /dev/null +++ b/queue-5.4/scsi-smartpqi-update-attribute-name-to-driver_version.patch @@ -0,0 +1,32 @@ +From a2bdd0c904da12b223c8d7218e98138d4e6d9f4f Mon Sep 17 00:00:00 2001 +From: Paul Menzel +Date: Mon, 9 Dec 2019 16:06:53 +0100 +Subject: scsi: smartpqi: Update attribute name to `driver_version` + +From: Paul Menzel + +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 +Signed-off-by: Martin K. Petersen +Signed-off-by: Greg Kroah-Hartman + +--- + 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 diff --git a/queue-5.4/series b/queue-5.4/series index c185d8608c4..5e067412462 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -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 -- 2.47.3