qed: Fail driver load in 100g MSI mode.
authorSudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com>
Mon, 1 Aug 2016 13:08:13 +0000 (09:08 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Aug 2016 05:13:59 +0000 (22:13 -0700)
100g support is not available in MSI mode. Failing the driver load in this scenario.

Please consider applying this to `net'.

Signed-off-by: Sudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qed/qed_main.c

index 1f13abb5c31693f5be5b9a13fc44bba23e330159..c7dc34bfdd0a6fe347fca4ca721ad11dc7867a3c 100644 (file)
@@ -659,8 +659,13 @@ static int qed_slowpath_setup_int(struct qed_dev *cdev,
        struct qed_sb_cnt_info sb_cnt_info;
        int rc;
        int i;
-       memset(&cdev->int_params, 0, sizeof(struct qed_int_params));
 
+       if ((int_mode == QED_INT_MODE_MSI) && (cdev->num_hwfns > 1)) {
+               DP_NOTICE(cdev, "MSI mode is not supported for CMT devices\n");
+               return -EINVAL;
+       }
+
+       memset(&cdev->int_params, 0, sizeof(struct qed_int_params));
        cdev->int_params.in.int_mode = int_mode;
        for_each_hwfn(cdev, i) {
                memset(&sb_cnt_info, 0, sizeof(sb_cnt_info));