qla3xxx: don't allow never end busy loop
The counter variable wasn't increased at all which may stuck under certain circumstances. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
627d2cc016
commit
2abad79afa
1 changed files with 3 additions and 5 deletions
|
@ -146,10 +146,7 @@ static int ql_wait_for_drvr_lock(struct ql3_adapter *qdev)
|
|||
{
|
||||
int i = 0;
|
||||
|
||||
while (i < 10) {
|
||||
if (i)
|
||||
ssleep(1);
|
||||
|
||||
do {
|
||||
if (ql_sem_lock(qdev,
|
||||
QL_DRVR_SEM_MASK,
|
||||
(QL_RESOURCE_BITS_BASE_CODE | (qdev->mac_index)
|
||||
|
@ -158,7 +155,8 @@ static int ql_wait_for_drvr_lock(struct ql3_adapter *qdev)
|
|||
"driver lock acquired\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
ssleep(1);
|
||||
} while (++i < 10);
|
||||
|
||||
netdev_err(qdev->ndev, "Timed out waiting for driver lock...\n");
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue