| From 9a0354405feb0f8bd460349a93db05e4cca8d166 Mon Sep 17 00:00:00 2001 |
| From: Eilon Greenstein <eilong@broadcom.com> |
| Date: Mon, 3 Nov 2008 16:45:55 -0800 |
| Subject: bnx2x: Removing the PMF indication when unloading |
| |
| From: Eilon Greenstein <eilong@broadcom.com> |
| |
| commit 9a0354405feb0f8bd460349a93db05e4cca8d166 upstream. |
| |
| 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> |
| Cc: Alex Chiang <achiang@hp.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/net/bnx2x_main.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/net/bnx2x_main.c |
| +++ b/drivers/net/bnx2x_main.c |
| @@ -6480,6 +6480,7 @@ load_int_disable: |
| bnx2x_free_irq(bp); |
| load_error: |
| bnx2x_free_mem(bp); |
| + bp->port.pmf = 0; |
| |
| /* TBD we really need to reset the chip |
| if we want to recover from this */ |
| @@ -6790,6 +6791,7 @@ unload_error: |
| /* Report UNLOAD_DONE to MCP */ |
| if (!BP_NOMCP(bp)) |
| bnx2x_fw_command(bp, DRV_MSG_CODE_UNLOAD_DONE); |
| + bp->port.pmf = 0; |
| |
| /* Free SKBs, SGEs, TPA pool and driver internals */ |
| bnx2x_free_skbs(bp); |