netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 0/8] qed*: Bug fixes
@ 2016-05-26  8:01 Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 1/8] qede: Fix VF minimum BW setting Yuval Mintz
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Yuval Mintz @ 2016-05-26  8:01 UTC (permalink / raw)
  To: davem, netdev; +Cc: Yuval Mintz

This series contain several small fixes, most of which deal with
either 100g support, sriov or bandwidth configurations.

Dave,

Please consider applying this to `net'.

Thanks,
Yuval

Sudarsana Reddy Kalluru (2):
  qed: Fix allocation in interrupt context
  qed: Prevent 100g from working in MSI

Yuval Mintz (6):
  qede: Fix VF minimum BW setting
  qede: Reload on GRO changes
  qede: Don't expose self-test for VFs
  qed: Save min/max accross dcbx-change
  qed: Add missing 100g init mode
  qed: Don't config min BW on 100g on link flap

 drivers/net/ethernet/qlogic/qed/qed_dev.c       | 52 ++++++++++++++++++-------
 drivers/net/ethernet/qlogic/qed/qed_main.c      | 18 +++++----
 drivers/net/ethernet/qlogic/qede/qede_ethtool.c |  5 ++-
 drivers/net/ethernet/qlogic/qede/qede_main.c    | 26 ++++++++++++-
 4 files changed, 78 insertions(+), 23 deletions(-)

-- 
1.9.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH net 1/8] qede: Fix VF minimum BW setting
  2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
@ 2016-05-26  8:01 ` Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 2/8] qede: Reload on GRO changes Yuval Mintz
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Yuval Mintz @ 2016-05-26  8:01 UTC (permalink / raw)
  To: davem, netdev; +Cc: Yuval Mintz

VF is currently ignoring the minimum provided by the API,
mistakenly using the maximum for minimum as well.

Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
---
 drivers/net/ethernet/qlogic/qede/qede_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c
index 337e839..3bb1428 100644
--- a/drivers/net/ethernet/qlogic/qede/qede_main.c
+++ b/drivers/net/ethernet/qlogic/qede/qede_main.c
@@ -1824,7 +1824,7 @@ static int qede_set_vf_rate(struct net_device *dev, int vfidx,
 {
 	struct qede_dev *edev = netdev_priv(dev);
 
-	return edev->ops->iov->set_rate(edev->cdev, vfidx, max_tx_rate,
+	return edev->ops->iov->set_rate(edev->cdev, vfidx, min_tx_rate,
 					max_tx_rate);
 }
 
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 2/8] qede: Reload on GRO changes
  2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 1/8] qede: Fix VF minimum BW setting Yuval Mintz
@ 2016-05-26  8:01 ` Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 3/8] qede: Don't expose self-test for VFs Yuval Mintz
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Yuval Mintz @ 2016-05-26  8:01 UTC (permalink / raw)
  To: davem, netdev; +Cc: Yuval Mintz

Since driver is using a FW-based GRO implementation, this has some
effects on its ability to cope with GRO enablement/disablement.
As a result, driver must perform an inner-reload as a result of a state
change in the offload configuration of said feature.

[Failure to do so means network stack would continue to receive
aggregated packets even though user requested the feature to be disabled].

Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
---
 drivers/net/ethernet/qlogic/qede/qede_main.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c
index 3bb1428..5d00d14 100644
--- a/drivers/net/ethernet/qlogic/qede/qede_main.c
+++ b/drivers/net/ethernet/qlogic/qede/qede_main.c
@@ -2091,6 +2091,29 @@ static void qede_vlan_mark_nonconfigured(struct qede_dev *edev)
 	edev->accept_any_vlan = false;
 }
 
+int qede_set_features(struct net_device *dev, netdev_features_t features)
+{
+	struct qede_dev *edev = netdev_priv(dev);
+	netdev_features_t changes = features ^ dev->features;
+	bool need_reload = false;
+
+	/* No action needed if hardware GRO is disabled during driver load */
+	if (changes & NETIF_F_GRO) {
+		if (dev->features & NETIF_F_GRO)
+			need_reload = !edev->gro_disable;
+		else
+			need_reload = edev->gro_disable;
+	}
+
+	if (need_reload && netif_running(edev->ndev)) {
+		dev->features = features;
+		qede_reload(edev, NULL, NULL);
+		return 1;
+	}
+
+	return 0;
+}
+
 #ifdef CONFIG_QEDE_VXLAN
 static void qede_add_vxlan_port(struct net_device *dev,
 				sa_family_t sa_family, __be16 port)
@@ -2175,6 +2198,7 @@ static const struct net_device_ops qede_netdev_ops = {
 #endif
 	.ndo_vlan_rx_add_vid = qede_vlan_rx_add_vid,
 	.ndo_vlan_rx_kill_vid = qede_vlan_rx_kill_vid,
+	.ndo_set_features = qede_set_features,
 	.ndo_get_stats64 = qede_get_stats64,
 #ifdef CONFIG_QED_SRIOV
 	.ndo_set_vf_link_state = qede_set_vf_link_state,
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 3/8] qede: Don't expose self-test for VFs
  2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 1/8] qede: Fix VF minimum BW setting Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 2/8] qede: Reload on GRO changes Yuval Mintz
@ 2016-05-26  8:01 ` Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 4/8] qed: Fix allocation in interrupt context Yuval Mintz
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Yuval Mintz @ 2016-05-26  8:01 UTC (permalink / raw)
  To: davem, netdev; +Cc: Yuval Mintz

PFs and VFs differ in their registered ethtool operations,
but they're using a common function for get_sset_count().
As a result, `ethtool -i' for a VF would indicate it supports
selftest, although that's not the case.

Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
---
 drivers/net/ethernet/qlogic/qede/qede_ethtool.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/qlogic/qede/qede_ethtool.c b/drivers/net/ethernet/qlogic/qede/qede_ethtool.c
index 1bc7535..ad3cae3 100644
--- a/drivers/net/ethernet/qlogic/qede/qede_ethtool.c
+++ b/drivers/net/ethernet/qlogic/qede/qede_ethtool.c
@@ -230,7 +230,10 @@ static int qede_get_sset_count(struct net_device *dev, int stringset)
 	case ETH_SS_PRIV_FLAGS:
 		return QEDE_PRI_FLAG_LEN;
 	case ETH_SS_TEST:
-		return QEDE_ETHTOOL_TEST_MAX;
+		if (!IS_VF(edev))
+			return QEDE_ETHTOOL_TEST_MAX;
+		else
+			return 0;
 	default:
 		DP_VERBOSE(edev, QED_MSG_DEBUG,
 			   "Unsupported stringset 0x%08x\n", stringset);
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 4/8] qed: Fix allocation in interrupt context
  2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
                   ` (2 preceding siblings ...)
  2016-05-26  8:01 ` [PATCH net 3/8] qede: Don't expose self-test for VFs Yuval Mintz
@ 2016-05-26  8:01 ` Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 5/8] qed: Save min/max accross dcbx-change Yuval Mintz
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Yuval Mintz @ 2016-05-26  8:01 UTC (permalink / raw)
  To: davem, netdev; +Cc: Sudarsana Reddy Kalluru, Yuval Mintz

From: Sudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com>

Commit 39651abd2814 ("qed: add support for dcbx") is re-configuring
the QM hw-block as part of its sequence. This is done in attention
handling context which is non-sleepable, yet memory is allocated in
this flow using GFP_KERNEL.

Signed-off-by: Sudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
---
 drivers/net/ethernet/qlogic/qed/qed_dev.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c
index 089016f..7aeed2f 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_dev.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c
@@ -155,7 +155,7 @@ void qed_resc_free(struct qed_dev *cdev)
 	}
 }
 
-static int qed_init_qm_info(struct qed_hwfn *p_hwfn)
+static int qed_init_qm_info(struct qed_hwfn *p_hwfn, bool b_sleepable)
 {
 	u8 num_vports, vf_offset = 0, i, vport_id, num_ports, curr_queue = 0;
 	struct qed_qm_info *qm_info = &p_hwfn->qm_info;
@@ -182,23 +182,28 @@ static int qed_init_qm_info(struct qed_hwfn *p_hwfn)
 
 	/* PQs will be arranged as follows: First per-TC PQ then pure-LB quete.
 	 */
-	qm_info->qm_pq_params = kzalloc(sizeof(*qm_info->qm_pq_params) *
-					num_pqs, GFP_KERNEL);
+	qm_info->qm_pq_params = kcalloc(num_pqs,
+					sizeof(struct init_qm_pq_params),
+					b_sleepable ? GFP_KERNEL : GFP_ATOMIC);
 	if (!qm_info->qm_pq_params)
 		goto alloc_err;
 
-	qm_info->qm_vport_params = kzalloc(sizeof(*qm_info->qm_vport_params) *
-					   num_vports, GFP_KERNEL);
+	qm_info->qm_vport_params = kcalloc(num_vports,
+					   sizeof(struct init_qm_vport_params),
+					   b_sleepable ? GFP_KERNEL
+						       : GFP_ATOMIC);
 	if (!qm_info->qm_vport_params)
 		goto alloc_err;
 
-	qm_info->qm_port_params = kzalloc(sizeof(*qm_info->qm_port_params) *
-					  MAX_NUM_PORTS, GFP_KERNEL);
+	qm_info->qm_port_params = kcalloc(MAX_NUM_PORTS,
+					  sizeof(struct init_qm_port_params),
+					  b_sleepable ? GFP_KERNEL
+						      : GFP_ATOMIC);
 	if (!qm_info->qm_port_params)
 		goto alloc_err;
 
-	qm_info->wfq_data = kcalloc(num_vports, sizeof(*qm_info->wfq_data),
-				    GFP_KERNEL);
+	qm_info->wfq_data = kcalloc(num_vports, sizeof(struct qed_wfq_data),
+				    b_sleepable ? GFP_KERNEL : GFP_ATOMIC);
 	if (!qm_info->wfq_data)
 		goto alloc_err;
 
@@ -299,7 +304,7 @@ int qed_qm_reconf(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt)
 	qed_qm_info_free(p_hwfn);
 
 	/* initialize qed's qm data structure */
-	rc = qed_init_qm_info(p_hwfn);
+	rc = qed_init_qm_info(p_hwfn, false);
 	if (rc)
 		return rc;
 
@@ -388,7 +393,7 @@ int qed_resc_alloc(struct qed_dev *cdev)
 			goto alloc_err;
 
 		/* Prepare and process QM requirements */
-		rc = qed_init_qm_info(p_hwfn);
+		rc = qed_init_qm_info(p_hwfn, true);
 		if (rc)
 			goto alloc_err;
 
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 5/8] qed: Save min/max accross dcbx-change
  2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
                   ` (3 preceding siblings ...)
  2016-05-26  8:01 ` [PATCH net 4/8] qed: Fix allocation in interrupt context Yuval Mintz
@ 2016-05-26  8:01 ` Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 6/8] qed: Add missing 100g init mode Yuval Mintz
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Yuval Mintz @ 2016-05-26  8:01 UTC (permalink / raw)
  To: davem, netdev; +Cc: Yuval Mintz

When DCBx re-negotiation is occurring, the PF's configurations for
maximum and minimum bandwidth guarantees are currently lost.

Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
---
 drivers/net/ethernet/qlogic/qed/qed_dev.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c
index 7aeed2f..920eadd 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_dev.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c
@@ -161,6 +161,8 @@ static int qed_init_qm_info(struct qed_hwfn *p_hwfn, bool b_sleepable)
 	struct qed_qm_info *qm_info = &p_hwfn->qm_info;
 	struct init_qm_port_params *p_qm_port;
 	u16 num_pqs, multi_cos_tcs = 1;
+	u8 pf_wfq = qm_info->pf_wfq;
+	u32 pf_rl = qm_info->pf_rl;
 	u16 num_vfs = 0;
 
 #ifdef CONFIG_QED_SRIOV
@@ -269,10 +271,10 @@ static int qed_init_qm_info(struct qed_hwfn *p_hwfn, bool b_sleepable)
 	for (i = 0; i < qm_info->num_vports; i++)
 		qm_info->qm_vport_params[i].vport_wfq = 1;
 
-	qm_info->pf_wfq = 0;
-	qm_info->pf_rl = 0;
 	qm_info->vport_rl_en = 1;
 	qm_info->vport_wfq_en = 1;
+	qm_info->pf_rl = pf_rl;
+	qm_info->pf_wfq = pf_wfq;
 
 	return 0;
 
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 6/8] qed: Add missing 100g init mode
  2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
                   ` (4 preceding siblings ...)
  2016-05-26  8:01 ` [PATCH net 5/8] qed: Save min/max accross dcbx-change Yuval Mintz
@ 2016-05-26  8:01 ` Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 7/8] qed: Prevent 100g from working in MSI Yuval Mintz
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Yuval Mintz @ 2016-05-26  8:01 UTC (permalink / raw)
  To: davem, netdev; +Cc: Yuval Mintz

Some of the HW configurations are currently missing for 100g devices.
This can cause various classification issues, as well as prevent device
from fully reaching line-rate.

Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
---
 drivers/net/ethernet/qlogic/qed/qed_dev.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c
index 920eadd..2a7c875 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_dev.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c
@@ -588,7 +588,14 @@ static void qed_calc_hw_mode(struct qed_hwfn *p_hwfn)
 
 	hw_mode |= 1 << MODE_ASIC;
 
+	if (p_hwfn->cdev->num_hwfns > 1)
+		hw_mode |= 1 << MODE_100G;
+
 	p_hwfn->hw_info.hw_mode = hw_mode;
+
+	DP_VERBOSE(p_hwfn, (NETIF_MSG_PROBE | NETIF_MSG_IFUP),
+		   "Configuring function for hw_mode: 0x%08x\n",
+		   p_hwfn->hw_info.hw_mode);
 }
 
 /* Init run time data for all PFs on an engine. */
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 7/8] qed: Prevent 100g from working in MSI
  2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
                   ` (5 preceding siblings ...)
  2016-05-26  8:01 ` [PATCH net 6/8] qed: Add missing 100g init mode Yuval Mintz
@ 2016-05-26  8:01 ` Yuval Mintz
  2016-05-26  8:01 ` [PATCH net 8/8] qed: Don't config min BW on 100g on link flap Yuval Mintz
  2016-05-26 19:30 ` [PATCH net 0/8] qed*: Bug fixes David Miller
  8 siblings, 0 replies; 10+ messages in thread
From: Yuval Mintz @ 2016-05-26  8:01 UTC (permalink / raw)
  To: davem, netdev; +Cc: Sudarsana Reddy Kalluru, Yuval Mintz

From: Sudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com>

Adapter can support 100g in both MSIx and INTa, but not in MSI.

Signed-off-by: Sudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
---
 drivers/net/ethernet/qlogic/qed/qed_dev.c  |  5 +++++
 drivers/net/ethernet/qlogic/qed/qed_main.c | 18 ++++++++++--------
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c
index 2a7c875..579c6d5 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_dev.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c
@@ -835,6 +835,11 @@ int qed_hw_init(struct qed_dev *cdev,
 	u32 load_code, param;
 	int rc, mfw_rc, i;
 
+	if ((int_mode == QED_INT_MODE_MSI) && (cdev->num_hwfns > 1)) {
+		DP_NOTICE(cdev, "MSI mode is not supported for CMT devices\n");
+		return -EINVAL;
+	}
+
 	if (IS_PF(cdev)) {
 		rc = qed_init_fw_data(cdev, bin_fw_data);
 		if (rc != 0)
diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c
index 8b22f87..7530646 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_main.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_main.c
@@ -413,15 +413,17 @@ static int qed_set_int_mode(struct qed_dev *cdev, bool force_mode)
 		/* Fallthrough */
 
 	case QED_INT_MODE_MSI:
-		rc = pci_enable_msi(cdev->pdev);
-		if (!rc) {
-			int_params->out.int_mode = QED_INT_MODE_MSI;
-			goto out;
-		}
+		if (cdev->num_hwfns == 1) {
+			rc = pci_enable_msi(cdev->pdev);
+			if (!rc) {
+				int_params->out.int_mode = QED_INT_MODE_MSI;
+				goto out;
+			}
 
-		DP_NOTICE(cdev, "Failed to enable MSI\n");
-		if (force_mode)
-			goto out;
+			DP_NOTICE(cdev, "Failed to enable MSI\n");
+			if (force_mode)
+				goto out;
+		}
 		/* Fallthrough */
 
 	case QED_INT_MODE_INTA:
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 8/8] qed: Don't config min BW on 100g on link flap
  2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
                   ` (6 preceding siblings ...)
  2016-05-26  8:01 ` [PATCH net 7/8] qed: Prevent 100g from working in MSI Yuval Mintz
@ 2016-05-26  8:01 ` Yuval Mintz
  2016-05-26 19:30 ` [PATCH net 0/8] qed*: Bug fixes David Miller
  8 siblings, 0 replies; 10+ messages in thread
From: Yuval Mintz @ 2016-05-26  8:01 UTC (permalink / raw)
  To: davem, netdev; +Cc: Yuval Mintz

Currently 100g devices don't support minimum/maximum BW configurations,
yet link flaps might cause the driver to attempt to do such a
configuration. Prevent this just as we do for the maximum BW.

Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
---
 drivers/net/ethernet/qlogic/qed/qed_dev.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c
index 579c6d5..2d89e8c 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_dev.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c
@@ -2105,6 +2105,13 @@ void qed_configure_vp_wfq_on_link_change(struct qed_dev *cdev, u32 min_pf_rate)
 {
 	int i;
 
+	if (cdev->num_hwfns > 1) {
+		DP_VERBOSE(cdev,
+			   NETIF_MSG_LINK,
+			   "WFQ configuration is not supported for this device\n");
+		return;
+	}
+
 	for_each_hwfn(cdev, i) {
 		struct qed_hwfn *p_hwfn = &cdev->hwfns[i];
 
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH net 0/8] qed*: Bug fixes
  2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
                   ` (7 preceding siblings ...)
  2016-05-26  8:01 ` [PATCH net 8/8] qed: Don't config min BW on 100g on link flap Yuval Mintz
@ 2016-05-26 19:30 ` David Miller
  8 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2016-05-26 19:30 UTC (permalink / raw)
  To: Yuval.Mintz; +Cc: netdev

From: Yuval Mintz <Yuval.Mintz@qlogic.com>
Date: Thu, 26 May 2016 11:01:16 +0300

> This series contain several small fixes, most of which deal with
> either 100g support, sriov or bandwidth configurations.

Series applied, but in future the GFP_KERNEL fix should be done
differently.

Instead of passing a boolean sleepable state around, pass a "gfp_t"
which makes it clear at the call sites what that argument is
controlling.

That way you wouldn't have that mess of "sleepable ? GFP_X : GFP_Y"
constructs all over the place.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-05-26 19:31 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-26  8:01 [PATCH net 0/8] qed*: Bug fixes Yuval Mintz
2016-05-26  8:01 ` [PATCH net 1/8] qede: Fix VF minimum BW setting Yuval Mintz
2016-05-26  8:01 ` [PATCH net 2/8] qede: Reload on GRO changes Yuval Mintz
2016-05-26  8:01 ` [PATCH net 3/8] qede: Don't expose self-test for VFs Yuval Mintz
2016-05-26  8:01 ` [PATCH net 4/8] qed: Fix allocation in interrupt context Yuval Mintz
2016-05-26  8:01 ` [PATCH net 5/8] qed: Save min/max accross dcbx-change Yuval Mintz
2016-05-26  8:01 ` [PATCH net 6/8] qed: Add missing 100g init mode Yuval Mintz
2016-05-26  8:01 ` [PATCH net 7/8] qed: Prevent 100g from working in MSI Yuval Mintz
2016-05-26  8:01 ` [PATCH net 8/8] qed: Don't config min BW on 100g on link flap Yuval Mintz
2016-05-26 19:30 ` [PATCH net 0/8] qed*: Bug fixes David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).