mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 05:26:07 +00:00
bnx2x: Fix recovery flow cleanup during probe
During probe, every function probed clears the recovery registers from all functions on its path - thus signaling that given a future recovery event, there will be no need to wait for those functions. This is a flawed behaviour - each function should only be responsible for its own bit. Since this registers are handled during the load/unload routines, this cleanup is removed altogether. Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8eee694c3e
commit
2070ffa2c8
@ -4041,20 +4041,6 @@ static bool bnx2x_get_load_status(struct bnx2x *bp, int engine)
|
||||
return val != 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Reset the load status for the current engine.
|
||||
*/
|
||||
static void bnx2x_clear_load_status(struct bnx2x *bp)
|
||||
{
|
||||
u32 val;
|
||||
u32 mask = (BP_PATH(bp) ? BNX2X_PATH1_LOAD_CNT_MASK :
|
||||
BNX2X_PATH0_LOAD_CNT_MASK);
|
||||
bnx2x_acquire_hw_lock(bp, HW_LOCK_RESOURCE_RECOVERY_REG);
|
||||
val = REG_RD(bp, BNX2X_RECOVERY_GLOB_REG);
|
||||
REG_WR(bp, BNX2X_RECOVERY_GLOB_REG, val & (~mask));
|
||||
bnx2x_release_hw_lock(bp, HW_LOCK_RESOURCE_RECOVERY_REG);
|
||||
}
|
||||
|
||||
static void _print_next_block(int idx, const char *blk)
|
||||
{
|
||||
pr_cont("%s%s", idx ? ", " : "", blk);
|
||||
@ -11428,9 +11414,6 @@ static int __devinit bnx2x_init_dev(struct pci_dev *pdev,
|
||||
if (!chip_is_e1x)
|
||||
REG_WR(bp, PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ, 1);
|
||||
|
||||
/* Reset the load counter */
|
||||
bnx2x_clear_load_status(bp);
|
||||
|
||||
dev->watchdog_timeo = TX_TIMEOUT;
|
||||
|
||||
dev->netdev_ops = &bnx2x_netdev_ops;
|
||||
|
Loading…
x
Reference in New Issue
Block a user