* [PATCH net 0/3] bnxt_en: Bug fixes.
@ 2017-07-11 17:05 Michael Chan
2017-07-11 17:05 ` [PATCH net 1/3] bnxt_en: Fix race conditions in .ndo_get_stats64() Michael Chan
` (3 more replies)
0 siblings, 4 replies; 31+ messages in thread
From: Michael Chan @ 2017-07-11 17:05 UTC (permalink / raw)
To: davem; +Cc: netdev
3 bug fixes in this series. Fix a crash in bnxt_get_stats64() that can
happen if the device is closing and freeing the statistics block at the
same time. The 2nd one fixes ethtool -L failing when changing from
combined to non-combined mode or vice versa. The last one fixes SRIOV
failure on big-endian systems because we were setting a bitmap wrong in
a firmware message.
Michael Chan (3):
bnxt_en: Fix race conditions in .ndo_get_stats64().
bnxt_en: Fix bug in ethtool -L.
bnxt_en: Fix SRIOV on big-endian architecture.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 42 ++++++++++++++++-------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 4 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 3 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 2 +-
4 files changed, 35 insertions(+), 16 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH net 1/3] bnxt_en: Fix race conditions in .ndo_get_stats64().
2017-07-11 17:05 [PATCH net 0/3] bnxt_en: Bug fixes Michael Chan
@ 2017-07-11 17:05 ` Michael Chan
2017-07-11 17:05 ` [PATCH net 2/3] bnxt_en: Fix bug in ethtool -L Michael Chan
` (2 subsequent siblings)
3 siblings, 0 replies; 31+ messages in thread
From: Michael Chan @ 2017-07-11 17:05 UTC (permalink / raw)
To: davem; +Cc: netdev
.ndo_get_stats64() may not be protected by RTNL and can race with
.ndo_stop() or other ethtool operations that can free the statistics
memory. Fix it by setting a new flag BNXT_STATE_READ_STATS and then
proceeding to read statistics memory only if the state is OPEN. The
close path that frees the memory clears the OPEN state and then waits
for the BNXT_STATE_READ_STATS to clear before proceeding to free the
statistics memory.
Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 18 ++++++++++++++++--
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index a19f68f..415694d 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -6279,6 +6279,12 @@ static int bnxt_open(struct net_device *dev)
return __bnxt_open_nic(bp, true, true);
}
+static bool bnxt_drv_busy(struct bnxt *bp)
+{
+ return (test_bit(BNXT_STATE_IN_SP_TASK, &bp->state) ||
+ test_bit(BNXT_STATE_READ_STATS, &bp->state));
+}
+
int bnxt_close_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
{
int rc = 0;
@@ -6297,7 +6303,7 @@ int bnxt_close_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
clear_bit(BNXT_STATE_OPEN, &bp->state);
smp_mb__after_atomic();
- while (test_bit(BNXT_STATE_IN_SP_TASK, &bp->state))
+ while (bnxt_drv_busy(bp))
msleep(20);
/* Flush rings and and disable interrupts */
@@ -6358,8 +6364,15 @@ static int bnxt_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
u32 i;
struct bnxt *bp = netdev_priv(dev);
- if (!bp->bnapi)
+ set_bit(BNXT_STATE_READ_STATS, &bp->state);
+ /* Make sure bnxt_close_nic() sees that we are reading stats before
+ * we check the BNXT_STATE_OPEN flag.
+ */
+ smp_mb__after_atomic();
+ if (!test_bit(BNXT_STATE_OPEN, &bp->state)) {
+ clear_bit(BNXT_STATE_READ_STATS, &bp->state);
return;
+ }
/* TODO check if we need to synchronize with bnxt_close path */
for (i = 0; i < bp->cp_nr_rings; i++) {
@@ -6406,6 +6419,7 @@ static int bnxt_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
stats->tx_fifo_errors = le64_to_cpu(tx->tx_fifo_underruns);
stats->tx_errors = le64_to_cpu(tx->tx_err);
}
+ clear_bit(BNXT_STATE_READ_STATS, &bp->state);
}
static bool bnxt_mc_list_updated(struct bnxt *bp, u32 *rx_mask)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
index f872a7d..3c9d484 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
@@ -1117,6 +1117,7 @@ struct bnxt {
unsigned long state;
#define BNXT_STATE_OPEN 0
#define BNXT_STATE_IN_SP_TASK 1
+#define BNXT_STATE_READ_STATS 2
struct bnxt_irq *irq_tbl;
int total_irqs;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net 2/3] bnxt_en: Fix bug in ethtool -L.
2017-07-11 17:05 [PATCH net 0/3] bnxt_en: Bug fixes Michael Chan
2017-07-11 17:05 ` [PATCH net 1/3] bnxt_en: Fix race conditions in .ndo_get_stats64() Michael Chan
@ 2017-07-11 17:05 ` Michael Chan
2017-07-11 17:05 ` [PATCH net 3/3] bnxt_en: Fix SRIOV on big-endian architecture Michael Chan
2017-07-11 17:32 ` [PATCH net 0/3] bnxt_en: Bug fixes David Miller
3 siblings, 0 replies; 31+ messages in thread
From: Michael Chan @ 2017-07-11 17:05 UTC (permalink / raw)
To: davem; +Cc: netdev
When changing channels from combined to rx/tx or vice versa, the code
uses the wrong "sh" parameter to determine if we are reserving rings
for shared or non-shared mode. It should be using the ethtool requested
"sh" parameter instead of the current "sh" parameter.
Fix it by passing the "sh" parameter to bnxt_reserve_rings(). For
ethtool, we will pass in the requested "sh" parameter.
Fixes: 391be5c27364 ("bnxt_en: Implement new scheme to reserve tx rings.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 9 +++------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 3 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 2 +-
4 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 415694d..d9830d0 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -6918,16 +6918,13 @@ static void bnxt_sp_task(struct work_struct *work)
}
/* Under rtnl_lock */
-int bnxt_reserve_rings(struct bnxt *bp, int tx, int rx, int tcs, int tx_xdp)
+int bnxt_reserve_rings(struct bnxt *bp, int tx, int rx, bool sh, int tcs,
+ int tx_xdp)
{
int max_rx, max_tx, tx_sets = 1;
int tx_rings_needed;
- bool sh = true;
int rc;
- if (!(bp->flags & BNXT_FLAG_SHARED_RINGS))
- sh = false;
-
if (tcs)
tx_sets = tcs;
@@ -7135,7 +7132,7 @@ int bnxt_setup_mq_tc(struct net_device *dev, u8 tc)
sh = true;
rc = bnxt_reserve_rings(bp, bp->tx_nr_rings_per_tc, bp->rx_nr_rings,
- tc, bp->tx_nr_rings_xdp);
+ sh, tc, bp->tx_nr_rings_xdp);
if (rc)
return rc;
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
index 3c9d484..f34691f 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
@@ -1301,7 +1301,8 @@ int bnxt_hwrm_func_rgtr_async_events(struct bnxt *bp, unsigned long *bmap,
int bnxt_half_open_nic(struct bnxt *bp);
void bnxt_half_close_nic(struct bnxt *bp);
int bnxt_close_nic(struct bnxt *, bool, bool);
-int bnxt_reserve_rings(struct bnxt *bp, int tx, int rx, int tcs, int tx_xdp);
+int bnxt_reserve_rings(struct bnxt *bp, int tx, int rx, bool sh, int tcs,
+ int tx_xdp);
int bnxt_setup_mq_tc(struct net_device *dev, u8 tc);
int bnxt_get_max_rings(struct bnxt *, int *, int *, bool);
void bnxt_restore_pf_fw_resources(struct bnxt *bp);
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
index fd11815..be6acad 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
@@ -432,7 +432,8 @@ static int bnxt_set_channels(struct net_device *dev,
}
tx_xdp = req_rx_rings;
}
- rc = bnxt_reserve_rings(bp, req_tx_rings, req_rx_rings, tcs, tx_xdp);
+ rc = bnxt_reserve_rings(bp, req_tx_rings, req_rx_rings, sh, tcs,
+ tx_xdp);
if (rc) {
netdev_warn(dev, "Unable to allocate the requested rings\n");
return rc;
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
index 7d67552..3961a68 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
@@ -170,7 +170,7 @@ static int bnxt_xdp_set(struct bnxt *bp, struct bpf_prog *prog)
if (!tc)
tc = 1;
rc = bnxt_reserve_rings(bp, bp->tx_nr_rings_per_tc, bp->rx_nr_rings,
- tc, tx_xdp);
+ true, tc, tx_xdp);
if (rc) {
netdev_warn(dev, "Unable to reserve enough TX rings to support XDP.\n");
return rc;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH net 3/3] bnxt_en: Fix SRIOV on big-endian architecture.
2017-07-11 17:05 [PATCH net 0/3] bnxt_en: Bug fixes Michael Chan
2017-07-11 17:05 ` [PATCH net 1/3] bnxt_en: Fix race conditions in .ndo_get_stats64() Michael Chan
2017-07-11 17:05 ` [PATCH net 2/3] bnxt_en: Fix bug in ethtool -L Michael Chan
@ 2017-07-11 17:05 ` Michael Chan
2017-07-11 17:32 ` [PATCH net 0/3] bnxt_en: Bug fixes David Miller
3 siblings, 0 replies; 31+ messages in thread
From: Michael Chan @ 2017-07-11 17:05 UTC (permalink / raw)
To: davem; +Cc: netdev
The PF driver sets up a list of firmware commands from the VF driver that
needs to be forwarded to the PF for approval. This list is a 256-bit
bitmap. The code that sets up the bitmap falls apart on big-endian
architecture. __set_bit() does not work because it operates on long types
whereas the firmware interface is defined in u32 types, causing bits in
the wrong 32-bit word to be set.
Fix it by setting the proper bits on an array of u32.
Fixes: de68f5de5651 ("bnxt_en: Fix bitmap declaration to work on 32-bit arches.")
Reported-by: Shannon Nelson <shannon.nelson@oracle.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index d9830d0..e7c8539 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -3458,13 +3458,18 @@ static int bnxt_hwrm_func_drv_rgtr(struct bnxt *bp)
req.ver_upd = DRV_VER_UPD;
if (BNXT_PF(bp)) {
- DECLARE_BITMAP(vf_req_snif_bmap, 256);
- u32 *data = (u32 *)vf_req_snif_bmap;
+ u32 data[8];
int i;
- memset(vf_req_snif_bmap, 0, sizeof(vf_req_snif_bmap));
- for (i = 0; i < ARRAY_SIZE(bnxt_vf_req_snif); i++)
- __set_bit(bnxt_vf_req_snif[i], vf_req_snif_bmap);
+ memset(data, 0, sizeof(data));
+ for (i = 0; i < ARRAY_SIZE(bnxt_vf_req_snif); i++) {
+ u16 cmd = bnxt_vf_req_snif[i];
+ unsigned int bit, idx;
+
+ idx = cmd / 32;
+ bit = cmd % 32;
+ data[idx] |= 1 << bit;
+ }
for (i = 0; i < 8; i++)
req.vf_req_fwd[i] = cpu_to_le32(data[i]);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes.
2017-07-11 17:05 [PATCH net 0/3] bnxt_en: Bug fixes Michael Chan
` (2 preceding siblings ...)
2017-07-11 17:05 ` [PATCH net 3/3] bnxt_en: Fix SRIOV on big-endian architecture Michael Chan
@ 2017-07-11 17:32 ` David Miller
3 siblings, 0 replies; 31+ messages in thread
From: David Miller @ 2017-07-11 17:32 UTC (permalink / raw)
To: michael.chan; +Cc: netdev
From: Michael Chan <michael.chan@broadcom.com>
Date: Tue, 11 Jul 2017 13:05:33 -0400
> 3 bug fixes in this series. Fix a crash in bnxt_get_stats64() that can
> happen if the device is closing and freeing the statistics block at the
> same time. The 2nd one fixes ethtool -L failing when changing from
> combined to non-combined mode or vice versa. The last one fixes SRIOV
> failure on big-endian systems because we were setting a bitmap wrong in
> a firmware message.
Series applied, thanks Michael.
We really should look into generically taking care of the ->ndo_close()
vs. statistics pulling synchronization so that every driver doesn't
need to have code like this.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes
@ 2025-06-13 23:18 Michael Chan
2025-06-17 23:10 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2025-06-13 23:18 UTC (permalink / raw)
To: davem
Cc: netdev, edumazet, kuba, pabeni, andrew+netdev, pavan.chebbi,
andrew.gospodarek
Thie first patch fixes a crash during PCIe AER when the bnxt_re RoCE
driver is loaded. The second patch is a refactor patch needed by
patch 3. Patch 3 fixes a packet drop issue if queue restart is done
on a ring belonging to a non-default RSS context. Patch 2 and 3 are
version 2 that has addressed the v1 issue by reducing the scope of
the traffic disruptions:
https://lore.kernel.org/netdev/CACKFLi=P9xYHVF4h2Ovjd-8DaoyzFAHnY6Y6H+1b7eGq+BQZzA@mail.gmail.com/
Kalesh AP (1):
bnxt_en: Fix double invocation of bnxt_ulp_stop()/bnxt_ulp_start()
Pavan Chebbi (2):
bnxt_en: Add a helper function to configure MRU and RSS
bnxt_en: Update MRU and RSS table of RSS contexts on queue reset
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 87 ++++++++++++++++---
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 24 +++--
2 files changed, 84 insertions(+), 27 deletions(-)
--
2.30.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes
2025-06-13 23:18 Michael Chan
@ 2025-06-17 23:10 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 31+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-06-17 23:10 UTC (permalink / raw)
To: Michael Chan
Cc: davem, netdev, edumazet, kuba, pabeni, andrew+netdev,
pavan.chebbi, andrew.gospodarek
Hello:
This series was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Fri, 13 Jun 2025 16:18:38 -0700 you wrote:
> Thie first patch fixes a crash during PCIe AER when the bnxt_re RoCE
> driver is loaded. The second patch is a refactor patch needed by
> patch 3. Patch 3 fixes a packet drop issue if queue restart is done
> on a ring belonging to a non-default RSS context. Patch 2 and 3 are
> version 2 that has addressed the v1 issue by reducing the scope of
> the traffic disruptions:
>
> [...]
Here is the summary with links:
- [net,1/3] bnxt_en: Fix double invocation of bnxt_ulp_stop()/bnxt_ulp_start()
https://git.kernel.org/netdev/net/c/1e9ac33fa271
- [net,2/3] bnxt_en: Add a helper function to configure MRU and RSS
https://git.kernel.org/netdev/net/c/e11baaea94e2
- [net,3/3] bnxt_en: Update MRU and RSS table of RSS contexts on queue reset
https://git.kernel.org/netdev/net/c/5dacc94c6fe6
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] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes
@ 2024-04-05 23:55 Michael Chan
2024-04-08 13:00 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2024-04-05 23:55 UTC (permalink / raw)
To: davem; +Cc: netdev, edumazet, kuba, pabeni, pavan.chebbi, andrew.gospodarek
[-- Attachment #1: Type: text/plain, Size: 567 bytes --]
The first 2 patches fix 2 potential issues in the aux bus initialization
and error recovery paths. The 3rd patch fixes a potential PTP TX
timestamp issue during error recovery.
Pavan Chebbi (1):
bnxt_en: Reset PTP tx_avail after possible firmware reset
Vikas Gupta (2):
bnxt_en: Fix possible memory leak in bnxt_rdma_aux_device_init()
bnxt_en: Fix error recovery for RoCE ulp client
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 ++
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 6 +++++-
2 files changed, 7 insertions(+), 1 deletion(-)
--
2.30.1
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes
2024-04-05 23:55 Michael Chan
@ 2024-04-08 13:00 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 31+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-04-08 13:00 UTC (permalink / raw)
To: Michael Chan
Cc: davem, netdev, edumazet, kuba, pabeni, pavan.chebbi,
andrew.gospodarek
Hello:
This series was applied to netdev/net.git (main)
by David S. Miller <davem@davemloft.net>:
On Fri, 5 Apr 2024 16:55:10 -0700 you wrote:
> The first 2 patches fix 2 potential issues in the aux bus initialization
> and error recovery paths. The 3rd patch fixes a potential PTP TX
> timestamp issue during error recovery.
>
> Pavan Chebbi (1):
> bnxt_en: Reset PTP tx_avail after possible firmware reset
>
> [...]
Here is the summary with links:
- [net,1/3] bnxt_en: Fix possible memory leak in bnxt_rdma_aux_device_init()
https://git.kernel.org/netdev/net/c/7ac10c7d728d
- [net,2/3] bnxt_en: Fix error recovery for RoCE ulp client
https://git.kernel.org/netdev/net/c/b5ea7d33ba2a
- [net,3/3] bnxt_en: Reset PTP tx_avail after possible firmware reset
https://git.kernel.org/netdev/net/c/faa12ca24558
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] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes
@ 2022-05-03 1:13 Michael Chan
2022-05-04 1:00 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2022-05-03 1:13 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, gospo
[-- Attachment #1: Type: text/plain, Size: 604 bytes --]
This patch series includes 3 fixes:
1. Fix an occasional VF open failure.
2. Fix a PTP spinlock usage before initialization
3. Fix unnecesary RX packet drops under high TX traffic load.
Michael Chan (2):
bnxt_en: Initiallize bp->ptp_lock first before using it
bnxt_en: Fix unnecessary dropping of RX packets
Somnath Kotur (1):
bnxt_en: Fix possible bnxt_open() failure caused by wrong RFS flag
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 13 ++++++++-----
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c | 15 +++++++--------
2 files changed, 15 insertions(+), 13 deletions(-)
--
2.18.1
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes
2022-05-03 1:13 Michael Chan
@ 2022-05-04 1:00 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 31+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-05-04 1:00 UTC (permalink / raw)
To: Michael Chan; +Cc: davem, netdev, kuba, gospo
Hello:
This series was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:
On Mon, 2 May 2022 21:13:09 -0400 you wrote:
> This patch series includes 3 fixes:
>
> 1. Fix an occasional VF open failure.
> 2. Fix a PTP spinlock usage before initialization
> 3. Fix unnecesary RX packet drops under high TX traffic load.
>
> Michael Chan (2):
> bnxt_en: Initiallize bp->ptp_lock first before using it
> bnxt_en: Fix unnecessary dropping of RX packets
>
> [...]
Here is the summary with links:
- [net,1/3] bnxt_en: Fix possible bnxt_open() failure caused by wrong RFS flag
https://git.kernel.org/netdev/net/c/13ba794397e4
- [net,2/3] bnxt_en: Initiallize bp->ptp_lock first before using it
https://git.kernel.org/netdev/net/c/2b156fb57d8f
- [net,3/3] bnxt_en: Fix unnecessary dropping of RX packets
https://git.kernel.org/netdev/net/c/195af57914d1
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] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes
@ 2021-11-15 7:37 Michael Chan
2021-11-15 14:20 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2021-11-15 7:37 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, edwin.peer, gospo
[-- Attachment #1: Type: text/plain, Size: 705 bytes --]
This series includes 3 fixes. The first one fixes a race condition
between devlink reload and SR-IOV configuration. The second one
fixes a type mismatch warning in devlink fw live patching. The
last one fixes unwanted OVS TC dmesg error logs when tc-hw-offload is
disabled on bnxt_en.
Edwin Peer (2):
bnxt_en: extend RTNL to VF check in devlink driver_reinit
bnxt_en: fix format specifier in live patch error message
Sriharsha Basavapatna (1):
bnxt_en: reject indirect blk offload when hw-tc-offload is off
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 9 +++++----
drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c | 2 +-
2 files changed, 6 insertions(+), 5 deletions(-)
--
2.18.1
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes
2021-11-15 7:37 Michael Chan
@ 2021-11-15 14:20 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 31+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-11-15 14:20 UTC (permalink / raw)
To: Michael Chan; +Cc: davem, netdev, kuba, edwin.peer, gospo
Hello:
This series was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:
On Mon, 15 Nov 2021 02:37:58 -0500 you wrote:
> This series includes 3 fixes. The first one fixes a race condition
> between devlink reload and SR-IOV configuration. The second one
> fixes a type mismatch warning in devlink fw live patching. The
> last one fixes unwanted OVS TC dmesg error logs when tc-hw-offload is
> disabled on bnxt_en.
>
> Edwin Peer (2):
> bnxt_en: extend RTNL to VF check in devlink driver_reinit
> bnxt_en: fix format specifier in live patch error message
>
> [...]
Here is the summary with links:
- [net,1/3] bnxt_en: extend RTNL to VF check in devlink driver_reinit
https://git.kernel.org/netdev/net/c/46d08f55d24e
- [net,2/3] bnxt_en: fix format specifier in live patch error message
https://git.kernel.org/netdev/net/c/b68a1a933fe4
- [net,3/3] bnxt_en: reject indirect blk offload when hw-tc-offload is off
https://git.kernel.org/netdev/net/c/b0757491a118
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] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes.
@ 2021-09-12 16:34 Michael Chan
2021-09-13 11:40 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2021-09-12 16:34 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, edwin.peer, gospo
[-- Attachment #1: Type: text/plain, Size: 533 bytes --]
The first patch fixes an error recovery regression just introduced
about a week ago. The other two patches fix issues related to
freeing rings in the bnxt_close() path under error conditions.
Edwin Peer (1):
bnxt_en: make bnxt_free_skbs() safe to call after bnxt_free_mem()
Michael Chan (2):
bnxt_en: Fix error recovery regression
bnxt_en: Clean up completion ring page arrays completely
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 33 ++++++++++++++++++++---
1 file changed, 29 insertions(+), 4 deletions(-)
--
2.18.1
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes.
2021-09-12 16:34 Michael Chan
@ 2021-09-13 11:40 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 31+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-09-13 11:40 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, 12 Sep 2021 12:34:46 -0400 you wrote:
> The first patch fixes an error recovery regression just introduced
> about a week ago. The other two patches fix issues related to
> freeing rings in the bnxt_close() path under error conditions.
>
> Edwin Peer (1):
> bnxt_en: make bnxt_free_skbs() safe to call after bnxt_free_mem()
>
> [...]
Here is the summary with links:
- [net,1/3] bnxt_en: Fix error recovery regression
https://git.kernel.org/netdev/net/c/eca4cf12acda
- [net,2/3] bnxt_en: make bnxt_free_skbs() safe to call after bnxt_free_mem()
https://git.kernel.org/netdev/net/c/1affc01fdc60
- [net,3/3] bnxt_en: Clean up completion ring page arrays completely
https://git.kernel.org/netdev/net/c/985941e1dd5e
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] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes
@ 2021-06-18 6:07 Michael Chan
2021-06-18 19:10 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2021-06-18 6:07 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, gospo
This patchset includes 3 small bug fixes to reinitialize PHY capabilities
after firmware reset, setup the chip's internal TQM fastpath ring
backing memory properly for RoCE traffic, and to free ethtool related
memory if driver probe fails.
Michael Chan (1):
bnxt_en: Rediscover PHY capabilities after firmware reset
Rukhsana Ansari (1):
bnxt_en: Fix TQM fastpath ring backing store computation
Somnath Kotur (1):
bnxt_en: Call bnxt_ethtool_free() in bnxt_init_one() error path
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
--
2.18.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes
2021-06-18 6:07 Michael Chan
@ 2021-06-18 19:10 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 31+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-06-18 19:10 UTC (permalink / raw)
To: Michael Chan; +Cc: davem, netdev, kuba, gospo
Hello:
This series was applied to netdev/net.git (refs/heads/master):
On Fri, 18 Jun 2021 02:07:24 -0400 you wrote:
> This patchset includes 3 small bug fixes to reinitialize PHY capabilities
> after firmware reset, setup the chip's internal TQM fastpath ring
> backing memory properly for RoCE traffic, and to free ethtool related
> memory if driver probe fails.
>
> Michael Chan (1):
> bnxt_en: Rediscover PHY capabilities after firmware reset
>
> [...]
Here is the summary with links:
- [net,1/3] bnxt_en: Rediscover PHY capabilities after firmware reset
https://git.kernel.org/netdev/net/c/0afd6a4e8028
- [net,2/3] bnxt_en: Fix TQM fastpath ring backing store computation
https://git.kernel.org/netdev/net/c/c12e1643d273
- [net,3/3] bnxt_en: Call bnxt_ethtool_free() in bnxt_init_one() error path
https://git.kernel.org/netdev/net/c/03400aaa69f9
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] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes.
@ 2020-05-25 21:41 Michael Chan
2020-05-27 3:31 ` David Miller
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2020-05-25 21:41 UTC (permalink / raw)
To: davem; +Cc: netdev
3 bnxt_en driver fixes, covering a bug in preserving the counters during
some resets, proper error code when flashing NVRAM fails, and an
endian bug when extracting the firmware response message length.
Please also queue these for -stable. Thanks.
Edwin Peer (1):
bnxt_en: fix firmware message length endianness
Michael Chan (1):
bnxt_en: Fix accumulation of bp->net_stats_prev.
Vasundhara Volam (1):
bnxt_en: Fix return code to "flash_device".
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 16 +++++-----------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 5 -----
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 9 +++++----
3 files changed, 10 insertions(+), 20 deletions(-)
--
2.5.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes.
2020-05-25 21:41 Michael Chan
@ 2020-05-27 3:31 ` David Miller
0 siblings, 0 replies; 31+ messages in thread
From: David Miller @ 2020-05-27 3:31 UTC (permalink / raw)
To: michael.chan; +Cc: netdev
From: Michael Chan <michael.chan@broadcom.com>
Date: Mon, 25 May 2020 17:41:16 -0400
> 3 bnxt_en driver fixes, covering a bug in preserving the counters during
> some resets, proper error code when flashing NVRAM fails, and an
> endian bug when extracting the firmware response message length.
Series applied.
> Please also queue these for -stable. Thanks.
Queued up.
Thanks.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes.
@ 2020-01-17 5:32 Michael Chan
2020-01-18 13:48 ` David Miller
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2020-01-17 5:32 UTC (permalink / raw)
To: davem; +Cc: netdev
3 small bug fix patches. The 1st two are aRFS fixes and the last one
fixes a fatal driver load failure on some kernels without PCIe
extended config space support enabled.
Please also queue these for -stable. Thanks.
Michael Chan (3):
bnxt_en: Fix NTUPLE firmware command failures.
bnxt_en: Fix ipv6 RFS filter matching logic.
bnxt_en: Do not treat DSN (Digital Serial Number) read failure as
fatal.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 29 ++++++++++++++++++---------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 4 +---
drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 3 +++
3 files changed, 24 insertions(+), 12 deletions(-)
--
2.5.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes.
@ 2018-09-03 8:23 Michael Chan
2018-09-04 5:01 ` David Miller
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2018-09-03 8:23 UTC (permalink / raw)
To: davem; +Cc: netdev
This short series fixes resource related logic in the driver, mostly
affecting the RDMA driver under corner cases.
Michael Chan (3):
bnxt_en: Fix firmware signaled resource change logic in open.
bnxt_en: Clean up unused functions.
bnxt_en: Do not adjust max_cp_rings by the ones used by RDMA.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 22 +++++++++++++++-------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 +--
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 7 ++++---
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 20 --------------------
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 1 -
5 files changed, 20 insertions(+), 33 deletions(-)
--
2.5.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes.
2018-09-03 8:23 Michael Chan
@ 2018-09-04 5:01 ` David Miller
2018-09-04 5:50 ` Michael Chan
0 siblings, 1 reply; 31+ messages in thread
From: David Miller @ 2018-09-04 5:01 UTC (permalink / raw)
To: michael.chan; +Cc: netdev
From: Michael Chan <michael.chan@broadcom.com>
Date: Mon, 3 Sep 2018 04:23:16 -0400
> This short series fixes resource related logic in the driver, mostly
> affecting the RDMA driver under corner cases.
Series applied, thanks Michael.
Do you want patch #3 queued up for -stable?
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes.
2018-09-04 5:01 ` David Miller
@ 2018-09-04 5:50 ` Michael Chan
2018-09-04 6:30 ` Michael Chan
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2018-09-04 5:50 UTC (permalink / raw)
To: David Miller; +Cc: Netdev
On Mon, Sep 3, 2018 at 10:01 PM, David Miller <davem@davemloft.net> wrote:
>
> From: Michael Chan <michael.chan@broadcom.com>
> Date: Mon, 3 Sep 2018 04:23:16 -0400
>
> > This short series fixes resource related logic in the driver, mostly
> > affecting the RDMA driver under corner cases.
>
> Series applied, thanks Michael.
>
> Do you want patch #3 queued up for -stable?
Yes, please go ahead. Thanks.
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH net 0/3] bnxt_en: Bug fixes.
2018-09-04 5:50 ` Michael Chan
@ 2018-09-04 6:30 ` Michael Chan
0 siblings, 0 replies; 31+ messages in thread
From: Michael Chan @ 2018-09-04 6:30 UTC (permalink / raw)
To: David Miller; +Cc: Netdev
On Mon, Sep 3, 2018 at 10:50 PM, Michael Chan <michael.chan@broadcom.com> wrote:
> On Mon, Sep 3, 2018 at 10:01 PM, David Miller <davem@davemloft.net> wrote:
>>
>> From: Michael Chan <michael.chan@broadcom.com>
>> Date: Mon, 3 Sep 2018 04:23:16 -0400
>>
>> > This short series fixes resource related logic in the driver, mostly
>> > affecting the RDMA driver under corner cases.
>>
>> Series applied, thanks Michael.
>>
>> Do you want patch #3 queued up for -stable?
>
> Yes, please go ahead. Thanks.
But there is a dependency on patch #2 though. So #2 needs to be queued as well.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: bug fixes.
@ 2017-08-23 23:34 Michael Chan
2017-08-24 5:42 ` David Miller
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2017-08-23 23:34 UTC (permalink / raw)
To: davem; +Cc: netdev
3 bug fixes related to XDP ring accounting in bnxt_setup_tc(), freeing
MSIX vectors when bnxt_re unregisters, and preserving the user-administered
PF MAC address when disabling SRIOV.
Michael Chan (3):
bnxt_en: Fix .ndo_setup_tc() to include XDP rings.
bnxt_en: Free MSIX vectors when unregistering the device from bnxt_re.
bnxt_en: Do not setup MAC address in bnxt_hwrm_func_qcaps().
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 41 +++++++++++++++++++--------
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 2 ++
2 files changed, 31 insertions(+), 12 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes.
@ 2016-06-06 6:37 Michael Chan
2016-06-07 23:02 ` David Miller
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2016-06-06 6:37 UTC (permalink / raw)
To: davem; +Cc: netdev
Fix a race condition and VLAN rx acceleration logic.
Michael Chan (3):
bnxt_en: Fix tx push race condition.
bnxt_en: Enable and disable RX CTAG and RX STAG VLAN acceleration
together.
bnxt_en: Simplify VLAN receive logic.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 47 +++++++++++++++++--------------
1 file changed, 26 insertions(+), 21 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH net 0/3] bnxt_en: Bug fixes.
@ 2016-01-28 8:11 Michael Chan
2016-01-30 1:28 ` David Miller
0 siblings, 1 reply; 31+ messages in thread
From: Michael Chan @ 2016-01-28 8:11 UTC (permalink / raw)
To: davem; +Cc: netdev
3 small bug fix patches for net.
Michael Chan (3):
bnxt_en: Ring free response from close path should use completion ring
bnxt_en: Exclude rx_drop_pkts hw counter from the stack's rx_dropped
counter.
bnxt_en: Fix crash in bnxt_free_tx_skbs() during tx timeout.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2025-06-17 23:10 UTC | newest]
Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-11 17:05 [PATCH net 0/3] bnxt_en: Bug fixes Michael Chan
2017-07-11 17:05 ` [PATCH net 1/3] bnxt_en: Fix race conditions in .ndo_get_stats64() Michael Chan
2017-07-11 17:05 ` [PATCH net 2/3] bnxt_en: Fix bug in ethtool -L Michael Chan
2017-07-11 17:05 ` [PATCH net 3/3] bnxt_en: Fix SRIOV on big-endian architecture Michael Chan
2017-07-11 17:32 ` [PATCH net 0/3] bnxt_en: Bug fixes David Miller
-- strict thread matches above, loose matches on Subject: below --
2025-06-13 23:18 Michael Chan
2025-06-17 23:10 ` patchwork-bot+netdevbpf
2024-04-05 23:55 Michael Chan
2024-04-08 13:00 ` patchwork-bot+netdevbpf
2022-05-03 1:13 Michael Chan
2022-05-04 1:00 ` patchwork-bot+netdevbpf
2021-11-15 7:37 Michael Chan
2021-11-15 14:20 ` patchwork-bot+netdevbpf
2021-09-12 16:34 Michael Chan
2021-09-13 11:40 ` patchwork-bot+netdevbpf
2021-06-18 6:07 Michael Chan
2021-06-18 19:10 ` patchwork-bot+netdevbpf
2020-05-25 21:41 Michael Chan
2020-05-27 3:31 ` David Miller
2020-01-17 5:32 Michael Chan
2020-01-18 13:48 ` David Miller
2018-09-03 8:23 Michael Chan
2018-09-04 5:01 ` David Miller
2018-09-04 5:50 ` Michael Chan
2018-09-04 6:30 ` Michael Chan
2017-08-23 23:34 [PATCH net 0/3] bnxt_en: bug fixes Michael Chan
2017-08-24 5:42 ` David Miller
2016-06-06 6:37 [PATCH net 0/3] bnxt_en: Bug fixes Michael Chan
2016-06-07 23:02 ` David Miller
2016-01-28 8:11 Michael Chan
2016-01-30 1:28 ` 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).