]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
qed: Correct MSI-x for storage
authorMintz, Yuval <Yuval.Mintz@cavium.com>
Wed, 5 Apr 2017 18:20:11 +0000 (21:20 +0300)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 26 Jul 2017 03:46:56 +0000 (20:46 -0700)
Orabug: 2593305326439680

When qedr is enabled, qed would try dividing the msi-x vectors between
L2 and RoCE, starting with L2 and providing it with sufficient vectors
for its queues.

Problem is qed would also do that for storage partitions, and as those
don't need queues it would lead qed to award those partitions with 0
msi-x vectors, causing them to believe theye're using INTa and
preventing them from operating.

Fixes: 51ff17251c9c ("qed: Add support for RoCE hw init")
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/qlogic/qed/qed_main.c

index a7e9454eb97473b3d67d807b92a58d6b447e08e5..da1d0f2f69141c320c48248494be0d4bcc1c2b66 100644 (file)
@@ -745,7 +745,8 @@ static int qed_slowpath_setup_int(struct qed_dev *cdev,
        cdev->int_params.fp_msix_cnt = cdev->int_params.out.num_vectors -
                                       cdev->num_hwfns;
 
-       if (!IS_ENABLED(CONFIG_QED_RDMA))
+       if (!IS_ENABLED(CONFIG_QED_RDMA) ||
+           QED_LEADING_HWFN(cdev)->hw_info.personality != QED_PCI_ETH_ROCE)
                return 0;
 
        for_each_hwfn(cdev, i)