Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKernel Build Daemon <kbuild@suse.de>2017-10-20 07:04:44 +0200
committerKernel Build Daemon <kbuild@suse.de>2017-10-20 07:04:44 +0200
commitc872d849092ccc14129cac121ea0742ca9871370 (patch)
treed58599e57403fe1cc08db38433e6be99d9c499b3
parent6aafdd96bb14eafe6cd97b679a94c085dba40fb4 (diff)
parent2d5c7fb3d621f97aa38bbe3ad5e6837efb9a3280 (diff)
Merge branch 'SLE12-SP3' into openSUSE-42.3
-rw-r--r--patches.drivers/hns-0002-net-phy-Fix-lack-of-reference-count-on-PHY-driver.patch15
-rw-r--r--patches.drivers/hns-0003-phy-fix-error-case-of-phy_led_triggers_-un-register.patch11
-rw-r--r--patches.drivers/nvmet-synchronize-sqhd-update.patch61
-rw-r--r--patches.drivers/team-call-netdev_change_features-out-of-team-lock.patch87
-rw-r--r--series.conf48
5 files changed, 179 insertions, 43 deletions
diff --git a/patches.drivers/hns-0002-net-phy-Fix-lack-of-reference-count-on-PHY-driver.patch b/patches.drivers/hns-0002-net-phy-Fix-lack-of-reference-count-on-PHY-driver.patch
index 7e695c45ee..065405b2c2 100644
--- a/patches.drivers/hns-0002-net-phy-Fix-lack-of-reference-count-on-PHY-driver.patch
+++ b/patches.drivers/hns-0002-net-phy-Fix-lack-of-reference-count-on-PHY-driver.patch
@@ -61,14 +61,12 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
- drivers/net/phy/phy_device.c | 7 +++++++
+ drivers/net/phy/phy_device.c | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
-index e5111a869c02..650613d337ad 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -871,6 +871,11 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
+@@ -871,6 +871,11 @@ int phy_attach_direct(struct net_device
return -EIO;
}
@@ -80,15 +78,15 @@ index e5111a869c02..650613d337ad 100644
get_device(d);
/* Assume that if there is no driver, that it doesn't
-@@ -921,6 +926,7 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
-
+@@ -921,6 +926,7 @@ int phy_attach_direct(struct net_device
error:
+ phy_detach(phydev);
put_device(d);
+ module_put(d->driver->owner);
if (ndev_owner != bus->owner)
module_put(bus->owner);
return err;
-@@ -1000,6 +1006,7 @@ void phy_detach(struct phy_device *phydev)
+@@ -1000,6 +1006,7 @@ void phy_detach(struct phy_device *phyde
bus = phydev->mdio.bus;
put_device(&phydev->mdio.dev);
@@ -96,6 +94,3 @@ index e5111a869c02..650613d337ad 100644
if (ndev_owner != bus->owner)
module_put(bus->owner);
}
---
-2.12.3
-
diff --git a/patches.drivers/hns-0003-phy-fix-error-case-of-phy_led_triggers_-un-register.patch b/patches.drivers/hns-0003-phy-fix-error-case-of-phy_led_triggers_-un-register.patch
index 1ebea145d7..5bf23400bf 100644
--- a/patches.drivers/hns-0003-phy-fix-error-case-of-phy_led_triggers_-un-register.patch
+++ b/patches.drivers/hns-0003-phy-fix-error-case-of-phy_led_triggers_-un-register.patch
@@ -15,14 +15,12 @@ Signed-off-by: Woojung Huh <woojung.huh@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
- drivers/net/phy/phy_device.c | 6 +++---
+ drivers/net/phy/phy_device.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
-index 650613d337ad..fa626cc48821 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -918,13 +918,13 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
+@@ -913,13 +913,13 @@ int phy_attach_direct(struct net_device
*/
err = phy_init_hw(phydev);
if (err)
@@ -37,8 +35,5 @@ index 650613d337ad..fa626cc48821 100644
error:
+ phy_detach(phydev);
put_device(d);
- module_put(d->driver->owner);
if (ndev_owner != bus->owner)
---
-2.12.3
-
+ module_put(bus->owner);
diff --git a/patches.drivers/nvmet-synchronize-sqhd-update.patch b/patches.drivers/nvmet-synchronize-sqhd-update.patch
new file mode 100644
index 0000000000..f6f9686a17
--- /dev/null
+++ b/patches.drivers/nvmet-synchronize-sqhd-update.patch
@@ -0,0 +1,61 @@
+From: James Smart <jsmart2021@gmail.com>
+Date: Wed, 18 Oct 2017 14:33:59 -0700
+Subject: nvmet: synchronize sqhd update
+Patch-mainline: Queued in subsystem maintainer repository
+Git-repo: git://git.infradead.org/nvme.git
+Git-commit: f9cf2a64912d67c9cf49c316a0a0ada0ea7ed1da
+References: bsc#1063349
+
+In testing target io in read write mix, we did indeed get into cases where
+sqhd didn't update properly and slowly missed enough updates to shutdown
+the queue.
+
+Protect the updating sqhd by using cmpxchg, and for that turn the sqhd
+field into a u32 so that cmpxchg works on it for all architectures.
+
+Signed-off-by: James Smart <james.smart@broadcom.com>
+Signed-off-by: Christoph Hellwig <hch@lst.de>
+Acked-by: Johannes Thumshirn <jthumshirn@suse.de>
+---
+ drivers/nvme/target/core.c | 15 ++++++++++++---
+ drivers/nvme/target/nvmet.h | 2 +-
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+--- a/drivers/nvme/target/core.c
++++ b/drivers/nvme/target/core.c
+@@ -384,12 +384,21 @@ struct nvmet_ns *nvmet_ns_alloc(struct n
+
+ static void __nvmet_req_complete(struct nvmet_req *req, u16 status)
+ {
++ u32 old_sqhd, new_sqhd;
++ u16 sqhd;
++
+ if (status)
+ nvmet_set_status(req, status);
+
+- if (req->sq->size)
+- req->sq->sqhd = (req->sq->sqhd + 1) % req->sq->size;
+- req->rsp->sq_head = cpu_to_le16(req->sq->sqhd);
++ if (req->sq->size) {
++ do {
++ old_sqhd = req->sq->sqhd;
++ new_sqhd = (old_sqhd + 1) % req->sq->size;
++ } while (cmpxchg(&req->sq->sqhd, old_sqhd, new_sqhd) !=
++ old_sqhd);
++ }
++ sqhd = req->sq->sqhd & 0x0000FFFF;
++ req->rsp->sq_head = cpu_to_le16(sqhd);
+ req->rsp->sq_id = cpu_to_le16(req->sq->qid);
+ req->rsp->command_id = req->cmd->common.command_id;
+
+--- a/drivers/nvme/target/nvmet.h
++++ b/drivers/nvme/target/nvmet.h
+@@ -76,7 +76,7 @@ struct nvmet_sq {
+ struct completion free_done;
+ struct completion confirm_done;
+ #ifndef __GENKSYMS__
+- u16 sqhd;
++ u32 sqhd;
+ #endif
+ };
+
diff --git a/patches.drivers/team-call-netdev_change_features-out-of-team-lock.patch b/patches.drivers/team-call-netdev_change_features-out-of-team-lock.patch
new file mode 100644
index 0000000000..7f5191b117
--- /dev/null
+++ b/patches.drivers/team-call-netdev_change_features-out-of-team-lock.patch
@@ -0,0 +1,87 @@
+From: Xin Long <lucien.xin@gmail.com>
+Date: Thu, 6 Apr 2017 13:41:28 +0800
+Subject: team: call netdev_change_features out of team lock
+Patch-mainline: v4.11-rc7
+Git-commit: 16cf72bb085626ae1323e59985d6cbb58a8f71d8
+References: bsc#1055567
+
+Commit f6988cb63a4e ("team: don't call netdev_change_features under
+team->lock") fixed the issue calling netdev_change_features under
+team->lock for team_compute_features.
+
+But there are still two places where it calls netdev_change_features
+under team->lock, team_port_add and team_port_del. It may cause a
+dead lock when the slave port with LRO enabled is added.
+
+This patch is to fix this dead lock by moving netdev_change_features
+out of team_port_add and team_port_del, and call it after unlocking
+the team lock.
+
+Reported-by: Patrick Talbert <ptalbert@redhat.com>
+Signed-off-by: Xin Long <lucien.xin@gmail.com>
+Acked-by: Jiri Pirko <jiri@mellanox.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Benjamin Poirier <bpoirier@suse.com>
+---
+ drivers/net/team/team.c | 19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+--- a/drivers/net/team/team.c
++++ b/drivers/net/team/team.c
+@@ -985,7 +985,7 @@ static void team_port_disable(struct tea
+ NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \
+ NETIF_F_HIGHDMA | NETIF_F_LRO)
+
+-static void ___team_compute_features(struct team *team)
++static void __team_compute_features(struct team *team)
+ {
+ struct team_port *port;
+ u32 vlan_features = TEAM_VLAN_FEATURES & NETIF_F_ALL_FOR_ALL;
+@@ -1011,16 +1011,10 @@ static void ___team_compute_features(str
+ team->dev->priv_flags |= IFF_XMIT_DST_RELEASE;
+ }
+
+-static void __team_compute_features(struct team *team)
+-{
+- ___team_compute_features(team);
+- netdev_change_features(team->dev);
+-}
+-
+ static void team_compute_features(struct team *team)
+ {
+ mutex_lock(&team->lock);
+- ___team_compute_features(team);
++ __team_compute_features(team);
+ mutex_unlock(&team->lock);
+ netdev_change_features(team->dev);
+ }
+@@ -1639,6 +1633,7 @@ static void team_uninit(struct net_devic
+ team_notify_peers_fini(team);
+ team_queue_override_fini(team);
+ mutex_unlock(&team->lock);
++ netdev_change_features(dev);
+ }
+
+ static void team_destructor(struct net_device *dev)
+@@ -1924,6 +1919,10 @@ static int team_add_slave(struct net_dev
+ mutex_lock(&team->lock);
+ err = team_port_add(team, port_dev);
+ mutex_unlock(&team->lock);
++
++ if (!err)
++ netdev_change_features(dev);
++
+ return err;
+ }
+
+@@ -1935,6 +1934,10 @@ static int team_del_slave(struct net_dev
+ mutex_lock(&team->lock);
+ err = team_port_del(team, port_dev);
+ mutex_unlock(&team->lock);
++
++ if (!err)
++ netdev_change_features(dev);
++
+ return err;
+ }
+
diff --git a/series.conf b/series.conf
index 2f1a51fcf5..1172aaffb2 100644
--- a/series.conf
+++ b/series.conf
@@ -6654,6 +6654,7 @@
patches.drivers/nvmet-implement-valid-sqhd-values-in-completions.patch
patches.drivers/nvme-fix-sqhd-reference-when-admin-queue-connect-fai.patch
patches.kabi/nvme-target-sq-kabi-fixup.patch
+ patches.drivers/nvmet-synchronize-sqhd-update.patch
patches.fixes/floppy-refactor-open-flags-handling.patch
patches.fixes/floppy-fix-lock_fdc-signal-handling.patch
@@ -10946,6 +10947,7 @@
patches.drivers/IB-mlx5-Validate-requested-RQT-size.patch
patches.drivers/IB-mlx5-Resolve-soft-lock-on-massive-reg-MRs.patch
patches.drivers/IB-mlx5-Fix-NULL-pointer-dereference-on-debug-print.patch
+ patches.fixes/rtnetlink-fix-rtnl_vfinfo_size.patch
patches.drivers/net-thunderx-Introduce-BGX_ID_MASK-macro-to-extract-.patch
patches.drivers/net-thunderx-Program-LMAC-credits-based-on-MTU.patch
patches.drivers/net-thunderx-Fix-configuration-of-L3-L4-length-check.patch
@@ -10976,6 +10978,7 @@
patches.drivers/net-mlx5e-Don-t-notify-HW-when-filling-the-edge-of-I.patch
patches.drivers/net-mlx5e-Don-t-flush-SQ-on-error.patch
patches.drivers/net-mlx5e-Change-the-SQ-RQ-operational-state-to-posi.patch
+ patches.drivers/hns-0001-phy-Don-t-increment-MDIO-bus-refcount-unless-it-s-a-.patch
patches.drivers/net-mlx5-Fix-Kconfig-help-text.patch
patches.drivers/net-centralize-net_device-min-max-MTU-checking.patch
patches.drivers/net-deprecate-eth_change_mtu-remove-usage.patch
@@ -11174,6 +11177,7 @@
patches.drivers/net-mlx5-E-Switch-Add-control-for-inline-mode.patch
patches.drivers/net-mlx5e-Enforce-min-inline-mode-when-offloading-fl.patch
patches.drivers/mlx4-reorganize-struct-mlx4_en_tx_ring.patch
+ patches.drivers/hns-0003-phy-fix-error-case-of-phy_led_triggers_-un-register.patch
patches.drivers/net-thunderx-80xx-BGX0-configuration-changes.patch
patches.drivers/net-thunderx-Add-ethtool-support-for-supported-ports.patch
patches.drivers/net-thunderx-Configure-RED-and-backpressure-levels.patch
@@ -11348,6 +11352,7 @@
patches.drivers/IB-mlx4-fix-improper-return-value.patch
patches.drivers/PCI-Add-Mellanox-device-IDs.patch
patches.drivers/net-mlx4_core-Use-device-ID-defines.patch
+ patches.drivers/hns-0007-net-ethernet-hip04-Call-SET_NETDEV_DEV.patch
patches.drivers/net-qcom-emac-don-t-try-to-claim-clocks-on-ACPI-syst.patch
patches.drivers/net-sched-cls_flower-Use-masked-key-when-calling-HW-.patch
patches.drivers/bna-use-designated-initializers.patch
@@ -11404,7 +11409,9 @@
patches.drivers/net-thunderx-avoid-dereferencing-xcv-when-NULL.patch
patches.drivers/be2net-fix-initial-MAC-setting.patch
patches.drivers/mlx4-Fix-memory-leak-after-mlx4_en_update_priv.patch
+ patches.drivers/hns-0002-net-phy-Fix-lack-of-reference-count-on-PHY-driver.patch
patches.drivers/net-thunderx-Fix-PHY-autoneg-for-SGMII-QLM-mode.patch
+ patches.drivers/hns-0004-net-phy-Fix-PHY-module-checks-and-NULL-deref-in-phy_.patch
patches.fixes/0001-xen-netfront-Rework-the-fix-for-Rx-stall-during-OOM-.patch
patches.drivers/ibmvnic-23-Initialize-completion-variables-before-start.patch
patches.drivers/ibmvnic-24-Call-napi_disable-instead-of-napi_enable-in-.patch
@@ -11751,6 +11758,7 @@
patches.drivers/bnxt_en-Fix-DMA-unmapping-of-the-RX-buffers-in-XDP-m.patch
patches.drivers/be2net-Fix-endian-issue-in-logical-link-config-comma.patch
patches.drivers/net-hns-Add-ACPI-support-to-check-SFP-present.patch
+ patches.drivers/team-call-netdev_change_features-out-of-team-lock.patch
patches.drivers/sfc-limit-the-number-of-receive-queues.patch
patches.drivers/net-mlx5e-Fix-race-in-mlx5e_sw_stats-and-mlx5e_vport.patch
patches.drivers/net-mlx5-E-Switch-Correctly-deal-with-inline-mode-on.patch
@@ -11972,6 +11980,7 @@
patches.fixes/0001-net-mlx5-Fix-driver-load-error-flow-when-firmware-is.patch
patches.drivers/net-mlx5-Cancel-delayed-recovery-work-when-unloading.patch
patches.drivers/net-mlx5e-Fix-TX-carrier-errors-report-in-get-stats-.patch
+ patches.drivers/hns-0005-net-hns-Fix-a-skb-used-after-free-bug.patch
patches.drivers/net-mlx5e-Initialize-CEE-s-getpermhwaddr-address-buf.patch
patches.drivers/bnxt_en-Fix-race-conditions-in-.ndo_get_stats64.patch
patches.drivers/bnxt_en-Fix-bug-in-ethtool-L.patch
@@ -11982,6 +11991,7 @@
patches.drivers/RDMA-bnxt_re-checking-for-NULL-instead-of-IS_ERR.patch
patches.drivers/net-mlx5-Clean-SRIOV-eswitch-resources-upon-VF-creat.patch
patches.drivers/net-mlx5-Consider-tx_enabled-in-all-modes-on-remap.patch
+ patches.fixes/net-mlx5-Fix-command-completion-after-timeout-access.patch
patches.drivers/net-mlx5e-Fix-outer_header_zero-check-size.patch
patches.drivers/net-mlx5-Fix-mlx5_ifc_mtpps_reg_bits-structure-size.patch
patches.drivers/net-mlx5e-Add-field-select-to-MTPPS-register.patch
@@ -11990,7 +12000,6 @@
patches.drivers/net-mlx5e-Add-missing-support-for-PTP_CLK_REQ_PPS-re.patch
patches.drivers/net-mlx5e-Schedule-overflow-check-work-to-mlx5e-work.patch
patches.drivers/net-mlx5-Fix-mlx5_add_flow_rules-call-with-correct-n.patch
- patches.drivers/IB-mlx5-Fix-existence-check-for-extended-address-vec.patch
patches.drivers/i40e-Initialize-64-bit-statistics-TX-ring-seqcount.patch
patches.drivers/net-mlx4_core-Fix-sl_to_vl_change-bit-offset-in-flag.patch
patches.drivers/net-mlx4_core-Fix-namespace-misalignment-in-QinQ-VST.patch
@@ -11999,6 +12008,8 @@
patches.drivers/xgene-sp3-0025-xgene-Always-get-clk-source-but-ignore-if-it-s-missi.patch
patches.drivers/net-mlx4_core-Enable-4K-UAR-if-SRIOV-module-paramete.patch
patches.drivers/IB-mlx5-Fix-Raw-Packet-QP-event-handler-assignment.patch
+ patches.drivers/bnxt_en-Free-MSIX-vectors-when-unregistering-the-dev.patch
+ patches.drivers/bnxt_en-Do-not-setup-MAC-address-in-bnxt_hwrm_func_q.patch
patches.drivers/net-mvpp2-fix-the-mac-address-used-when-using-PPv2.2.patch
patches.drivers/net-mlx5e-Check-for-qos-capability-in-dcbnl_initiali.patch
patches.drivers/net-mlx5e-Fix-DCB_CAP_ATTR_DCBX-capability-for-DCBNL.patch
@@ -12010,14 +12021,7 @@
patches.drivers/net-mlx5e-Fix-inline-header-size-for-small-packets.patch
patches.drivers/IB-mlx5-Change-logic-for-dispatching-IB-events-for-p.patch
patches.drivers/IB-mlx5-Fix-cached-MR-allocation-flow.patch
- patches.drivers/net-mlx5-Delay-events-till-ib-registration-ends.patch
- patches.drivers/net-mlx5-Fix-counter-list-hardware-structure.patch
- patches.drivers/net-mlx5-Check-device-capability-for-maximum-flow-co.patch
- patches.drivers/net-mlx5e-Print-netdev-features-correctly-in-error-m.patch
- patches.drivers/net-mlx5e-Don-t-add-remove-802.1ad-rules-when-changi.patch
- patches.drivers/net-mlx5e-Fix-calculated-checksum-offloads-counters.patch
-
- # net-next
+ patches.drivers/IB-mlx5-Fix-existence-check-for-extended-address-vec.patch
patches.drivers/sfc-Add-ethtool-m-support-for-QSFP-modules.patch
patches.drivers/bnxt_en-Update-firmware-interface-spec-to-1.8.0.patch
patches.drivers/bnxt_en-Retrieve-the-hardware-bridge-mode-from-the-f.patch
@@ -12029,9 +12033,18 @@
patches.drivers/ibmvnic-104-Check-for-transport-event-on-driver-resume.patch
patches.drivers/bnxt-fix-unsigned-comparsion-with-0.patch
patches.drivers/bnxt-fix-unused-variable-warnings.patch
+ patches.drivers/net-mlx5-Delay-events-till-ib-registration-ends.patch
+ patches.drivers/net-mlx5-Fix-counter-list-hardware-structure.patch
patches.drivers/ibmvnic-105-Report-rx-buffer-return-codes-as-netdev_dbg.patch
patches.drivers/ibmvnic-110-Clean-up-resources-on-probe-failure.patch
+ patches.drivers/net-mlx5-Check-device-capability-for-maximum-flow-co.patch
+ patches.drivers/net-mlx5e-Print-netdev-features-correctly-in-error-m.patch
+ patches.drivers/net-mlx5e-Don-t-add-remove-802.1ad-rules-when-changi.patch
+ patches.drivers/net-mlx5e-Fix-calculated-checksum-offloads-counters.patch
+
+ # davem/net-next
patches.drivers/ibmvnic-113-Set-state-UP.patch
+ patches.drivers/i40e-add-private-flag-to-control-source-pruning.patch
# out-of-tree patches
patches.drivers/0002-hns-set-relation-between-hns_roce-and-hns_enet_drv.patch
@@ -12057,29 +12070,14 @@
patches.drivers/bnxt_re-Remove-RTNL-lock-dependency-in-bnxt_re_query.patch
patches.drivers/bnxt_re-Fix-memory-leak-in-FRMR-path.patch
patches.drivers/bnxt_re-Don-t-issue-cmd-to-delete-GID-for-QP1-GID-en.patch
- patches.drivers/i40e-add-private-flag-to-control-source-pruning.patch
- patches.drivers/i40e-i40evf-fix-out-of-bounds-read-of-cpumask.patch
- patches.drivers/bnxt_en-Free-MSIX-vectors-when-unregistering-the-dev.patch
- patches.drivers/bnxt_en-Do-not-setup-MAC-address-in-bnxt_hwrm_func_q.patch
-
- # bsc#1049336
- patches.drivers/hns-0001-phy-Don-t-increment-MDIO-bus-refcount-unless-it-s-a-.patch
- patches.drivers/hns-0002-net-phy-Fix-lack-of-reference-count-on-PHY-driver.patch
- patches.drivers/hns-0003-phy-fix-error-case-of-phy_led_triggers_-un-register.patch
- patches.drivers/hns-0004-net-phy-Fix-PHY-module-checks-and-NULL-deref-in-phy_.patch
- patches.drivers/hns-0005-net-hns-Fix-a-skb-used-after-free-bug.patch
patches.drivers/hns-0006-net-hns-add-acpi-function-of-xge-led-control.patch
- patches.drivers/hns-0007-net-ethernet-hip04-Call-SET_NETDEV_DEV.patch
-
- patches.fixes/rtnetlink-fix-rtnl_vfinfo_size.patch
patches.kabi/kabi-net-mlx5-Delay-events-till-ib-registration-ends.patch
patches.kabi/kabi-net-mlx5-Check-device-capability-for-maximum-flow-co.patch
- patches.fixes/net-mlx5-Fix-command-completion-after-timeout-access.patch
+ patches.drivers/i40e-i40evf-fix-out-of-bounds-read-of-cpumask.patch
########################################################
# Wireless Networking
########################################################
-
# MWI
patches.drivers/mwifiex-add-missing-check-for-PCIe8997-chipset
patches.drivers/mwifiex-fix-IBSS-data-path-issue