Browse Source

bnx2x: Removing the PMF indication when unloading

When the PMF flag is set, the driver can access the HW freely. When the
driver is unloaded, it should not access the HW. The problem caused fatal
errors when "ethtool -i" was called after the calling instance was unloaded
and another instance was already loaded

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eilon Greenstein 16 years ago
parent
commit
9a0354405f
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/net/bnx2x_main.c

+ 2 - 0
drivers/net/bnx2x_main.c

@@ -6481,6 +6481,7 @@ load_int_disable:
 	bnx2x_free_irq(bp);
 	bnx2x_free_irq(bp);
 load_error:
 load_error:
 	bnx2x_free_mem(bp);
 	bnx2x_free_mem(bp);
+	bp->port.pmf = 0;
 
 
 	/* TBD we really need to reset the chip
 	/* TBD we really need to reset the chip
 	   if we want to recover from this */
 	   if we want to recover from this */
@@ -6791,6 +6792,7 @@ unload_error:
 	/* Report UNLOAD_DONE to MCP */
 	/* Report UNLOAD_DONE to MCP */
 	if (!BP_NOMCP(bp))
 	if (!BP_NOMCP(bp))
 		bnx2x_fw_command(bp, DRV_MSG_CODE_UNLOAD_DONE);
 		bnx2x_fw_command(bp, DRV_MSG_CODE_UNLOAD_DONE);
+	bp->port.pmf = 0;
 
 
 	/* Free SKBs, SGEs, TPA pool and driver internals */
 	/* Free SKBs, SGEs, TPA pool and driver internals */
 	bnx2x_free_skbs(bp);
 	bnx2x_free_skbs(bp);