diff options
| author | Sarveshwar Bandi <Sarveshwar.Bandi@emulex.com> | 2010-11-18 18:44:45 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-11-19 11:57:19 -0500 |
| commit | d9efd2af461abb7b54c49c1b7e654d496dd1d379 (patch) | |
| tree | bd5adfe7c959ea1bca55f0f7dcd7e2c23701a304 | |
| parent | dba4490d22a496f9b7c21919cf3effbed5851213 (diff) | |
be2net: Fix to avoid firmware update when interface is not open.
Since interrupts are enabled only when open is called on the interface,
Attempting a firmware update operation when interface is down could lead to
partial success or failure of operation. This fix fails the request if
netif_running is false.
Signed-off-by: Sarveshwar Bandi <Sarveshwar.Bandi@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/benet/be_main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index c36cd2ffbad..93354eee2cf 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c | |||
| @@ -2458,6 +2458,12 @@ int be_load_fw(struct be_adapter *adapter, u8 *func) | |||
| 2458 | int status, i = 0, num_imgs = 0; | 2458 | int status, i = 0, num_imgs = 0; |
| 2459 | const u8 *p; | 2459 | const u8 *p; |
| 2460 | 2460 | ||
| 2461 | if (!netif_running(adapter->netdev)) { | ||
| 2462 | dev_err(&adapter->pdev->dev, | ||
| 2463 | "Firmware load not allowed (interface is down)\n"); | ||
| 2464 | return -EPERM; | ||
| 2465 | } | ||
| 2466 | |||
| 2461 | strcpy(fw_file, func); | 2467 | strcpy(fw_file, func); |
| 2462 | 2468 | ||
| 2463 | status = request_firmware(&fw, fw_file, &adapter->pdev->dev); | 2469 | status = request_firmware(&fw, fw_file, &adapter->pdev->dev); |
