{
        struct bnxt_qplib_chip_ctx *chip_ctx;
        struct bnxt_en_dev *en_dev;
-       struct bnxt *bp;
 
        en_dev = rdev->en_dev;
-       bp = netdev_priv(en_dev->net);
 
        chip_ctx = kzalloc(sizeof(*chip_ctx), GFP_KERNEL);
        if (!chip_ctx)
                return -ENOMEM;
-       chip_ctx->chip_num = bp->chip_num;
-       chip_ctx->hw_stats_size = bp->hw_ring_stats_size;
+       chip_ctx->chip_num = en_dev->chip_num;
+       chip_ctx->hw_stats_size = en_dev->hw_ring_stats_size;
 
        rdev->chip_ctx = chip_ctx;
        /* rest members to follow eventually */
        rdev->qplib_res.cctx = rdev->chip_ctx;
        rdev->rcfw.res = &rdev->qplib_res;
        rdev->qplib_res.dattr = &rdev->dev_attr;
-       rdev->qplib_res.is_vf = BNXT_VF(bp);
+       rdev->qplib_res.is_vf = BNXT_EN_VF(en_dev);
 
        bnxt_re_set_drv_mode(rdev, wqe_mode);
        if (bnxt_qplib_determine_atomics(en_dev->pdev))
 
 static void bnxt_re_get_sriov_func_type(struct bnxt_re_dev *rdev)
 {
-       struct bnxt *bp;
-
-       bp = netdev_priv(rdev->en_dev->net);
-       if (BNXT_VF(bp))
+       if (BNXT_EN_VF(rdev->en_dev))
                rdev->is_virtfn = 1;
 }
 
                                      u64 *cid_map)
 {
        struct hwrm_queue_pri2cos_qcfg_input req = {0};
-       struct bnxt *bp = netdev_priv(rdev->netdev);
        struct hwrm_queue_pri2cos_qcfg_output resp;
        struct bnxt_en_dev *en_dev = rdev->en_dev;
        struct bnxt_fw_msg fw_msg;
        flags |= (dir & 0x01);
        flags |= HWRM_QUEUE_PRI2COS_QCFG_INPUT_FLAGS_IVLAN;
        req.flags = cpu_to_le32(flags);
-       req.port_id = bp->pf.port_id;
+       req.port_id = en_dev->pf_port_id;
 
        bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp,
                            sizeof(resp), DFLT_HWRM_CMD_TIMEOUT);
 static int bnxt_re_suspend(struct auxiliary_device *adev, pm_message_t state)
 {
        struct bnxt_re_dev *rdev = auxiliary_get_drvdata(adev);
-       struct bnxt *bp;
 
        if (!rdev)
                return 0;
         * ie. by calling bnxt_re_dev_stop and release the MSIx vectors as
         * L2 driver want to modify the MSIx table.
         */
-       bp = netdev_priv(rdev->netdev);
 
        ibdev_info(&rdev->ibdev, "Handle device suspend call");
-       /* Check the current device state from L2 structure and move the
+       /* Check the current device state from bnxt_en_dev and move the
         * device to detached state if FW_FATAL_COND is set.
         * This prevents more commands to HW during clean-up,
         * in case the device is already in error.
         */
-       if (test_bit(BNXT_STATE_FW_FATAL_COND, &bp->state))
+       if (test_bit(BNXT_STATE_FW_FATAL_COND, &rdev->en_dev->en_state))
                set_bit(ERR_DEVICE_DETACHED, &rdev->rcfw.cmdq.flags);
 
        bnxt_re_dev_stop(rdev);
 
                        pm_message_t pm = {};
 
                        adrv = to_auxiliary_drv(adev->dev.driver);
+                       edev->en_state = bp->state;
                        adrv->suspend(adev, pm);
                }
        }
                        struct auxiliary_driver *adrv;
 
                        adrv = to_auxiliary_drv(adev->dev.driver);
+                       edev->en_state = bp->state;
                        adrv->resume(adev);
                }
        }
                edev->flags |= BNXT_EN_FLAG_ROCEV1_CAP;
        if (bp->flags & BNXT_FLAG_ROCEV2_CAP)
                edev->flags |= BNXT_EN_FLAG_ROCEV2_CAP;
+       if (bp->flags & BNXT_FLAG_VF)
+               edev->flags |= BNXT_EN_FLAG_VF;
+
+       edev->chip_num = bp->chip_num;
+       edev->hw_ring_stats_size = bp->hw_ring_stats_size;
+       edev->pf_port_id = bp->pf.port_id;
+       edev->en_state = bp->state;
 }
 
 void bnxt_rdma_aux_device_init(struct bnxt *bp)