Page MenuHomeFreeBSD

D56201.id.diff
No OneTemporary

D56201.id.diff

diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c
--- a/sys/dev/bnxt/bnxt_en/bnxt_sriov.c
+++ b/sys/dev/bnxt/bnxt_en/bnxt_sriov.c
@@ -972,3 +972,13 @@
device_printf(dev, "Failed to initialize SR-IOV (error=%d)\n", rc);
}
+void bnxt_reenable_sriov(struct bnxt_softc *bp)
+{
+ if (BNXT_PF(bp)) {
+ struct bnxt_pf_info *pf = &bp->pf;
+ uint16_t n = pf->active_vfs;
+
+ if (n)
+ bnxt_cfg_hw_sriov(bp, &n, true);
+ }
+}
diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c
--- a/sys/dev/bnxt/bnxt_en/if_bnxt.c
+++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c
@@ -2327,6 +2327,9 @@
bnxt_ulp_start(bp, 0);
clear_bit(BNXT_STATE_FW_ACTIVATE, &bp->state);
set_bit(BNXT_STATE_OPEN, &bp->state);
+#ifdef PCI_IOV
+ bnxt_reenable_sriov(bp);
+#endif
rtnl_unlock();
}
return;

File Metadata

Mime Type
text/plain
Expires
Sun, May 17, 8:19 PM (6 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33206931
Default Alt Text
D56201.id.diff (834 B)

Event Timeline