Commit 2f782278 authored by Mintz, Yuval's avatar Mintz, Yuval Committed by David S. Miller

qed: Correct MSI-x for storage

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: 51ff1725 ("qed: Add support for RoCE hw init")
Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9e9623ab
...@@ -745,7 +745,8 @@ static int qed_slowpath_setup_int(struct qed_dev *cdev, ...@@ -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->int_params.fp_msix_cnt = cdev->int_params.out.num_vectors -
cdev->num_hwfns; 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; return 0;
for_each_hwfn(cdev, i) for_each_hwfn(cdev, i)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment