Message ID | 20101118140755.GA9686@emulex.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
From: Sarveshwar Bandi <Sarveshwar.Bandi@emulex.com> Date: Thu, 18 Nov 2010 19:37:56 +0530 > 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> These status values you are returning from be_load_fw() go all the way back to userspace. Therefore "-1" is not appropriate, and instead you should return real negative errno error values such as -EINVAL, -ENODEV, and the like. Please fix this up and resubmit your patch. Thank you. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index c36cd2f..cc85cf2 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 *adapte int status, i = 0, num_imgs = 0; const u8 *p; + if (!netif_running(adapter->netdev)) { + dev_err(&adapter->pdev->dev, + "Firmware load not allowed (interface is down)\n"); + return -1; + } + strcpy(fw_file, func); status = request_firmware(&fw, fw_file, &adapter->pdev->dev);
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> --- drivers/net/benet/be_main.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)