All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net 0/5] bnxt_en: Bug fixes.
@ 2019-10-21  5:34 Michael Chan
  2019-10-21  5:34 ` [PATCH net 1/5] bnxt_en: Fix the size of devlink MSIX parameters Michael Chan
                   ` (5 more replies)
  0 siblings, 6 replies; 28+ messages in thread
From: Michael Chan @ 2019-10-21  5:34 UTC (permalink / raw)
  To: davem; +Cc: netdev, vasundhara-v.volam

Devlink and error recovery bug fix patches.  Most of the work is by
Vasundhara Volam.  Please queue patch 1 and 2 for -stable also.  Thanks.

Michael Chan (1):
  bnxt_en: Fix devlink NVRAM related byte order related issues.

Vasundhara Volam (4):
  bnxt_en: Fix the size of devlink MSIX parameters.
  bnxt_en: Adjust the time to wait before polling firmware readiness.
  bnxt_en: Minor formatting changes in FW devlink_health_reporter
  bnxt_en: Avoid disabling pci device in bnxt_remove_one() for already
    disabled device.

 drivers/net/ethernet/broadcom/bnxt/bnxt.c         |  10 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 112 +++++++++++++---------
 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h |   3 +-
 3 files changed, 73 insertions(+), 52 deletions(-)

-- 
2.5.1


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

* [PATCH net 1/5] bnxt_en: Fix the size of devlink MSIX parameters.
  2019-10-21  5:34 [PATCH net 0/5] bnxt_en: Bug fixes Michael Chan
@ 2019-10-21  5:34 ` Michael Chan
  2019-10-21  5:34 ` [PATCH net 2/5] bnxt_en: Fix devlink NVRAM related byte order related issues Michael Chan
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 28+ messages in thread
From: Michael Chan @ 2019-10-21  5:34 UTC (permalink / raw)
  To: davem; +Cc: netdev, vasundhara-v.volam, Jiri Pirko

From: Vasundhara Volam <vasundhara-v.volam@broadcom.com>

The current code that rounds up the NVRAM parameter bit size to the next
byte size for the devlink parameter is not always correct.  The MSIX
devlink parameters are 4 bytes and we don't get the correct size
using this method.

Fix it by adding a new dl_num_bytes member to the bnxt_dl_nvm_param
structure which statically provides bytesize information according
to the devlink parameter type definition.

Fixes: 782a624d00fa ("bnxt_en: Add bnxt_en initial port params table and register it")
Cc: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 28 +++++++++++------------
 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h |  3 ++-
 2 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
index e664392..68f74f5 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
@@ -215,15 +215,15 @@ enum bnxt_dl_param_id {
 
 static const struct bnxt_dl_nvm_param nvm_params[] = {
 	{DEVLINK_PARAM_GENERIC_ID_ENABLE_SRIOV, NVM_OFF_ENABLE_SRIOV,
-	 BNXT_NVM_SHARED_CFG, 1},
+	 BNXT_NVM_SHARED_CFG, 1, 1},
 	{DEVLINK_PARAM_GENERIC_ID_IGNORE_ARI, NVM_OFF_IGNORE_ARI,
-	 BNXT_NVM_SHARED_CFG, 1},
+	 BNXT_NVM_SHARED_CFG, 1, 1},
 	{DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MAX,
-	 NVM_OFF_MSIX_VEC_PER_PF_MAX, BNXT_NVM_SHARED_CFG, 10},
+	 NVM_OFF_MSIX_VEC_PER_PF_MAX, BNXT_NVM_SHARED_CFG, 10, 4},
 	{DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MIN,
-	 NVM_OFF_MSIX_VEC_PER_PF_MIN, BNXT_NVM_SHARED_CFG, 7},
+	 NVM_OFF_MSIX_VEC_PER_PF_MIN, BNXT_NVM_SHARED_CFG, 7, 4},
 	{BNXT_DEVLINK_PARAM_ID_GRE_VER_CHECK, NVM_OFF_DIS_GRE_VER_CHECK,
-	 BNXT_NVM_SHARED_CFG, 1},
+	 BNXT_NVM_SHARED_CFG, 1, 1},
 };
 
 static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
@@ -232,8 +232,8 @@ static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
 	struct hwrm_nvm_get_variable_input *req = msg;
 	void *data_addr = NULL, *buf = NULL;
 	struct bnxt_dl_nvm_param nvm_param;
-	int bytesize, idx = 0, rc, i;
 	dma_addr_t data_dma_addr;
+	int idx = 0, rc, i;
 
 	/* Get/Set NVM CFG parameter is supported only on PFs */
 	if (BNXT_VF(bp))
@@ -254,10 +254,9 @@ static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
 	else if (nvm_param.dir_type == BNXT_NVM_FUNC_CFG)
 		idx = bp->pf.fw_fid - BNXT_FIRST_PF_FID;
 
-	bytesize = roundup(nvm_param.num_bits, BITS_PER_BYTE) / BITS_PER_BYTE;
-	switch (bytesize) {
+	switch (nvm_param.dl_num_bytes) {
 	case 1:
-		if (nvm_param.num_bits == 1)
+		if (nvm_param.nvm_num_bits == 1)
 			buf = &val->vbool;
 		else
 			buf = &val->vu8;
@@ -272,29 +271,30 @@ static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
 		return -EFAULT;
 	}
 
-	data_addr = dma_alloc_coherent(&bp->pdev->dev, bytesize,
+	data_addr = dma_alloc_coherent(&bp->pdev->dev, nvm_param.dl_num_bytes,
 				       &data_dma_addr, GFP_KERNEL);
 	if (!data_addr)
 		return -ENOMEM;
 
 	req->dest_data_addr = cpu_to_le64(data_dma_addr);
-	req->data_len = cpu_to_le16(nvm_param.num_bits);
+	req->data_len = cpu_to_le16(nvm_param.nvm_num_bits);
 	req->option_num = cpu_to_le16(nvm_param.offset);
 	req->index_0 = cpu_to_le16(idx);
 	if (idx)
 		req->dimensions = cpu_to_le16(1);
 
 	if (req->req_type == cpu_to_le16(HWRM_NVM_SET_VARIABLE)) {
-		memcpy(data_addr, buf, bytesize);
+		memcpy(data_addr, buf, nvm_param.dl_num_bytes);
 		rc = hwrm_send_message(bp, msg, msg_len, HWRM_CMD_TIMEOUT);
 	} else {
 		rc = hwrm_send_message_silent(bp, msg, msg_len,
 					      HWRM_CMD_TIMEOUT);
 	}
 	if (!rc && req->req_type == cpu_to_le16(HWRM_NVM_GET_VARIABLE))
-		memcpy(buf, data_addr, bytesize);
+		memcpy(buf, data_addr, nvm_param.dl_num_bytes);
 
-	dma_free_coherent(&bp->pdev->dev, bytesize, data_addr, data_dma_addr);
+	dma_free_coherent(&bp->pdev->dev, nvm_param.dl_num_bytes, data_addr,
+			  data_dma_addr);
 	if (rc == -EACCES)
 		netdev_err(bp->dev, "PF does not have admin privileges to modify NVM config\n");
 	return rc;
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h
index b97e0ba..2f4fd0a 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h
@@ -52,7 +52,8 @@ struct bnxt_dl_nvm_param {
 	u16 id;
 	u16 offset;
 	u16 dir_type;
-	u16 num_bits;
+	u16 nvm_num_bits;
+	u8 dl_num_bytes;
 };
 
 void bnxt_devlink_health_report(struct bnxt *bp, unsigned long event);
-- 
2.5.1


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

* [PATCH net 2/5] bnxt_en: Fix devlink NVRAM related byte order related issues.
  2019-10-21  5:34 [PATCH net 0/5] bnxt_en: Bug fixes Michael Chan
  2019-10-21  5:34 ` [PATCH net 1/5] bnxt_en: Fix the size of devlink MSIX parameters Michael Chan
@ 2019-10-21  5:34 ` Michael Chan
  2019-10-22  4:14   ` Jakub Kicinski
  2019-10-21  5:34 ` [PATCH net 3/5] bnxt_en: Adjust the time to wait before polling firmware readiness Michael Chan
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 28+ messages in thread
From: Michael Chan @ 2019-10-21  5:34 UTC (permalink / raw)
  To: davem; +Cc: netdev, vasundhara-v.volam, Jiri Pirko

The current code does not do endian swapping between the devlink
parameter and the internal NVRAM representation.  Define a union to
represent the little endian NVRAM data and add 2 helper functions to
copy to and from the NVRAM data with the proper byte swapping.

Fixes: 782a624d00fa ("bnxt_en: Add bnxt_en initial port params table and register it")
Cc: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 81 +++++++++++++++--------
 1 file changed, 54 insertions(+), 27 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
index 68f74f5..bd4b9f3 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
@@ -226,12 +226,55 @@ static const struct bnxt_dl_nvm_param nvm_params[] = {
 	 BNXT_NVM_SHARED_CFG, 1, 1},
 };
 
+union bnxt_nvm_data {
+	u8	val8;
+	__le32	val32;
+};
+
+static void bnxt_copy_to_nvm_data(union bnxt_nvm_data *dst,
+				  union devlink_param_value *src,
+				  int nvm_num_bits, int dl_num_bytes)
+{
+	u32 val32 = 0;
+
+	if (nvm_num_bits == 1) {
+		dst->val8 = src->vbool;
+		return;
+	}
+	if (dl_num_bytes == 4)
+		val32 = src->vu32;
+	else if (dl_num_bytes == 2)
+		val32 = (u32)src->vu16;
+	else if (dl_num_bytes == 1)
+		val32 = (u32)src->vu8;
+	dst->val32 = cpu_to_le32(val32);
+}
+
+static void bnxt_copy_from_nvm_data(union devlink_param_value *dst,
+				    union bnxt_nvm_data *src,
+				    int nvm_num_bits, int dl_num_bytes)
+{
+	u32 val32;
+
+	if (nvm_num_bits == 1) {
+		dst->vbool = src->val8;
+		return;
+	}
+	val32 = le32_to_cpu(src->val32);
+	if (dl_num_bytes == 4)
+		dst->vu32 = val32;
+	else if (dl_num_bytes == 2)
+		dst->vu16 = (u16)val32;
+	else if (dl_num_bytes == 1)
+		dst->vu8 = (u8)val32;
+}
+
 static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
 			     int msg_len, union devlink_param_value *val)
 {
 	struct hwrm_nvm_get_variable_input *req = msg;
-	void *data_addr = NULL, *buf = NULL;
 	struct bnxt_dl_nvm_param nvm_param;
+	union bnxt_nvm_data *data;
 	dma_addr_t data_dma_addr;
 	int idx = 0, rc, i;
 
@@ -254,26 +297,9 @@ static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
 	else if (nvm_param.dir_type == BNXT_NVM_FUNC_CFG)
 		idx = bp->pf.fw_fid - BNXT_FIRST_PF_FID;
 
-	switch (nvm_param.dl_num_bytes) {
-	case 1:
-		if (nvm_param.nvm_num_bits == 1)
-			buf = &val->vbool;
-		else
-			buf = &val->vu8;
-		break;
-	case 2:
-		buf = &val->vu16;
-		break;
-	case 4:
-		buf = &val->vu32;
-		break;
-	default:
-		return -EFAULT;
-	}
-
-	data_addr = dma_alloc_coherent(&bp->pdev->dev, nvm_param.dl_num_bytes,
-				       &data_dma_addr, GFP_KERNEL);
-	if (!data_addr)
+	data = dma_alloc_coherent(&bp->pdev->dev, sizeof(*data),
+				  &data_dma_addr, GFP_KERNEL);
+	if (!data)
 		return -ENOMEM;
 
 	req->dest_data_addr = cpu_to_le64(data_dma_addr);
@@ -284,17 +310,18 @@ static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
 		req->dimensions = cpu_to_le16(1);
 
 	if (req->req_type == cpu_to_le16(HWRM_NVM_SET_VARIABLE)) {
-		memcpy(data_addr, buf, nvm_param.dl_num_bytes);
+		bnxt_copy_to_nvm_data(data, val, nvm_param.nvm_num_bits,
+				      nvm_param.dl_num_bytes);
 		rc = hwrm_send_message(bp, msg, msg_len, HWRM_CMD_TIMEOUT);
 	} else {
 		rc = hwrm_send_message_silent(bp, msg, msg_len,
 					      HWRM_CMD_TIMEOUT);
+		if (!rc)
+			bnxt_copy_from_nvm_data(val, data,
+						nvm_param.nvm_num_bits,
+						nvm_param.dl_num_bytes);
 	}
-	if (!rc && req->req_type == cpu_to_le16(HWRM_NVM_GET_VARIABLE))
-		memcpy(buf, data_addr, nvm_param.dl_num_bytes);
-
-	dma_free_coherent(&bp->pdev->dev, nvm_param.dl_num_bytes, data_addr,
-			  data_dma_addr);
+	dma_free_coherent(&bp->pdev->dev, sizeof(*data), data, data_dma_addr);
 	if (rc == -EACCES)
 		netdev_err(bp->dev, "PF does not have admin privileges to modify NVM config\n");
 	return rc;
-- 
2.5.1


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

* [PATCH net 3/5] bnxt_en: Adjust the time to wait before polling firmware readiness.
  2019-10-21  5:34 [PATCH net 0/5] bnxt_en: Bug fixes Michael Chan
  2019-10-21  5:34 ` [PATCH net 1/5] bnxt_en: Fix the size of devlink MSIX parameters Michael Chan
  2019-10-21  5:34 ` [PATCH net 2/5] bnxt_en: Fix devlink NVRAM related byte order related issues Michael Chan
@ 2019-10-21  5:34 ` Michael Chan
  2019-10-21  5:34 ` [PATCH net 4/5] bnxt_en: Minor formatting changes in FW devlink_health_reporter Michael Chan
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 28+ messages in thread
From: Michael Chan @ 2019-10-21  5:34 UTC (permalink / raw)
  To: davem; +Cc: netdev, vasundhara-v.volam

From: Vasundhara Volam <vasundhara-v.volam@broadcom.com>

When firmware indicates that driver needs to invoke firmware reset
which is common for both error recovery and live firmware reset path,
driver needs a different time to wait before polling for firmware
readiness.

Modify the wait time to fw_reset_min_dsecs, which is initialised to
correct timeout for error recovery and firmware reset.

Fixes: 4037eb715680 ("bnxt_en: Add a new BNXT_FW_RESET_STATE_POLL_FW_DOWN state.")
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index b4a8cf6..8492618 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -10669,14 +10669,11 @@ static void bnxt_fw_reset_task(struct work_struct *work)
 		bp->fw_reset_state = BNXT_FW_RESET_STATE_RESET_FW;
 	}
 	/* fall through */
-	case BNXT_FW_RESET_STATE_RESET_FW: {
-		u32 wait_dsecs = bp->fw_health->post_reset_wait_dsecs;
-
+	case BNXT_FW_RESET_STATE_RESET_FW:
 		bnxt_reset_all(bp);
 		bp->fw_reset_state = BNXT_FW_RESET_STATE_ENABLE_DEV;
-		bnxt_queue_fw_reset_work(bp, wait_dsecs * HZ / 10);
+		bnxt_queue_fw_reset_work(bp, bp->fw_reset_min_dsecs * HZ / 10);
 		return;
-	}
 	case BNXT_FW_RESET_STATE_ENABLE_DEV:
 		if (test_bit(BNXT_STATE_FW_FATAL_COND, &bp->state) &&
 		    bp->fw_health) {
-- 
2.5.1


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

* [PATCH net 4/5] bnxt_en: Minor formatting changes in FW devlink_health_reporter
  2019-10-21  5:34 [PATCH net 0/5] bnxt_en: Bug fixes Michael Chan
                   ` (2 preceding siblings ...)
  2019-10-21  5:34 ` [PATCH net 3/5] bnxt_en: Adjust the time to wait before polling firmware readiness Michael Chan
@ 2019-10-21  5:34 ` Michael Chan
  2019-10-21  5:34 ` [PATCH net 5/5] bnxt_en: Avoid disabling pci device in bnxt_remove_one() for already disabled device Michael Chan
  2019-10-22 20:29 ` [PATCH net 0/5] bnxt_en: Bug fixes Jakub Kicinski
  5 siblings, 0 replies; 28+ messages in thread
From: Michael Chan @ 2019-10-21  5:34 UTC (permalink / raw)
  To: davem; +Cc: netdev, vasundhara-v.volam, Jiri Pirko

From: Vasundhara Volam <vasundhara-v.volam@broadcom.com>

Minor formatting changes to diagnose cb for FW devlink health
reporter.

Suggested-by: Jiri Pirko <jiri@mellanox.com>
Cc: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
index bd4b9f3..7151244 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
@@ -29,25 +29,20 @@ static int bnxt_fw_reporter_diagnose(struct devlink_health_reporter *reporter,
 	val = bnxt_fw_health_readl(bp, BNXT_FW_HEALTH_REG);
 	health_status = val & 0xffff;
 
-	if (health_status == BNXT_FW_STATUS_HEALTHY) {
-		rc = devlink_fmsg_string_pair_put(fmsg, "FW status",
-						  "Healthy;");
-		if (rc)
-			return rc;
-	} else if (health_status < BNXT_FW_STATUS_HEALTHY) {
-		rc = devlink_fmsg_string_pair_put(fmsg, "FW status",
-						  "Not yet completed initialization;");
+	if (health_status < BNXT_FW_STATUS_HEALTHY) {
+		rc = devlink_fmsg_string_pair_put(fmsg, "Description",
+						  "Not yet completed initialization");
 		if (rc)
 			return rc;
 	} else if (health_status > BNXT_FW_STATUS_HEALTHY) {
-		rc = devlink_fmsg_string_pair_put(fmsg, "FW status",
-						  "Encountered fatal error and cannot recover;");
+		rc = devlink_fmsg_string_pair_put(fmsg, "Description",
+						  "Encountered fatal error and cannot recover");
 		if (rc)
 			return rc;
 	}
 
 	if (val >> 16) {
-		rc = devlink_fmsg_u32_pair_put(fmsg, "Error", val >> 16);
+		rc = devlink_fmsg_u32_pair_put(fmsg, "Error code", val >> 16);
 		if (rc)
 			return rc;
 	}
-- 
2.5.1


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

* [PATCH net 5/5] bnxt_en: Avoid disabling pci device in bnxt_remove_one() for already disabled device.
  2019-10-21  5:34 [PATCH net 0/5] bnxt_en: Bug fixes Michael Chan
                   ` (3 preceding siblings ...)
  2019-10-21  5:34 ` [PATCH net 4/5] bnxt_en: Minor formatting changes in FW devlink_health_reporter Michael Chan
@ 2019-10-21  5:34 ` Michael Chan
  2019-10-22 20:29 ` [PATCH net 0/5] bnxt_en: Bug fixes Jakub Kicinski
  5 siblings, 0 replies; 28+ messages in thread
From: Michael Chan @ 2019-10-21  5:34 UTC (permalink / raw)
  To: davem; +Cc: netdev, vasundhara-v.volam

From: Vasundhara Volam <vasundhara-v.volam@broadcom.com>

With the recently added error recovery logic, the device may already
be disabled if the firmware recovery is unsuccessful.  In
bnxt_remove_one(), check that the device is still enabled first
before calling pci_disable_device().

Fixes: 3bc7d4a352ef ("bnxt_en: Add BNXT_STATE_IN_FW_RESET state.")
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 8492618..04ec909 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -10382,7 +10382,8 @@ static void bnxt_cleanup_pci(struct bnxt *bp)
 {
 	bnxt_unmap_bars(bp, bp->pdev);
 	pci_release_regions(bp->pdev);
-	pci_disable_device(bp->pdev);
+	if (pci_is_enabled(bp->pdev))
+		pci_disable_device(bp->pdev);
 }
 
 static void bnxt_init_dflt_coal(struct bnxt *bp)
-- 
2.5.1


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

* Re: [PATCH net 2/5] bnxt_en: Fix devlink NVRAM related byte order related issues.
  2019-10-21  5:34 ` [PATCH net 2/5] bnxt_en: Fix devlink NVRAM related byte order related issues Michael Chan
@ 2019-10-22  4:14   ` Jakub Kicinski
  2019-10-22  5:38     ` Michael Chan
  0 siblings, 1 reply; 28+ messages in thread
From: Jakub Kicinski @ 2019-10-22  4:14 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev, vasundhara-v.volam, Jiri Pirko

On Mon, 21 Oct 2019 01:34:26 -0400, Michael Chan wrote:
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
> index 68f74f5..bd4b9f3 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
> @@ -226,12 +226,55 @@ static const struct bnxt_dl_nvm_param nvm_params[] = {
>  	 BNXT_NVM_SHARED_CFG, 1, 1},
>  };
>  
> +union bnxt_nvm_data {
> +	u8	val8;
> +	__le32	val32;
> +};
> +
> +static void bnxt_copy_to_nvm_data(union bnxt_nvm_data *dst,
> +				  union devlink_param_value *src,
> +				  int nvm_num_bits, int dl_num_bytes)
> +{
> +	u32 val32 = 0;
> +
> +	if (nvm_num_bits == 1) {
> +		dst->val8 = src->vbool;
> +		return;
> +	}

Why do you special case the num_bits == 1? If val32 is __le32 the low
byte would have landed on the first byte anyway, no? 🤔

just curious

> +	if (dl_num_bytes == 4)
> +		val32 = src->vu32;
> +	else if (dl_num_bytes == 2)
> +		val32 = (u32)src->vu16;
> +	else if (dl_num_bytes == 1)
> +		val32 = (u32)src->vu8;
> +	dst->val32 = cpu_to_le32(val32);
> +}

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

* Re: [PATCH net 2/5] bnxt_en: Fix devlink NVRAM related byte order related issues.
  2019-10-22  4:14   ` Jakub Kicinski
@ 2019-10-22  5:38     ` Michael Chan
  0 siblings, 0 replies; 28+ messages in thread
From: Michael Chan @ 2019-10-22  5:38 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: David Miller, Netdev, Vasundhara Volam, Jiri Pirko

On Mon, Oct 21, 2019 at 9:14 PM Jakub Kicinski
<jakub.kicinski@netronome.com> wrote:
>
> On Mon, 21 Oct 2019 01:34:26 -0400, Michael Chan wrote:
> > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
> > index 68f74f5..bd4b9f3 100644
> > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
> > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
> > @@ -226,12 +226,55 @@ static const struct bnxt_dl_nvm_param nvm_params[] = {
> >        BNXT_NVM_SHARED_CFG, 1, 1},
> >  };
> >
> > +union bnxt_nvm_data {
> > +     u8      val8;
> > +     __le32  val32;
> > +};
> > +
> > +static void bnxt_copy_to_nvm_data(union bnxt_nvm_data *dst,
> > +                               union devlink_param_value *src,
> > +                               int nvm_num_bits, int dl_num_bytes)
> > +{
> > +     u32 val32 = 0;
> > +
> > +     if (nvm_num_bits == 1) {
> > +             dst->val8 = src->vbool;
> > +             return;
> > +     }
>
> Why do you special case the num_bits == 1? If val32 is __le32 the low
> byte would have landed on the first byte anyway, no?
>
> just curious

Just so that I don't have to do any casting.  Otherwise if I assign it
to the __le32, I believe I have to cast to avoid the warning.

>
> > +     if (dl_num_bytes == 4)
> > +             val32 = src->vu32;
> > +     else if (dl_num_bytes == 2)
> > +             val32 = (u32)src->vu16;
> > +     else if (dl_num_bytes == 1)
> > +             val32 = (u32)src->vu8;
> > +     dst->val32 = cpu_to_le32(val32);
> > +}

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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes.
  2019-10-21  5:34 [PATCH net 0/5] bnxt_en: Bug fixes Michael Chan
                   ` (4 preceding siblings ...)
  2019-10-21  5:34 ` [PATCH net 5/5] bnxt_en: Avoid disabling pci device in bnxt_remove_one() for already disabled device Michael Chan
@ 2019-10-22 20:29 ` Jakub Kicinski
  5 siblings, 0 replies; 28+ messages in thread
From: Jakub Kicinski @ 2019-10-22 20:29 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev, vasundhara-v.volam

On Mon, 21 Oct 2019 01:34:24 -0400, Michael Chan wrote:
> Devlink and error recovery bug fix patches.  Most of the work is by
> Vasundhara Volam.  

Thanks, applied.

> Please queue patch 1 and 2 for -stable also.  Thanks.

FWIW these will likely only reach 5.3 since it looks like the bug dates
to 5.1 but 5.1 and 5.2 branches of stable are already EOL.

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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes
  2024-01-17 23:45 Michael Chan
@ 2024-01-19  2:10 ` patchwork-bot+netdevbpf
  0 siblings, 0 replies; 28+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-01-19  2:10 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev, edumazet, kuba, pabeni, andrew.gospodarek

Hello:

This series was applied to netdev/net.git (main)
by David S. Miller <davem@davemloft.net>:

On Wed, 17 Jan 2024 15:45:10 -0800 you wrote:
> This series contains 5 miscellaneous fixes.  The fixes include adding
> delay for FLR, buffer memory leak, RSS table size calculation,
> ethtool self test kernel warning, and mqprio crash.
> 
> Michael Chan (5):
>   bnxt_en: Wait for FLR to complete during probe
>   bnxt_en: Fix memory leak in bnxt_hwrm_get_rings()
>   bnxt_en: Fix RSS table entries calculation for P5_PLUS chips
>   bnxt_en: Prevent kernel warning when running offline self test
>   bnxt_en: Fix possible crash after creating sw mqprio TCs
> 
> [...]

Here is the summary with links:
  - [net,1/5] bnxt_en: Wait for FLR to complete during probe
    https://git.kernel.org/netdev/net/c/e6602b3c07d8
  - [net,2/5] bnxt_en: Fix memory leak in bnxt_hwrm_get_rings()
    https://git.kernel.org/netdev/net/c/a261fd41f44f
  - [net,3/5] bnxt_en: Fix RSS table entries calculation for P5_PLUS chips
    https://git.kernel.org/netdev/net/c/602801d18667
  - [net,4/5] bnxt_en: Prevent kernel warning when running offline self test
    https://git.kernel.org/netdev/net/c/7d544a01450e
  - [net,5/5] bnxt_en: Fix possible crash after creating sw mqprio TCs
    https://git.kernel.org/netdev/net/c/bb89cf26f515

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

* [PATCH net 0/5] bnxt_en: Bug fixes
@ 2024-01-17 23:45 Michael Chan
  2024-01-19  2:10 ` patchwork-bot+netdevbpf
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Chan @ 2024-01-17 23:45 UTC (permalink / raw)
  To: davem; +Cc: netdev, edumazet, kuba, pabeni, andrew.gospodarek

[-- Attachment #1: Type: text/plain, Size: 850 bytes --]

This series contains 5 miscellaneous fixes.  The fixes include adding
delay for FLR, buffer memory leak, RSS table size calculation,
ethtool self test kernel warning, and mqprio crash.

Michael Chan (5):
  bnxt_en: Wait for FLR to complete during probe
  bnxt_en: Fix memory leak in bnxt_hwrm_get_rings()
  bnxt_en: Fix RSS table entries calculation for P5_PLUS chips
  bnxt_en: Prevent kernel warning when running offline self test
  bnxt_en: Fix possible crash after creating sw mqprio TCs

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 49 +++++++++++++------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     |  1 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c |  2 +-
 .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c |  7 +--
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c |  2 +-
 5 files changed, 42 insertions(+), 19 deletions(-)

-- 
2.30.1


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]

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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes
  2022-12-27  3:19 Michael Chan
@ 2022-12-28 10:20 ` patchwork-bot+netdevbpf
  0 siblings, 0 replies; 28+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-12-28 10:20 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev, kuba, edumazet, pabeni, bpf, gospo

Hello:

This series was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:

On Mon, 26 Dec 2022 22:19:35 -0500 you wrote:
> This series fixes a devlink bug and several XDP related bugs.  The
> devlink bug causes a kernel crash on VF devices.  The XDP driver
> patches fix and clean up the RX XDP path and re-enable header-data
> split that was disabled by mistake when adding the XDP multi-buffer
> support.
> 
> Michael Chan (4):
>   bnxt_en: Simplify bnxt_xdp_buff_init()
>   bnxt_en: Fix XDP RX path
>   bnxt_en: Fix first buffer size calculations for XDP multi-buffer
>   bnxt_en: Fix HDS and jumbo thresholds for RX packets
> 
> [...]

Here is the summary with links:
  - [net,1/5] bnxt_en: fix devlink port registration to netdev
    https://git.kernel.org/netdev/net/c/0020ae2a4aa8
  - [net,2/5] bnxt_en: Simplify bnxt_xdp_buff_init()
    https://git.kernel.org/netdev/net/c/bbfc17e50ba2
  - [net,3/5] bnxt_en: Fix XDP RX path
    https://git.kernel.org/netdev/net/c/9b3e607871ea
  - [net,4/5] bnxt_en: Fix first buffer size calculations for XDP multi-buffer
    https://git.kernel.org/netdev/net/c/1abeacc1979f
  - [net,5/5] bnxt_en: Fix HDS and jumbo thresholds for RX packets
    https://git.kernel.org/netdev/net/c/a056ebcc30e2

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

* [PATCH net 0/5] bnxt_en: Bug fixes
@ 2022-12-27  3:19 Michael Chan
  2022-12-28 10:20 ` patchwork-bot+netdevbpf
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Chan @ 2022-12-27  3:19 UTC (permalink / raw)
  To: davem; +Cc: netdev, kuba, edumazet, pabeni, bpf, gospo

[-- Attachment #1: Type: text/plain, Size: 881 bytes --]

This series fixes a devlink bug and several XDP related bugs.  The
devlink bug causes a kernel crash on VF devices.  The XDP driver
patches fix and clean up the RX XDP path and re-enable header-data
split that was disabled by mistake when adding the XDP multi-buffer
support.

Michael Chan (4):
  bnxt_en: Simplify bnxt_xdp_buff_init()
  bnxt_en: Fix XDP RX path
  bnxt_en: Fix first buffer size calculations for XDP multi-buffer
  bnxt_en: Fix HDS and jumbo thresholds for RX packets

Vikas Gupta (1):
  bnxt_en: fix devlink port registration to netdev

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 27 +++++++++++--------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     | 15 ++++++++---
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 20 +++++++-------
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h |  6 ++---
 4 files changed, 39 insertions(+), 29 deletions(-)

-- 
2.18.1


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]

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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes
  2021-09-05 18:10 Michael Chan
@ 2021-09-05 19:50 ` patchwork-bot+netdevbpf
  0 siblings, 0 replies; 28+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-09-05 19:50 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev, kuba, edwin.peer, gospo

Hello:

This series was applied to netdev/net.git (refs/heads/master):

On Sun,  5 Sep 2021 14:10:54 -0400 you wrote:
> This series includes 3 fixes related to devlink firmware and chip
> versions.  The other 2 patches fix a UDP tunneling issue and an
> error recovery issue.
> 
> Edwin Peer (2):
>   bnxt_en: fix stored FW_PSID version masks
>   bnxt_en: fix read of stored FW_PSID version on P5 devices
> 
> [...]

Here is the summary with links:
  - [net,1/5] bnxt_en: fix stored FW_PSID version masks
    https://git.kernel.org/netdev/net/c/1656db67233e
  - [net,2/5] bnxt_en: fix read of stored FW_PSID version on P5 devices
    https://git.kernel.org/netdev/net/c/beb55fcf950f
  - [net,3/5] bnxt_en: Fix asic.rev in devlink dev info command
    https://git.kernel.org/netdev/net/c/6fdab8a3ade2
  - [net,4/5] bnxt_en: Fix UDP tunnel logic
    https://git.kernel.org/netdev/net/c/7ae9dc356f24
  - [net,5/5] bnxt_en: Fix possible unintended driver initiated error recovery
    https://git.kernel.org/netdev/net/c/1b2b91831983

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

* [PATCH net 0/5] bnxt_en: Bug fixes
@ 2021-09-05 18:10 Michael Chan
  2021-09-05 19:50 ` patchwork-bot+netdevbpf
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Chan @ 2021-09-05 18:10 UTC (permalink / raw)
  To: davem; +Cc: netdev, kuba, edwin.peer, gospo

[-- Attachment #1: Type: text/plain, Size: 707 bytes --]

This series includes 3 fixes related to devlink firmware and chip
versions.  The other 2 patches fix a UDP tunneling issue and an
error recovery issue.

Edwin Peer (2):
  bnxt_en: fix stored FW_PSID version masks
  bnxt_en: fix read of stored FW_PSID version on P5 devices

Michael Chan (3):
  bnxt_en: Fix asic.rev in devlink dev info command
  bnxt_en: Fix UDP tunnel logic
  bnxt_en: Fix possible unintended driver initiated error recovery

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 53 ++++++++++++-------
 .../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 51 ++++++++++++------
 .../net/ethernet/broadcom/bnxt/bnxt_devlink.h |  4 +-
 3 files changed, 72 insertions(+), 36 deletions(-)

-- 
2.18.1


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]

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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes.
  2020-10-26  4:18 Michael Chan
@ 2020-10-27  1:36 ` Jakub Kicinski
  0 siblings, 0 replies; 28+ messages in thread
From: Jakub Kicinski @ 2020-10-27  1:36 UTC (permalink / raw)
  To: Michael Chan; +Cc: netdev, gospo

On Mon, 26 Oct 2020 00:18:16 -0400 Michael Chan wrote:
> These 5 bug fixes are all related to the firmware reset or AER recovery.
> 2 patches fix the cleanup logic for the workqueue used to handle firmware
> reset and recovery. 1 patch ensures that the chip will have the proper
> BAR addresses latched after fatal AER recovery.  1 patch fixes the
> open path to check for firmware reset abort error.  The last one
> sends the fw reset command unconditionally to fix the AER reset logic.
> 
> Please queue these for -stable as well.  Thanks.

Applied, thanks!

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

* [PATCH net 0/5] bnxt_en: Bug fixes.
@ 2020-10-26  4:18 Michael Chan
  2020-10-27  1:36 ` Jakub Kicinski
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Chan @ 2020-10-26  4:18 UTC (permalink / raw)
  To: kuba; +Cc: netdev, gospo

[-- Attachment #1: Type: text/plain, Size: 1006 bytes --]

These 5 bug fixes are all related to the firmware reset or AER recovery.
2 patches fix the cleanup logic for the workqueue used to handle firmware
reset and recovery. 1 patch ensures that the chip will have the proper
BAR addresses latched after fatal AER recovery.  1 patch fixes the
open path to check for firmware reset abort error.  The last one
sends the fw reset command unconditionally to fix the AER reset logic.

Please queue these for -stable as well.  Thanks.

Michael Chan (1):
  bnxt_en: Check abort error state in bnxt_open_nic().

Vasundhara Volam (4):
  bnxt_en: Fix regression in workqueue cleanup logic in
    bnxt_remove_one().
  bnxt_en: Invoke cancel_delayed_work_sync() for PFs also.
  bnxt_en: Re-write PCI BARs after PCI fatal error.
  bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally.

 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 49 ++++++++++++++---------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h |  1 +
 2 files changed, 32 insertions(+), 18 deletions(-)

-- 
2.18.1


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4166 bytes --]

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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes.
  2020-04-26 20:24 Michael Chan
@ 2020-04-27 18:45 ` David Miller
  0 siblings, 0 replies; 28+ messages in thread
From: David Miller @ 2020-04-27 18:45 UTC (permalink / raw)
  To: michael.chan; +Cc: netdev

From: Michael Chan <michael.chan@broadcom.com>
Date: Sun, 26 Apr 2020 16:24:37 -0400

> A collection of 5 miscellaneous bug fixes covering VF anti-spoof setup
> issues, devlink MSIX max value, AER, context memory allocation error
> path, and VLAN acceleration logic.
> 
> Please queue for -stable.  Thanks.

Applied and queued up for -stable, thanks.

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

* [PATCH net 0/5] bnxt_en: Bug fixes.
@ 2020-04-26 20:24 Michael Chan
  2020-04-27 18:45 ` David Miller
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Chan @ 2020-04-26 20:24 UTC (permalink / raw)
  To: davem; +Cc: netdev

A collection of 5 miscellaneous bug fixes covering VF anti-spoof setup
issues, devlink MSIX max value, AER, context memory allocation error
path, and VLAN acceleration logic.

Please queue for -stable.  Thanks.

Michael Chan (4):
  bnxt_en: Fix VF anti-spoof filter setup.
  bnxt_en: Improve AER slot reset.
  bnxt_en: Return error when allocating zero size context memory.
  bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features().

Vasundhara Volam (1):
  bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF.

 drivers/net/ethernet/broadcom/bnxt/bnxt.c         | 20 +++++++++++++-------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h         |  1 -
 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h |  2 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c   | 10 ++--------
 4 files changed, 16 insertions(+), 17 deletions(-)

-- 
2.5.1


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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes.
  2020-03-22 20:40 Michael Chan
  2020-03-23 17:27 ` Jakub Kicinski
@ 2020-03-24  4:43 ` David Miller
  1 sibling, 0 replies; 28+ messages in thread
From: David Miller @ 2020-03-24  4:43 UTC (permalink / raw)
  To: michael.chan; +Cc: netdev

From: Michael Chan <michael.chan@broadcom.com>
Date: Sun, 22 Mar 2020 16:40:00 -0400

> 5 bug fix patches covering an indexing bug for priority counters, memory
> leak when retrieving DCB ETS settings, error path return code, proper
> disabling of PCI before freeing context memory, and proper ring accounting
> in error path.

Series applied.

> Please also apply these to -stable.  Thanks.

Queued up, thanks.

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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes.
  2020-03-22 20:40 Michael Chan
@ 2020-03-23 17:27 ` Jakub Kicinski
  2020-03-24  4:43 ` David Miller
  1 sibling, 0 replies; 28+ messages in thread
From: Jakub Kicinski @ 2020-03-23 17:27 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev

On Sun, 22 Mar 2020 16:40:00 -0400 Michael Chan wrote:
> 5 bug fix patches covering an indexing bug for priority counters, memory
> leak when retrieving DCB ETS settings, error path return code, proper
> disabling of PCI before freeing context memory, and proper ring accounting
> in error path.
> 
> Please also apply these to -stable.  Thanks.

Reviewed-by: Jakub Kicinski <kuba@kernel.org>

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

* [PATCH net 0/5] bnxt_en: Bug fixes.
@ 2020-03-22 20:40 Michael Chan
  2020-03-23 17:27 ` Jakub Kicinski
  2020-03-24  4:43 ` David Miller
  0 siblings, 2 replies; 28+ messages in thread
From: Michael Chan @ 2020-03-22 20:40 UTC (permalink / raw)
  To: davem; +Cc: netdev

5 bug fix patches covering an indexing bug for priority counters, memory
leak when retrieving DCB ETS settings, error path return code, proper
disabling of PCI before freeing context memory, and proper ring accounting
in error path.

Please also apply these to -stable.  Thanks.

Edwin Peer (1):
  bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets()

Michael Chan (3):
  bnxt_en: Fix Priority Bytes and Packets counters in ethtool -S.
  bnxt_en: Return error if bnxt_alloc_ctx_mem() fails.
  bnxt_en: Free context memory after disabling PCI in probe error path.

Vasundhara Volam (1):
  bnxt_en: Reset rings if ring reservation fails during open()

 drivers/net/ethernet/broadcom/bnxt/bnxt.c         | 28 ++++++++++++++++-------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h         |  2 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c     | 15 ++++++++----
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c |  8 +++----
 4 files changed, 35 insertions(+), 18 deletions(-)

-- 
2.5.1


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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes.
  2019-06-29 15:16 Michael Chan
@ 2019-06-30 23:01 ` David Miller
  0 siblings, 0 replies; 28+ messages in thread
From: David Miller @ 2019-06-30 23:01 UTC (permalink / raw)
  To: michael.chan; +Cc: netdev

From: Michael Chan <michael.chan@broadcom.com>
Date: Sat, 29 Jun 2019 11:16:43 -0400

> Miscellaneous bug fix patches, including two resource handling fixes for
> the RDMA driver, a PCI shutdown patch to add pci_disable_device(), a patch
> to fix ethtool selftest crash, and the last one suppresses an unnecessry
> error message.

Series applied.

> Please also queue patches 1, 2, and 3 for -stable.  Thanks.

Queued up.

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

* [PATCH net 0/5] bnxt_en: Bug fixes.
@ 2019-06-29 15:16 Michael Chan
  2019-06-30 23:01 ` David Miller
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Chan @ 2019-06-29 15:16 UTC (permalink / raw)
  To: davem; +Cc: netdev

Miscellaneous bug fix patches, including two resource handling fixes for
the RDMA driver, a PCI shutdown patch to add pci_disable_device(), a patch
to fix ethtool selftest crash, and the last one suppresses an unnecessry
error message.

Please also queue patches 1, 2, and 3 for -stable.  Thanks.

Michael Chan (5):
  bnxt_en: Disable bus master during PCI shutdown and driver unload.
  bnxt_en: Fix ethtool selftest crash under error conditions.
  bnxt_en: Fix statistics context reservation logic for RDMA driver.
  bnxt_en: Cap the returned MSIX vectors to the RDMA driver.
  bnxt_en: Suppress error messages when querying DSCP DCB capabilities.

 drivers/net/ethernet/broadcom/bnxt/bnxt.c         | 20 +++++++++++++-------
 drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c     |  2 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c |  6 +++---
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c     |  4 +++-
 4 files changed, 20 insertions(+), 12 deletions(-)

-- 
2.5.1


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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes.
  2016-02-10 22:33 Michael Chan
@ 2016-02-16 20:51 ` David Miller
  0 siblings, 0 replies; 28+ messages in thread
From: David Miller @ 2016-02-16 20:51 UTC (permalink / raw)
  To: mchan; +Cc: netdev

From: Michael Chan <mchan@broadcom.com>
Date: Wed, 10 Feb 2016 17:33:45 -0500

> Fixed autoneg logic and some related cleanups, fixed tx push operation,
> and reduced default ring sizes.

Series applied, thanks Michael.

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

* [PATCH net 0/5] bnxt_en: Bug fixes.
@ 2016-02-10 22:33 Michael Chan
  2016-02-16 20:51 ` David Miller
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Chan @ 2016-02-10 22:33 UTC (permalink / raw)
  To: davem; +Cc: netdev

Fixed autoneg logic and some related cleanups, fixed tx push operation,
and reduced default ring sizes.

Michael Chan (5):
  bnxt_en: Fix ethtool autoneg logic.
  bnxt_en: Cleanup and Fix flow control setup logic
  bnxt_en: Remove 20G support and advertise only 40GbaseCR4.
  bnxt_en: Fix implementation of tx push operation.
  bnxt_en: Reduce default ring sizes.

 drivers/net/ethernet/broadcom/bnxt/bnxt.c         | 62 ++++++++++++-----------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h         | 15 ++++--
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 46 +++++------------
 3 files changed, 56 insertions(+), 67 deletions(-)

-- 
1.8.3.1

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

* Re: [PATCH net 0/5] bnxt_en: Bug fixes.
  2015-11-05 21:25 Michael Chan
@ 2015-11-05 21:35 ` David Miller
  0 siblings, 0 replies; 28+ messages in thread
From: David Miller @ 2015-11-05 21:35 UTC (permalink / raw)
  To: mchan; +Cc: netdev

From: Michael Chan <mchan@broadcom.com>
Date: Thu, 5 Nov 2015 16:25:46 -0500

> Miscellaneous small bug fixes.

This looks fine, series applied, thanks.

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

* [PATCH net 0/5] bnxt_en: Bug fixes.
@ 2015-11-05 21:25 Michael Chan
  2015-11-05 21:35 ` David Miller
  0 siblings, 1 reply; 28+ messages in thread
From: Michael Chan @ 2015-11-05 21:25 UTC (permalink / raw)
  To: davem; +Cc: netdev

Miscellaneous small bug fixes.

Michael Chan (5):
  bnxt_en: Change sp events definitions to represent bit position.
  bnxt_en: Determine tcp/ipv6 RSS hash type correctly.
  bnxt_en: map CAG_REG_LEGACY_INT_STATUS_MASK to GRC window #4
  bnxt_en: Fix comparison of u16 sw_id against negative value.
  bnxt_en: More robust SRIOV cleanup sequence.

 drivers/net/ethernet/broadcom/bnxt/bnxt.c       | 28 ++++++++++++-----
 drivers/net/ethernet/broadcom/bnxt/bnxt.h       | 26 +++++++++-------
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 40 +++++++++++++++++--------
 3 files changed, 64 insertions(+), 30 deletions(-)

-- 
1.8.3.1

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

end of thread, other threads:[~2024-01-19  2:10 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-21  5:34 [PATCH net 0/5] bnxt_en: Bug fixes Michael Chan
2019-10-21  5:34 ` [PATCH net 1/5] bnxt_en: Fix the size of devlink MSIX parameters Michael Chan
2019-10-21  5:34 ` [PATCH net 2/5] bnxt_en: Fix devlink NVRAM related byte order related issues Michael Chan
2019-10-22  4:14   ` Jakub Kicinski
2019-10-22  5:38     ` Michael Chan
2019-10-21  5:34 ` [PATCH net 3/5] bnxt_en: Adjust the time to wait before polling firmware readiness Michael Chan
2019-10-21  5:34 ` [PATCH net 4/5] bnxt_en: Minor formatting changes in FW devlink_health_reporter Michael Chan
2019-10-21  5:34 ` [PATCH net 5/5] bnxt_en: Avoid disabling pci device in bnxt_remove_one() for already disabled device Michael Chan
2019-10-22 20:29 ` [PATCH net 0/5] bnxt_en: Bug fixes Jakub Kicinski
  -- strict thread matches above, loose matches on Subject: below --
2024-01-17 23:45 Michael Chan
2024-01-19  2:10 ` patchwork-bot+netdevbpf
2022-12-27  3:19 Michael Chan
2022-12-28 10:20 ` patchwork-bot+netdevbpf
2021-09-05 18:10 Michael Chan
2021-09-05 19:50 ` patchwork-bot+netdevbpf
2020-10-26  4:18 Michael Chan
2020-10-27  1:36 ` Jakub Kicinski
2020-04-26 20:24 Michael Chan
2020-04-27 18:45 ` David Miller
2020-03-22 20:40 Michael Chan
2020-03-23 17:27 ` Jakub Kicinski
2020-03-24  4:43 ` David Miller
2019-06-29 15:16 Michael Chan
2019-06-30 23:01 ` David Miller
2016-02-10 22:33 Michael Chan
2016-02-16 20:51 ` David Miller
2015-11-05 21:25 Michael Chan
2015-11-05 21:35 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.