qlogic: qed: fix error codes in qed_resc_alloc()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 5 Nov 2015 08:41:28 +0000 (11:41 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Nov 2015 18:39:31 +0000 (13:39 -0500)
We accidentally return success instead of -ENOMEM here.

Fixes: fe56b9e6a8d9 ('qed: Add module with basic common support')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Yuval Mintz <Yuval.Mintz@qlogic.com
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qed/qed_dev.c

index 774b2231b79acc265a694bfedfc7cd57959130f0..803b190ccada97b30b28098666146f9d05ad1c54 100644 (file)
@@ -223,6 +223,7 @@ int qed_resc_alloc(struct qed_dev *cdev)
                if (!p_hwfn->p_tx_cids) {
                        DP_NOTICE(p_hwfn,
                                  "Failed to allocate memory for Tx Cids\n");
+                       rc = -ENOMEM;
                        goto alloc_err;
                }
 
@@ -230,6 +231,7 @@ int qed_resc_alloc(struct qed_dev *cdev)
                if (!p_hwfn->p_rx_cids) {
                        DP_NOTICE(p_hwfn,
                                  "Failed to allocate memory for Rx Cids\n");
+                       rc = -ENOMEM;
                        goto alloc_err;
                }
        }
@@ -281,14 +283,17 @@ int qed_resc_alloc(struct qed_dev *cdev)
 
                /* EQ */
                p_eq = qed_eq_alloc(p_hwfn, 256);
-
-               if (!p_eq)
+               if (!p_eq) {
+                       rc = -ENOMEM;
                        goto alloc_err;
+               }
                p_hwfn->p_eq = p_eq;
 
                p_consq = qed_consq_alloc(p_hwfn);
-               if (!p_consq)
+               if (!p_consq) {
+                       rc = -ENOMEM;
                        goto alloc_err;
+               }
                p_hwfn->p_consq = p_consq;
 
                /* DMA info initialization */
@@ -303,6 +308,7 @@ int qed_resc_alloc(struct qed_dev *cdev)
        cdev->reset_stats = kzalloc(sizeof(*cdev->reset_stats), GFP_KERNEL);
        if (!cdev->reset_stats) {
                DP_NOTICE(cdev, "Failed to allocate reset statistics\n");
+               rc = -ENOMEM;
                goto alloc_err;
        }