Skip to content

Commit 12a8541

Browse files
Yuval Mintzdavem330
authored andcommitted
bnx2x: Delay during kdump load
In a kdump environment interfaces might be re-loaded without a proper unload sequence in the previous running kernel. bnx2x management FW and driver maintains a `pulse' that notifies the FW that the driver is still up and running. Driver load on the kdump kernel should be performed only after the pulse has been out-of-sync long enough for the management FW to identify that the driver has crashed, on which point it will perform some necessary cleanup of the HW. In today's distros kdump loading is quite fast, sometimes too fast for our FW to get out-of-sync. This patch delays the bnx2x's probe during kdump to allow a proper re-load on the kdump kernel. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent e913fb2 commit 12a8541

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13368,6 +13368,12 @@ static int bnx2x_init_one(struct pci_dev *pdev,
1336813368
bool is_vf;
1336913369
int cnic_cnt;
1337013370

13371+
/* Management FW 'remembers' living interfaces. Allow it some time
13372+
* to forget previously living interfaces, allowing a proper re-load.
13373+
*/
13374+
if (is_kdump_kernel())
13375+
msleep(5000);
13376+
1337113377
/* An estimated maximum supported CoS number according to the chip
1337213378
* version.
1337313379
* We will try to roughly estimate the maximum number of CoSes this chip

0 commit comments

Comments
 (0)