diff options
author | Ron Mercer <ron.mercer@qlogic.com> | 2009-01-09 06:31:52 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-11 03:07:35 -0500 |
commit | 0857e9d73feea0125280dcd431cee84f6cb3b4e2 (patch) | |
tree | 1ec35349243852e7457b187cc41f06d0f157176a /drivers | |
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>
Diffstat (limited to 'drivers')
-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 9931cf7b6ad6..543a4135ae04 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) | |||
126 | 126 | ||
127 | int ql_sem_spinlock(struct ql_adapter *qdev, u32 sem_mask) | 127 | int ql_sem_spinlock(struct ql_adapter *qdev, u32 sem_mask) |
128 | { | 128 | { |
129 | unsigned int seconds = 3; | 129 | unsigned int wait_count = 30; |
130 | do { | 130 | do { |
131 | if (!ql_sem_trylock(qdev, sem_mask)) | 131 | if (!ql_sem_trylock(qdev, sem_mask)) |
132 | return 0; | 132 | return 0; |
133 | ssleep(1); | 133 | udelay(100); |
134 | } while (--seconds); | 134 | } while (--wait_count); |
135 | return -ETIMEDOUT; | 135 | return -ETIMEDOUT; |
136 | } | 136 | } |
137 | 137 | ||