* [PATCH net 0/2] bnxt_en: 2 bug fixes.
@ 2020-03-02 3:07 Michael Chan
2020-03-02 3:07 ` [PATCH net 1/2] bnxt_en: reinitialize IRQs when MTU is modified Michael Chan
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Michael Chan @ 2020-03-02 3:07 UTC (permalink / raw)
To: davem; +Cc: netdev
This first patch fixes a rare but possible crash in pci_disable_msix()
when the MTU is changed. The 2nd patch fixes a regression in error
code handling when flashing a file to NVRAM.
Please also queue these for -stable. Thanks.
Edwin Peer (1):
bnxt_en: fix error handling when flashing from file
Vasundhara Volam (1):
bnxt_en: reinitialize IRQs when MTU is modified
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 ++--
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 24 +++++++++++------------
2 files changed, 13 insertions(+), 15 deletions(-)
--
2.5.1
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH net 1/2] bnxt_en: reinitialize IRQs when MTU is modified
2020-03-02 3:07 [PATCH net 0/2] bnxt_en: 2 bug fixes Michael Chan
@ 2020-03-02 3:07 ` Michael Chan
2020-03-02 3:07 ` [PATCH net 2/2] bnxt_en: fix error handling when flashing from file Michael Chan
2020-03-02 3:17 ` [PATCH net 0/2] bnxt_en: 2 bug fixes David Miller
2 siblings, 0 replies; 18+ messages in thread
From: Michael Chan @ 2020-03-02 3:07 UTC (permalink / raw)
To: davem; +Cc: netdev
From: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
MTU changes may affect the number of IRQs so we must call
bnxt_close_nic()/bnxt_open_nic() with the irq_re_init parameter
set to true. The reason is that a larger MTU may require
aggregation rings not needed with smaller MTU. We may not be
able to allocate the required number of aggregation rings and
so we reduce the number of channels which will change the number
of IRQs. Without this patch, it may crash eventually in
pci_disable_msix() when the IRQs are not properly unwound.
Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.")
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 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index f9a8151..c5c8eff 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -10982,13 +10982,13 @@ static int bnxt_change_mtu(struct net_device *dev, int new_mtu)
struct bnxt *bp = netdev_priv(dev);
if (netif_running(dev))
- bnxt_close_nic(bp, false, false);
+ bnxt_close_nic(bp, true, false);
dev->mtu = new_mtu;
bnxt_set_ring_params(bp);
if (netif_running(dev))
- return bnxt_open_nic(bp, false, false);
+ return bnxt_open_nic(bp, true, false);
return 0;
}
--
2.5.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH net 2/2] bnxt_en: fix error handling when flashing from file
2020-03-02 3:07 [PATCH net 0/2] bnxt_en: 2 bug fixes Michael Chan
2020-03-02 3:07 ` [PATCH net 1/2] bnxt_en: reinitialize IRQs when MTU is modified Michael Chan
@ 2020-03-02 3:07 ` Michael Chan
2020-03-02 3:17 ` [PATCH net 0/2] bnxt_en: 2 bug fixes David Miller
2 siblings, 0 replies; 18+ messages in thread
From: Michael Chan @ 2020-03-02 3:07 UTC (permalink / raw)
To: davem; +Cc: netdev
From: Edwin Peer <edwin.peer@broadcom.com>
After bnxt_hwrm_do_send_message() was updated to return standard error
codes in a recent commit, a regression in bnxt_flash_package_from_file()
was introduced. The return value does not properly reflect all
possible firmware errors when calling firmware to flash the package.
Fix it by consolidating all errors in one local variable rc instead
of having 2 variables for different errors.
Fixes: d4f1420d3656 ("bnxt_en: Convert error code in firmware message response to standard code.")
Signed-off-by: Edwin Peer <edwin.peer@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 24 +++++++++++------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
index e8fc167..1f67e67 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
@@ -2007,8 +2007,8 @@ int bnxt_flash_package_from_file(struct net_device *dev, const char *filename,
struct hwrm_nvm_install_update_output *resp = bp->hwrm_cmd_resp_addr;
struct hwrm_nvm_install_update_input install = {0};
const struct firmware *fw;
- int rc, hwrm_err = 0;
u32 item_len;
+ int rc = 0;
u16 index;
bnxt_hwrm_fw_set_time(bp);
@@ -2052,15 +2052,14 @@ int bnxt_flash_package_from_file(struct net_device *dev, const char *filename,
memcpy(kmem, fw->data, fw->size);
modify.host_src_addr = cpu_to_le64(dma_handle);
- hwrm_err = hwrm_send_message(bp, &modify,
- sizeof(modify),
- FLASH_PACKAGE_TIMEOUT);
+ rc = hwrm_send_message(bp, &modify, sizeof(modify),
+ FLASH_PACKAGE_TIMEOUT);
dma_free_coherent(&bp->pdev->dev, fw->size, kmem,
dma_handle);
}
}
release_firmware(fw);
- if (rc || hwrm_err)
+ if (rc)
goto err_exit;
if ((install_type & 0xffff) == 0)
@@ -2069,20 +2068,19 @@ int bnxt_flash_package_from_file(struct net_device *dev, const char *filename,
install.install_type = cpu_to_le32(install_type);
mutex_lock(&bp->hwrm_cmd_lock);
- hwrm_err = _hwrm_send_message(bp, &install, sizeof(install),
- INSTALL_PACKAGE_TIMEOUT);
- if (hwrm_err) {
+ rc = _hwrm_send_message(bp, &install, sizeof(install),
+ INSTALL_PACKAGE_TIMEOUT);
+ if (rc) {
u8 error_code = ((struct hwrm_err_output *)resp)->cmd_err;
if (resp->error_code && error_code ==
NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR) {
install.flags |= cpu_to_le16(
NVM_INSTALL_UPDATE_REQ_FLAGS_ALLOWED_TO_DEFRAG);
- hwrm_err = _hwrm_send_message(bp, &install,
- sizeof(install),
- INSTALL_PACKAGE_TIMEOUT);
+ rc = _hwrm_send_message(bp, &install, sizeof(install),
+ INSTALL_PACKAGE_TIMEOUT);
}
- if (hwrm_err)
+ if (rc)
goto flash_pkg_exit;
}
@@ -2094,7 +2092,7 @@ int bnxt_flash_package_from_file(struct net_device *dev, const char *filename,
flash_pkg_exit:
mutex_unlock(&bp->hwrm_cmd_lock);
err_exit:
- if (hwrm_err == -EACCES)
+ if (rc == -EACCES)
bnxt_print_admin_err(bp);
return rc;
}
--
2.5.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH net 0/2] bnxt_en: 2 bug fixes.
2020-03-02 3:07 [PATCH net 0/2] bnxt_en: 2 bug fixes Michael Chan
2020-03-02 3:07 ` [PATCH net 1/2] bnxt_en: reinitialize IRQs when MTU is modified Michael Chan
2020-03-02 3:07 ` [PATCH net 2/2] bnxt_en: fix error handling when flashing from file Michael Chan
@ 2020-03-02 3:17 ` David Miller
2 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2020-03-02 3:17 UTC (permalink / raw)
To: michael.chan; +Cc: netdev
From: Michael Chan <michael.chan@broadcom.com>
Date: Sun, 1 Mar 2020 22:07:16 -0500
> This first patch fixes a rare but possible crash in pci_disable_msix()
> when the MTU is changed. The 2nd patch fixes a regression in error
> code handling when flashing a file to NVRAM.
Applied.
> Please also queue these for -stable. Thanks.
Queued up, thanks Michael.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH net 0/2] bnxt_en: 2 bug fixes
@ 2023-03-04 2:43 Michael Chan
2023-03-06 21:30 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 18+ messages in thread
From: Michael Chan @ 2023-03-04 2:43 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, edumazet, pabeni, gospo
[-- Attachment #1: Type: text/plain, Size: 475 bytes --]
This series fixes 2 issues:
1. A potential order-5 memory allocation failure during open.
2. Double memory free bug during shutdown.
Michael Chan (1):
bnxt_en: Avoid order-5 memory allocation for TPA data
Selvin Xavier (1):
bnxt_en: Fix the double free during device removal
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 25 +++++++++----------
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 2 ++
2 files changed, 14 insertions(+), 13 deletions(-)
--
2.32.0
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH net 0/2] bnxt_en: 2 bug fixes
2023-03-04 2:43 Michael Chan
@ 2023-03-06 21:30 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 18+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-03-06 21:30 UTC (permalink / raw)
To: Michael Chan; +Cc: davem, netdev, kuba, edumazet, pabeni, gospo
Hello:
This series was applied to netdev/net.git (main)
by David S. Miller <davem@davemloft.net>:
On Fri, 3 Mar 2023 18:43:56 -0800 you wrote:
> This series fixes 2 issues:
>
> 1. A potential order-5 memory allocation failure during open.
> 2. Double memory free bug during shutdown.
>
> Michael Chan (1):
> bnxt_en: Avoid order-5 memory allocation for TPA data
>
> [...]
Here is the summary with links:
- [net,1/2] bnxt_en: Avoid order-5 memory allocation for TPA data
https://git.kernel.org/netdev/net/c/accd7e23693a
- [net,2/2] bnxt_en: Fix the double free during device removal
https://git.kernel.org/netdev/net/c/89b59a84cb16
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] 18+ messages in thread
* [PATCH net 0/2] bnxt_en: 2 bug fixes
@ 2021-08-15 20:15 Michael Chan
2021-08-16 10:40 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 18+ messages in thread
From: Michael Chan @ 2021-08-15 20:15 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, gospo
[-- Attachment #1: Type: text/plain, Size: 378 bytes --]
The first one disables aRFS/NTUPLE on an older broken firmware version.
The second one adds missing memory barriers related to completion ring
handling.
Michael Chan (2):
bnxt_en: Disable aRFS if running on 212 firmware
bnxt_en: Add missing DMA memory barriers
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
--
2.18.1
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH net 0/2] bnxt_en: 2 bug fixes.
@ 2021-05-15 7:25 Michael Chan
2021-05-17 21:10 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 18+ messages in thread
From: Michael Chan @ 2021-05-15 7:25 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, gospo
The first one fixes a bug to properly identify some recently added HyperV
device IDs. The second one fixes device context memory set up on systems
with 64K page size.
Please queue these for -stable as well. Thanks.
Andy Gospodarek (1):
bnxt_en: Include new P5 HV definition in VF check.
Michael Chan (1):
bnxt_en: Fix context memory setup for 64K page size.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 12 +++---------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 10 ++++++++++
2 files changed, 13 insertions(+), 9 deletions(-)
--
2.18.1
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH net 0/2] bnxt_en: 2 bug fixes.
@ 2021-02-11 7:24 Michael Chan
2021-02-11 22:50 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 18+ messages in thread
From: Michael Chan @ 2021-02-11 7:24 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, gospo
Two unrelated fixes. The first one fixes intermittent false TX timeouts
during ring reconfigurations. The second one fixes a formatting
discrepancy between the stored and the running FW versions.
Please also queue these for -stable. Thanks.
Edwin Peer (1):
bnxt_en: reverse order of TX disable and carrier off
Vasundhara Volam (1):
bnxt_en: Fix devlink info's stored fw.psid version format.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
--
2.18.1
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH net 0/2] bnxt_en: 2 bug fixes.
@ 2019-04-08 21:39 Michael Chan
2019-04-08 23:39 ` David Miller
0 siblings, 1 reply; 18+ messages in thread
From: Michael Chan @ 2019-04-08 21:39 UTC (permalink / raw)
To: davem; +Cc: netdev
The first patch prevents possible driver crash if we get a bad RX index
from the hardware. The second patch resets the device when the hardware
reports buffer error to recover from the error.
Please queue these for -stable also. Thanks.
Michael Chan (2):
bnxt_en: Improve RX consumer index validity check.
bnxt_en: Reset device on RX buffer errors.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
--
2.5.1
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH net 0/2] bnxt_en: 2 bug fixes.
2019-04-08 21:39 Michael Chan
@ 2019-04-08 23:39 ` David Miller
0 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2019-04-08 23:39 UTC (permalink / raw)
To: michael.chan; +Cc: netdev
From: Michael Chan <michael.chan@broadcom.com>
Date: Mon, 8 Apr 2019 17:39:53 -0400
> The first patch prevents possible driver crash if we get a bad RX index
> from the hardware. The second patch resets the device when the hardware
> reports buffer error to recover from the error.
>
> Please queue these for -stable also. Thanks.
Series applied and queued up for -stable, thanks.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH net 0/2] bnxt_en: 2 bug fixes.
@ 2016-11-11 5:11 Michael Chan
2016-11-13 17:37 ` David Miller
0 siblings, 1 reply; 18+ messages in thread
From: Michael Chan @ 2016-11-11 5:11 UTC (permalink / raw)
To: davem; +Cc: netdev
Bug fixes in bnxt_setup_tc() and VF vitual link state.
Michael Chan (2):
bnxt_en: Fix ring arithmetic in bnxt_setup_tc().
bnxt_en: Fix VF virtual link state.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 11 ++++++-----
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 4 ++--
2 files changed, 8 insertions(+), 7 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH net 0/2] bnxt_en: 2 bug fixes.
@ 2016-05-04 20:56 Michael Chan
2016-05-04 21:12 ` David Miller
0 siblings, 1 reply; 18+ messages in thread
From: Michael Chan @ 2016-05-04 20:56 UTC (permalink / raw)
To: davem; +Cc: netdev
Fix crash on ppc64 due to missing memory barrier and restore multicast
after reset.
Michael Chan (2):
bnxt_en: Need memory barrier when processing the completion ring.
bnxt_en: Setup multicast properly after resetting device.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2023-03-06 21:31 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-02 3:07 [PATCH net 0/2] bnxt_en: 2 bug fixes Michael Chan
2020-03-02 3:07 ` [PATCH net 1/2] bnxt_en: reinitialize IRQs when MTU is modified Michael Chan
2020-03-02 3:07 ` [PATCH net 2/2] bnxt_en: fix error handling when flashing from file Michael Chan
2020-03-02 3:17 ` [PATCH net 0/2] bnxt_en: 2 bug fixes David Miller
-- strict thread matches above, loose matches on Subject: below --
2023-03-04 2:43 Michael Chan
2023-03-06 21:30 ` patchwork-bot+netdevbpf
2021-08-15 20:15 Michael Chan
2021-08-16 10:40 ` patchwork-bot+netdevbpf
2021-05-15 7:25 Michael Chan
2021-05-17 21:10 ` patchwork-bot+netdevbpf
2021-02-11 7:24 Michael Chan
2021-02-11 22:50 ` patchwork-bot+netdevbpf
2019-04-08 21:39 Michael Chan
2019-04-08 23:39 ` David Miller
2016-11-11 5:11 Michael Chan
2016-11-13 17:37 ` David Miller
2016-05-04 20:56 Michael Chan
2016-05-04 21:12 ` 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.