Commit 91896c8
iavf: check for removal state before IAVF_FLAG_PF_COMMS_FAILED
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: fc2e6b3 ("iavf: Rework mutexes for better synchronisation")
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>1 parent a2f054c commit 91896c8
1 file changed
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3250 | 3250 | | |
3251 | 3251 | | |
3252 | 3252 | | |
3253 | | - | |
3254 | | - | |
3255 | | - | |
3256 | 3253 | | |
3257 | 3254 | | |
3258 | 3255 | | |
| |||
3261 | 3258 | | |
3262 | 3259 | | |
3263 | 3260 | | |
| 3261 | + | |
| 3262 | + | |
| 3263 | + | |
3264 | 3264 | | |
3265 | 3265 | | |
3266 | 3266 | | |
| |||
0 commit comments