Hi,
This diff sets isr to the correct value (sc->rl_intrs).
While here don't assign ifp twice in the same function.
Tested with:
re0 at pci2 dev 0 function 0 "Realtek 8168" rev 0x15: RTL8168H/8111H (0x5400),
msi, address d8:cb:8a:xx:xx:xx
re0 at pci3 dev 0 function 0 "Realtek 8168" rev 0x0c: RTL8168G/8111G (0x4c00),
msi, address 30:9c:23:xx:x:xx
ok?
Index: sys/dev/ic/re.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/re.c,v
retrieving revision 1.202
diff -u -p -u -p -r1.202 re.c
--- sys/dev/ic/re.c 19 Jun 2017 09:36:27 -0000 1.202
+++ sys/dev/ic/re.c 18 Nov 2019 06:59:26 -0000
@@ -1416,8 +1416,6 @@ re_txeof(struct rl_softc *sc)
unsigned int idx;
int free = 0;
- ifp = &sc->sc_arpcom.ac_if;
-
prod = sc->rl_ldata.rl_txq_prodidx;
cons = sc->rl_ldata.rl_txq_considx;
@@ -1955,7 +1953,7 @@ re_init(struct ifnet *ifp)
* Enable interrupts.
*/
re_setup_intr(sc, 1, sc->rl_imtype);
- CSR_WRITE_2(sc, RL_ISR, sc->rl_imtype);
+ CSR_WRITE_2(sc, RL_ISR, sc->rl_intrs);
/* Start RX/TX process. */
CSR_WRITE_4(sc, RL_MISSEDPKT, 0);