Patch "iavf: free q_vectors before queues in iavf_disable_vf" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    iavf: free q_vectors before queues in iavf_disable_vf

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     iavf-free-q_vectors-before-queues-in-iavf_disable_vf.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 58c3b91fcce19ec44b8e8d2af26ab12c4f4a0126
Author: Nicholas Nunley <nicholas.d.nunley@xxxxxxxxx>
Date:   Fri Jun 4 09:48:54 2021 -0700

    iavf: free q_vectors before queues in iavf_disable_vf
    
    [ Upstream commit 89f22f129696ab53cfbc608e0a2184d0fea46ac1 ]
    
    iavf_free_queues() clears adapter->num_active_queues, which
    iavf_free_q_vectors() relies on, so swap the order of these two function
    calls in iavf_disable_vf(). This resolves a panic encountered when the
    interface is disabled and then later brought up again after PF
    communication is restored.
    
    Fixes: 65c7006f234c ("i40evf: assign num_active_queues inside i40evf_alloc_queues")
    Signed-off-by: Nicholas Nunley <nicholas.d.nunley@xxxxxxxxx>
    Tested-by: Tony Brelinski <tony.brelinski@xxxxxxxxx>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index d6a239ba0240e..c7e365267bc0f 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -2057,8 +2057,8 @@ static void iavf_disable_vf(struct iavf_adapter *adapter)
 
 	iavf_free_misc_irq(adapter);
 	iavf_reset_interrupt_capability(adapter);
-	iavf_free_queues(adapter);
 	iavf_free_q_vectors(adapter);
+	iavf_free_queues(adapter);
 	memset(adapter->vf_res, 0, IAVF_VIRTCHNL_VF_RESOURCE_SIZE);
 	iavf_shutdown_adminq(&adapter->hw);
 	adapter->netdev->flags &= ~IFF_UP;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux