netxen: fix file firmware leak
authorDhananjay Phadke <dhananjay@netxen.com>
Fri, 11 Sep 2009 11:28:13 +0000 (11:28 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Sep 2009 23:58:45 +0000 (16:58 -0700)
Release file firmware when no firmware reset is required.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netxen/netxen_nic_main.c

index 557e76c4c589f067111202ef33e5e72b811b4135..e8574eeae58ff68cbe8b74a683725e9b93e883cc 100644 (file)
@@ -817,7 +817,7 @@ netxen_start_firmware(struct netxen_adapter *adapter)
        if (err < 0)
                goto err_out;
        if (err == 0)
-               goto wait_init;
+               goto ready;
 
        if (first_boot != 0x55555555) {
                NXWR32(adapter, CRB_CMDPEG_STATE, 0);
@@ -860,6 +860,7 @@ netxen_start_firmware(struct netxen_adapter *adapter)
                | (_NETXEN_NIC_LINUX_SUBVERSION);
        NXWR32(adapter, CRB_DRIVER_VERSION, val);
 
+ready:
        NXWR32(adapter, NX_CRB_DEV_STATE, NX_DEV_READY);
 
 wait_init:
@@ -874,7 +875,7 @@ wait_init:
 
        netxen_check_options(adapter);
 
-       return 0;
+       /* fall through and release firmware */
 
 err_out:
        netxen_release_firmware(adapter);