diff options
author | Ron Mercer <ron.mercer@qlogic.com> | 2009-01-09 11:31:52 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-11 00:07:35 -0800 |
commit | 0857e9d73feea0125280dcd431cee84f6cb3b4e2 (patch) | |
tree | 1ec35349243852e7457b187cc41f06d0f157176a | |
parent | 697cdc46801d1106a25d27a8225cb925f0a7f5aa (diff) |
qlge: Fix schedule while atomic issue.
There is no need to sleep while waiting for the hardware
semaphore to become available.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/qlge/qlge_main.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c index 9931cf7b6ad..543a4135ae0 100644 --- a/drivers/net/qlge/qlge_main.c +++ b/drivers/net/qlge/qlge_main.c @@ -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) { - unsigned int seconds = 3; + unsigned int wait_count = 30; do { if (!ql_sem_trylock(qdev, sem_mask)) return 0; - ssleep(1); - } while (--seconds); + udelay(100); + } while (--wait_count); return -ETIMEDOUT; } |