소스 검색

netxen: fix file firmware leak

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>
Dhananjay Phadke 16 년 전
부모
커밋
ec5c50cb93
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 2
      drivers/net/netxen/netxen_nic_main.c

+ 3 - 2
drivers/net/netxen/netxen_nic_main.c

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