diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2009-06-20 01:20:30 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-20 01:20:30 -0700 |
commit | 83b462c656813e002843ddb061c8cc99149cab14 (patch) | |
tree | 6d07d4a97408ca01aabedc28ce448b6254040faf /drivers/net/qla3xxx.c | |
parent | c3da63f35773b04e885c5659e560d5c521d2682e (diff) | |
download | lwn-83b462c656813e002843ddb061c8cc99149cab14.tar.gz lwn-83b462c656813e002843ddb061c8cc99149cab14.zip |
Net: qla3xxx, remove sleeping in atomic
We cannot sleep in ql_reset_work under spinlock, unlock before sleep,
relock after.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qla3xxx.c')
-rw-r--r-- | drivers/net/qla3xxx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c index 8a823ecc99a9..bbc6d4d3cc94 100644 --- a/drivers/net/qla3xxx.c +++ b/drivers/net/qla3xxx.c @@ -3837,7 +3837,9 @@ static void ql_reset_work(struct work_struct *work) 16) | ISP_CONTROL_RI)); } + spin_unlock_irqrestore(&qdev->hw_lock, hw_flags); ssleep(1); + spin_lock_irqsave(&qdev->hw_lock, hw_flags); } while (--max_wait_time); spin_unlock_irqrestore(&qdev->hw_lock, hw_flags); |