mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-07-24 01:54:03 -04:00
In iavf_adminq_task(), if the function can't acquire the
adapter->crit_lock, it checks if the driver is removing. If so, it simply
exits without re-enabling the interrupt. This is done to ensure that the
task stops processing as soon as possible once the driver is being removed.
However, if the IAVF_FLAG_PF_COMMS_FAILED is set, the function checks this
before attempting to acquire the lock. In this case, the function exits
early and re-enables the interrupt. This will happen even if the driver is
already removing.
Avoid this, by moving the check to after the adapter->crit_lock is
acquired. This way, if the driver is removing, we will not re-enable the
interrupt.
Fixes:
|
||
---|---|---|
.. | ||
iavf.h | ||
iavf_adminq.c | ||
iavf_adminq.h | ||
iavf_adminq_cmd.h | ||
iavf_adv_rss.c | ||
iavf_adv_rss.h | ||
iavf_alloc.h | ||
iavf_client.c | ||
iavf_client.h | ||
iavf_common.c | ||
iavf_devids.h | ||
iavf_ethtool.c | ||
iavf_fdir.c | ||
iavf_fdir.h | ||
iavf_main.c | ||
iavf_osdep.h | ||
iavf_prototype.h | ||
iavf_register.h | ||
iavf_status.h | ||
iavf_trace.h | ||
iavf_txrx.c | ||
iavf_txrx.h | ||
iavf_type.h | ||
iavf_virtchnl.c | ||
Makefile |