Download raw body.
iavf patch [3/4]: PCI bus error handling
This patch is the same as the following mail.
https://marc.info/?l=openbsd-tech&m=172723210819245&w=2
Now, We have support of i440fx chipset emulation on QEMU.
However, I think we need to catch up with an error case
while the iavf driver attaches.
OK?
diff --git a/sys/dev/pci/if_iavf.c b/sys/dev/pci/if_iavf.c
index 38f3cce26b6..204dbfc2637 100644
--- a/sys/dev/pci/if_iavf.c
+++ b/sys/dev/pci/if_iavf.c
@@ -616,6 +616,7 @@ struct iavf_softc {
uint32_t sc_major_ver;
uint32_t sc_minor_ver;
+ int sc_if_attached;
int sc_got_vf_resources;
int sc_got_irq_map;
uint32_t sc_vf_id;
@@ -1078,6 +1079,7 @@ iavf_attach(struct device *parent, struct device *self, void *aux)
if_attach_queues(ifp, iavf_nqueues(sc));
if_attach_iqueues(ifp, iavf_nqueues(sc));
+ sc->sc_if_attached++;
iavf_intr_enable(sc);
@@ -1627,7 +1629,8 @@ iavf_reset(void *xsc)
link_state = ifp->if_link_state;
if (ifp->if_link_state != LINK_STATE_DOWN) {
ifp->if_link_state = LINK_STATE_DOWN;
- if_link_state_change(ifp);
+ if (sc->sc_if_attached)
+ if_link_state_change(ifp);
}
up = 0;
--
Yuichiro NAITO (naito.yuichiro@gmail.com)
iavf patch [3/4]: PCI bus error handling