kwqe.hdr.conn_and_cmd_data =
                cpu_to_le32(((cmd << SPE_HDR_CMD_ID_SHIFT) |
-                            BNX2X_HW_CID(cid, cp->func)));
+                            BNX2X_HW_CID(cp, cid)));
        kwqe.hdr.type = cpu_to_le16(type);
        kwqe.hdr.reserved = 0;
        kwqe.data.phy_address.lo = cpu_to_le32(l5_data->phy_address.lo);
        struct cnic_context *ctx = &cp->ctx_tbl[req1->iscsi_conn_id];
        struct cnic_iscsi *iscsi = ctx->proto.iscsi;
        u32 cid = ctx->cid;
-       u32 hw_cid = BNX2X_HW_CID(cid, cp->func);
+       u32 hw_cid = BNX2X_HW_CID(cp, cid);
        struct iscsi_context *ictx;
        struct regpair context_addr;
        int i, j, n = 2, n_max;
        }
 
        kcqe.completion_status = ISCSI_KCQE_COMPLETION_STATUS_SUCCESS;
-       kcqe.iscsi_conn_context_id = BNX2X_HW_CID(cp->ctx_tbl[l5_cid].cid,
-                                                 cp->func);
+       kcqe.iscsi_conn_context_id = BNX2X_HW_CID(cp, cp->ctx_tbl[l5_cid].cid);
 
 done:
        cqes[0] = (struct kcqe *) &kcqe;
        struct eth_context *context;
        struct regpair context_addr;
        dma_addr_t buf_map;
-       int func = CNIC_FUNC(cp);
        int port = CNIC_PORT(cp);
        int i;
        int cli = BNX2X_ISCSI_CL_ID(CNIC_E1HVN(cp));
                                XSTORM_ETH_ST_CONTEXT_STATISTICS_ENABLE;
 
        context->xstorm_ag_context.cdu_reserved =
-               CDU_RSRVD_VALUE_TYPE_A(BNX2X_HW_CID(BNX2X_ISCSI_L2_CID, func),
+               CDU_RSRVD_VALUE_TYPE_A(BNX2X_HW_CID(cp, BNX2X_ISCSI_L2_CID),
                                        CDU_REGION_NUMBER_XCM_AG,
                                        ETH_CONNECTION_TYPE);
 
        struct regpair context_addr;
        int i;
        int port = CNIC_PORT(cp);
-       int func = CNIC_FUNC(cp);
        int cli = BNX2X_ISCSI_CL_ID(CNIC_E1HVN(cp));
        u32 val;
        struct tstorm_eth_client_config tstorm_client = {0};
                                                cp->l2_single_buf_size;
 
        context->ustorm_ag_context.cdu_usage =
-               CDU_RSRVD_VALUE_TYPE_A(BNX2X_HW_CID(BNX2X_ISCSI_L2_CID, func),
+               CDU_RSRVD_VALUE_TYPE_A(BNX2X_HW_CID(cp, BNX2X_ISCSI_L2_CID),
                                        CDU_REGION_NUMBER_UCM_AG,
                                        ETH_CONNECTION_TYPE);
 
 
 #define BNX2X_ISCSI_GLB_BUF_SIZE       64
 #define BNX2X_ISCSI_PBL_NOT_CACHED     0xff
 #define BNX2X_ISCSI_PDU_HEADER_NOT_CACHED      0xff
-#define BNX2X_HW_CID(x, func)          ((x) | (((func) % PORT_MAX) << 23) | \
-                                        (((func) >> 1) << 17))
-#define BNX2X_SW_CID(x)                        (x & 0x1ffff)
+
 #define BNX2X_CHIP_NUM_57711           0x164f
 #define BNX2X_CHIP_NUM_57711E          0x1650
 #define BNX2X_CHIP_NUM(x)              (x >> 16)
 #define CNIC_FUNC(cp)                  ((cp)->func)
 #define CNIC_E1HVN(cp)                 ((cp)->func >> 1)
 
+#define BNX2X_HW_CID(cp, x)            (((CNIC_FUNC(cp) % PORT_MAX) << 23) | \
+                                        (CNIC_E1HVN(cp) << 17) | (x))
+
+#define BNX2X_SW_CID(x)                        (x & 0x1ffff)
+
 #endif