ret = ice_add_rdma_qset(pf, &qset);
        if (ret) {
                ibdev_dbg(&iwdev->ibdev, "WS: LAN alloc_res for rdma qset failed.\n");
-               return -EINVAL;
+               return ret;
        }
 
        tc_node->l2_sched_node_id = qset.teid;
        irdma_fill_device_info(iwdev, pf, vsi);
        rf = iwdev->rf;
 
-       if (irdma_ctrl_init_hw(rf)) {
-               err = -EIO;
+       err = irdma_ctrl_init_hw(rf);
+       if (err)
                goto err_ctrl_init;
-       }
 
        l2params.mtu = iwdev->netdev->mtu;
        ice_get_qos_params(pf, &qos_info);
        if (iwdev->rf->protocol_used != IRDMA_IWARP_PROTOCOL_ONLY)
                iwdev->dcb_vlan_mode = l2params.num_tc > 1 && !l2params.dscp_mode;
 
-       if (irdma_rt_init_hw(iwdev, &l2params)) {
-               err = -EIO;
+       err = irdma_rt_init_hw(iwdev, &l2params);
+       if (err)
                goto err_rt_init;
-       }
 
        err = irdma_ib_register_device(iwdev);
        if (err)
 
        status = irdma_get_sqdepth(uk_attrs, ukinfo->sq_size, sqshift,
                                   &sqdepth);
        if (status)
-               return -ENOMEM;
+               return status;
 
        if (uk_attrs->hw_rev == IRDMA_GEN_1)
                rqshift = IRDMA_MAX_RQ_WQE_SHIFT_GEN1;
        status = irdma_get_rqdepth(uk_attrs, ukinfo->rq_size, rqshift,
                                   &rqdepth);
        if (status)
-               return -ENOMEM;
+               return status;
 
        iwqp->kqp.sq_wrid_mem =
                kcalloc(sqdepth, sizeof(*iwqp->kqp.sq_wrid_mem), GFP_KERNEL);
        status = irdma_handle_cqp_op(rf, cqp_request);
        irdma_put_cqp_request(&rf->cqp, cqp_request);
 
-       return status ? -ENOMEM : 0;
+       return status;
 }
 
 static void irdma_roce_fill_and_set_qpctx_info(struct irdma_qp *iwqp,
                status = irdma_get_pble(rf->pble_rsrc, palloc, iwmr->page_cnt,
                                        false);
                if (status)
-                       return -ENOMEM;
+                       return status;
 
                iwpbl->pbl_allocated = true;
                level = palloc->level;
        status = irdma_handle_cqp_op(iwdev->rf, cqp_request);
        irdma_put_cqp_request(&iwdev->rf->cqp, cqp_request);
 
-       return status ? -ENOMEM : 0;
+       return status;
 }
 
 /**
        ibdev_dbg(&iwdev->ibdev, "%s: Error polling CQ, irdma_err: %d\n",
                  __func__, ret);
 
-       return -EINVAL;
+       return ret;
 }
 
 /**
        cqp_info->in.u.mc_create.cqp = &iwdev->rf->cqp.sc_cqp;
        status = irdma_handle_cqp_op(iwdev->rf, cqp_request);
        irdma_put_cqp_request(&iwdev->rf->cqp, cqp_request);
-       if (status)
-               return -ENOMEM;
 
-       return 0;
+       return status;
 }
 
 /**