- /*
- * Setup initial i/o address for ASIC and NIC
- */
- sc->asic_addr = isa_dev->id_iobase;
- sc->vector = isa_dev->id_irq;
- sc->smem_start = (caddr_t)isa_dev->id_maddr;
-
- /*
- * Attempt to do a checksum over the station address PROM.
- * This is mapped differently on the WD80x3 and 3C503, so if
- * it fails, it might be a 3C503. There is a problem with
- * this, though: some clone WD boards don't pass the
- * checksum test. Danpex boards for one. We need to do
- * additional checking for this case.
- */
- for (sum = 0, i = 0; i < 8; ++i) {
- sum += inb(sc->asic_addr + ED_WD_PROM + i);
- }
-
- if (sum == ED_WD_ROM_CHECKSUM_TOTAL) {
- return (ed_probe_WD80x3(isa_dev));
- } else {
- /*
- * XXX - Should do additional checking to make sure its a 3Com
- * and not a broken WD clone
- */
- return (ed_probe_3Com(isa_dev));
- }