Re: [PATCH] qlcnic: Fix a sleep-in-atomic bug in qlcnic_82xx_hw_write_wx_2M and qlcnic_82xx_hw_read_wx_2M

From: David Miller
Date: Thu Jun 01 2017 - 11:42:35 EST


From: Jia-Ju Bai <baijiaju1990@xxxxxxx>
Date: Thu, 1 Jun 2017 16:18:10 +0800

> The driver may sleep under a write spin lock, and the function
> call path is:
> qlcnic_82xx_hw_write_wx_2M (acquire the lock by write_lock_irqsave)
> crb_win_lock
> qlcnic_pcie_sem_lock
> usleep_range
> qlcnic_82xx_hw_read_wx_2M (acquire the lock by write_lock_irqsave)
> crb_win_lock
> qlcnic_pcie_sem_lock
> usleep_range
>
> To fix it, the usleep_range is replaced with udelay.
>
> Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx>

Applied.