Commit 76b190c592d952b37227f057a14f39e316754156

Authored by Eilon Greenstein
Committed by David S. Miller
1 parent 7add905f93

bnx2x: Minimize lock time

After iSCSI boot, the HW lock should only protect the flag so only the
first function will reset the chip and not then entire chip reset
process

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 1 changed file with 4 additions and 1 deletions Side-by-side Diff

drivers/net/bnx2x_main.c
... ... @@ -6824,6 +6824,10 @@
6824 6824 */
6825 6825 bnx2x_acquire_hw_lock(bp, HW_LOCK_RESOURCE_UNDI);
6826 6826 val = REG_RD(bp, DORQ_REG_NORM_CID_OFST);
  6827 + if (val == 0x7)
  6828 + REG_WR(bp, DORQ_REG_NORM_CID_OFST, 0);
  6829 + bnx2x_release_hw_lock(bp, HW_LOCK_RESOURCE_UNDI);
  6830 +
6827 6831 if (val == 0x7) {
6828 6832 u32 reset_code = DRV_MSG_CODE_UNLOAD_REQ_WOL_DIS;
6829 6833 /* save our func */
... ... @@ -6901,7 +6905,6 @@
6901 6905 (SHMEM_RD(bp, func_mb[bp->func].drv_mb_header) &
6902 6906 DRV_MSG_SEQ_NUMBER_MASK);
6903 6907 }
6904   - bnx2x_release_hw_lock(bp, HW_LOCK_RESOURCE_UNDI);
6905 6908 }
6906 6909 }
6907 6910