Commit 0857e9d7 authored by Ron Mercer's avatar Ron Mercer Committed by David S. Miller

qlge: Fix schedule while atomic issue.

There is no need to sleep while waiting for the hardware
semaphore to become available.
Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 697cdc46
...@@ -126,12 +126,12 @@ static int ql_sem_trylock(struct ql_adapter *qdev, u32 sem_mask) ...@@ -126,12 +126,12 @@ static int ql_sem_trylock(struct ql_adapter *qdev, u32 sem_mask)
int ql_sem_spinlock(struct ql_adapter *qdev, u32 sem_mask) int ql_sem_spinlock(struct ql_adapter *qdev, u32 sem_mask)
{ {
unsigned int seconds = 3; unsigned int wait_count = 30;
do { do {
if (!ql_sem_trylock(qdev, sem_mask)) if (!ql_sem_trylock(qdev, sem_mask))
return 0; return 0;
ssleep(1); udelay(100);
} while (--seconds); } while (--wait_count);
return -ETIMEDOUT; return -ETIMEDOUT;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment