From: Dhananjay Phadke Date: Fri, 11 Sep 2009 11:28:13 +0000 (+0000) Subject: netxen: fix file firmware leak X-Git-Tag: v2.6.32-rc1~703^2~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=ec5c50cb93c446a4686863df74e4b7a547628115;p=karo-tx-linux.git netxen: fix file firmware leak Release file firmware when no firmware reset is required. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller --- diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index 557e76c4c589..e8574eeae58f 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c @@ -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);