Hi!
From: Duoming Zhou duoming@zju.edu.cn
(atomic context) dev_watchdog qlcnic_tx_timeout qlcnic_83xx_idc_request_reset qlcnic_83xx_lock_driver qlcnic_83xx_recover_driver_lock msleep
Fix by changing msleep() to mdelay(), the mdelay() is busy-waiting and the bugs could be mitigated.
The mdelay is for 200 msec:
qlcnic_83xx_hw.h:#define QLC_83XX_DRV_LOCK_RECOVERY_DELAY 200
This may be an improvement, but spinning for 200 msec in atomic context is not okay, I'm afraid.
Best regards, Pavel