summaryrefslogtreecommitdiffstats
path: root/sys/dev/ed
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1993-06-27 10:28:28 +0000
committerdg <dg@FreeBSD.org>1993-06-27 10:28:28 +0000
commit16da259a04ac0ad5de054ba767770e93dc8ac2fb (patch)
tree98ade837d67de62fd93e7a2f844a6856ac4cd369 /sys/dev/ed
parent3ee56e1af8d1034ab3f1f81bb3bca6e2e88bd8d8 (diff)
downloadFreeBSD-src-16da259a04ac0ad5de054ba767770e93dc8ac2fb.zip
FreeBSD-src-16da259a04ac0ad5de054ba767770e93dc8ac2fb.tar.gz
fixed bugs in the probe routine uncovered by the previous fix.
Diffstat (limited to 'sys/dev/ed')
-rw-r--r--sys/dev/ed/if_ed.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/sys/dev/ed/if_ed.c b/sys/dev/ed/if_ed.c
index 4e6e110..b48b353 100644
--- a/sys/dev/ed/if_ed.c
+++ b/sys/dev/ed/if_ed.c
@@ -17,6 +17,10 @@
* Modification history
*
* $Log: if_ed.c,v $
+ * Revision 1.11 93/06/27 03:07:01 davidg
+ * fixed bugs in the 3Com part of the probe routine that were uncovered by
+ * the previous fix.
+ *
* Revision 1.10 93/06/25 19:23:19 davidg
* fixed bug that caused erroneous 'Invalid irq configuration' message when
* no board is present (during autoconfiguration).
@@ -421,7 +425,7 @@ type_3Com:
* Verify that the kernel configured I/O address matches the board
* configured address
*/
- switch (sc->asic_addr + ED_3COM_BCFR) {
+ switch (inb(sc->asic_addr + ED_3COM_BCFR)) {
case ED_3COM_BCFR_300:
if (isa_dev->id_iobase != 0x300)
return(0);
@@ -462,21 +466,21 @@ type_3Com:
* Verify that the kernel shared memory address matches the
* board configured address.
*/
- switch (sc->asic_addr + ED_3COM_PCFR) {
+ switch (inb(sc->asic_addr + ED_3COM_PCFR)) {
case ED_3COM_PCFR_DC000:
- if (kvtop(isa_dev->id_maddr) != ED_3COM_PCFR_DC000)
+ if (kvtop(isa_dev->id_maddr) != 0xdc000)
return(0);
break;
case ED_3COM_PCFR_D8000:
- if (kvtop(isa_dev->id_maddr) != ED_3COM_PCFR_D8000)
+ if (kvtop(isa_dev->id_maddr) != 0xd8000)
return(0);
break;
case ED_3COM_PCFR_CC000:
- if (kvtop(isa_dev->id_maddr) != ED_3COM_PCFR_CC000)
+ if (kvtop(isa_dev->id_maddr) != 0xcc000)
return(0);
break;
case ED_3COM_PCFR_C8000:
- if (kvtop(isa_dev->id_maddr) != ED_3COM_PCFR_C8000)
+ if (kvtop(isa_dev->id_maddr) != 0xc8000)
return(0);
break;
default:
@@ -618,7 +622,7 @@ type_3Com:
#if 0
printf("Starting write\n");
for (i = 0; i < 8192; ++i)
- bzero(sc->smem_start, 8192);
+ bzerow(sc->smem_start, 8192);
printf("Done.\n");
#endif
#if 0
OpenPOWER on IntegriCloud