qlge: Remove debug junk from asic reset logic.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ron Mercer 2009-03-09 10:59:18 +00:00 committed by David S. Miller
parent db98812f6b
commit a75ee7f1cc

View File

@ -3129,36 +3129,23 @@ static int ql_adapter_initialize(struct ql_adapter *qdev)
static int ql_adapter_reset(struct ql_adapter *qdev) static int ql_adapter_reset(struct ql_adapter *qdev)
{ {
u32 value; u32 value;
int max_wait_time;
int status = 0; int status = 0;
int resetCnt = 0; unsigned long end_jiffies = jiffies +
max((unsigned long)1, usecs_to_jiffies(30));
#define MAX_RESET_CNT 1
issueReset:
resetCnt++;
QPRINTK(qdev, IFDOWN, DEBUG, "Issue soft reset to chip.\n");
ql_write32(qdev, RST_FO, (RST_FO_FR << 16) | RST_FO_FR); ql_write32(qdev, RST_FO, (RST_FO_FR << 16) | RST_FO_FR);
/* Wait for reset to complete. */
max_wait_time = 3;
QPRINTK(qdev, IFDOWN, DEBUG, "Wait %d seconds for reset to complete.\n",
max_wait_time);
do { do {
value = ql_read32(qdev, RST_FO); value = ql_read32(qdev, RST_FO);
if ((value & RST_FO_FR) == 0) if ((value & RST_FO_FR) == 0)
break; break;
cpu_relax();
} while (time_before(jiffies, end_jiffies));
ssleep(1);
} while ((--max_wait_time));
if (value & RST_FO_FR) { if (value & RST_FO_FR) {
QPRINTK(qdev, IFDOWN, ERR,
"Stuck in SoftReset: FSC_SR:0x%08x\n", value);
if (resetCnt < MAX_RESET_CNT)
goto issueReset;
}
if (max_wait_time == 0) {
status = -ETIMEDOUT;
QPRINTK(qdev, IFDOWN, ERR, QPRINTK(qdev, IFDOWN, ERR,
"ETIMEOUT!!! errored out of resetting the chip!\n"); "ETIMEOUT!!! errored out of resetting the chip!\n");
status = -ETIMEDOUT;
} }
return status; return status;