summaryrefslogtreecommitdiff
path: root/drivers/net/qla3xxx.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2009-06-20 01:20:30 -0700
committerDavid S. Miller <davem@davemloft.net>2009-06-20 01:20:30 -0700
commit83b462c656813e002843ddb061c8cc99149cab14 (patch)
tree6d07d4a97408ca01aabedc28ce448b6254040faf /drivers/net/qla3xxx.c
parentc3da63f35773b04e885c5659e560d5c521d2682e (diff)
downloadlwn-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.c2
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);