BXE: resets slightly later, connect sc->edev/ifp
We need to reset early for MMIO/vmap reasons, but we want to at least have
connections to the edev and ifp (netif). Thus we do it a little later in pnp.
diff --git a/kern/drivers/net/bxe/bxe_dev.c b/kern/drivers/net/bxe/bxe_dev.c
index 0e1fecb..1b3e877 100644
--- a/kern/drivers/net/bxe/bxe_dev.c
+++ b/kern/drivers/net/bxe/bxe_dev.c
@@ -371,11 +371,6 @@
ctlr->pcidev = pcidev;
- if (bxereset(ctlr)) {
- kfree(ctlr);
- continue;
- }
-
spin_lock(&bxe_adapter_tq_lock);
TAILQ_INSERT_TAIL(&bxe_adapter_tq, ctlr, link9ns);
spin_unlock(&bxe_adapter_tq_lock);
@@ -406,6 +401,9 @@
return -1;
edev->ctlr = ctlr;
+ ctlr->edev = edev;
+ ctlr->ifp = &edev->netif;
+
//edev->port = ctlr->port; /* might just remove this from devether */
edev->irq = ctlr->pcidev->irqline;
edev->tbdf = MKBUS(BusPCI, ctlr->pcidev->bus, ctlr->pcidev->dev,
@@ -426,6 +424,8 @@
edev->netif.promiscuous = bxepromiscuous;
edev->netif.multicast = bxemulticast;
+ bxereset(ctlr);
+
return 0;
}