> >Fix:
> Reverting src/sys/dev/pci/if_bge.c to rev 1.371 and if_bgereg.h to
> 1.128 and
> rebuilding the kernel allows the interface to work correctly.
Does the following diff (on top of HEAD, thus if_bge 1.372 and
if_bgereg.h 1.129) help?
Index: if_bge.c
===================================================================
RCS file: /OpenBSD/src/sys/dev/pci/if_bge.c,v
retrieving revision 1.372
diff -u -p -r1.372 if_bge.c
--- if_bge.c 10 Nov 2015 20:23:50 -0000 1.372
+++ if_bge.c 11 Nov 2015 19:45:38 -0000
@@ -3221,7 +3221,10 @@ bge_reset(struct bge_softc *sc)
* When firmware finishes its initialization it will
* write ~BGE_SRAM_FW_MB_MAGIC to the same location.
*/
- write_op(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER);
+ if (write_op == bge_writereg_ind)
+ bge_writereg_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER);
+ else
+ bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM, BGE_MAGIC_NUMBER);
reset = BGE_MISCCFG_RESET_CORE_CLOCKS | BGE_32BITTIME_66MHZ;