Procházet zdrojové kódy

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>
Jiri Slaby před 16 roky
rodič
revize
83b462c656
1 změnil soubory, kde provedl 2 přidání a 0 odebrání
  1. 2 0
      drivers/net/qla3xxx.c

+ 2 - 0
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);