[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-stable-commits
Subject:    Patch "i40e: Fix interface init with MSI interrupts (no MSI-X)" has been added to the 4.19-stable tr
From:       Sasha Levin <sashal () kernel ! org>
Date:       2022-07-31 2:49:00
Message-ID: 20220731024901.3364643-1-sashal () kernel ! org
[Download RAW message or body]

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

    i40e: Fix interface init with MSI interrupts (no MSI-X)

to the 4.19-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:
     i40e-fix-interface-init-with-msi-interrupts-no-msi-x.patch
and it can be found in the queue-4.19 subdirectory.

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



commit fea9c5d1cd8575e6acfec5f4e7f98279939bc2ac
Author: Michal Maloszewski <michal.maloszewski@intel.com>
Date:   Fri Jul 22 10:54:01 2022 -0700

    i40e: Fix interface init with MSI interrupts (no MSI-X)
    
    [ Upstream commit 5fcbb711024aac6d4db385623e6f2fdf019f7782 ]
    
    Fix the inability to bring an interface up on a setup with
    only MSI interrupts enabled (no MSI-X).
    Solution is to add a default number of QPs = 1. This is enough,
    since without MSI-X support driver enables only a basic feature set.
    
    Fixes: bc6d33c8d93f ("i40e: Fix the number of queues available to be mapped for use")
    Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com>
    Signed-off-by: Michal Maloszewski <michal.maloszewski@intel.com>
    Tested-by: Dave Switzer <david.switzer@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Link: https://lore.kernel.org/r/20220722175401.112572-1-anthony.l.nguyen@intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 3615c6533cf4..2f3b393e5506 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1808,11 +1808,15 @@ static void i40e_vsi_setup_queue_map(struct i40e_vsi *vsi,
 		 * non-zero req_queue_pairs says that user requested a new
 		 * queue count via ethtool's set_channels, so use this
 		 * value for queues distribution across traffic classes
+		 * We need at least one queue pair for the interface
+		 * to be usable as we see in else statement.
 		 */
 		if (vsi->req_queue_pairs > 0)
 			vsi->num_queue_pairs = vsi->req_queue_pairs;
 		else if (pf->flags & I40E_FLAG_MSIX_ENABLED)
 			vsi->num_queue_pairs = pf->num_lan_msix;
+		else
+			vsi->num_queue_pairs = 1;
 	}
 
 	/* Number of queues per enabled TC */
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic