NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: port-i386/40677: Some fxp network cards no longer work
The following reply was made to PR port-i386/40677; it has been noted by GNATS.
From: matthew green <mrg%eterna.com.au@localhost>
To: "Stephan Thesing" <thesing%gmx.de@localhost>
Cc: gnats-bugs%NetBSD.org@localhost, netbsd-bugs%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost, port-i386-maintainer%netbsd.org@localhost
Subject: re: port-i386/40677: Some fxp network cards no longer work
Date: Thu, 19 Feb 2009 18:41:35 +1100
I think the general idea of moving feature determination to the
frontend file is good.
yeah. i just don't have the hardware to test the changes and there
is another bug already from them. but maybe you can help fix me fix
them :-)
It should be sufficient to change in fxp_pci_attach() in if_fxp_pci.c
the default: branch of the switch, along the lines of the attached patch
(compile tested only).
so, your card matches the first patch of this change:
Index: if_fxp_pci.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_fxp_pci.c,v
retrieving revision 1.61
diff -b -u -r1.61 if_fxp_pci.c
--- if_fxp_pci.c 18 Jan 2009 10:37:04 -0000 1.61
+++ if_fxp_pci.c 17 Feb 2009 21:22:09 -0000
@@ -373,16 +373,29 @@
case PCI_PRODUCT_INTEL_82562EH_HPNA_2:
case PCI_PRODUCT_INTEL_PRO_100_VM_2:
aprint_normal(": %s, rev %d\n", fpp->fpp_name, sc->sc_rev);
+
+ if (sc->sc_rev >= FXP_REV_82558_A4)
sc->sc_flags |= FXPF_FC|FXPF_EXT_TXCB;
+
+ if (sc->sc_rev == FXP_REV_82550 || sc->sc_rev ==
FXP_REV_82550_C)
+ sc->sc_flags |= FXPF_EXT_RFA|FXPF_IPCB;
/*
* The ICH-2 and ICH-3 have the "resume bug".
*/
sc->sc_flags |= FXPF_HAS_RESUME_BUG;
break;
but what sort of testing did this part get?
+
default:
aprint_normal(": %s, rev %d\n", fpp->fpp_name, sc->sc_rev);
- sc->sc_flags |=
FXPF_FC|FXPF_EXT_TXCB|FXPF_EXT_RFA|FXPF_IPCB;
+
+
+ if (sc->sc_rev >= FXP_REV_82558_A4)
+ sc->sc_flags |= FXPF_FC|FXPF_EXT_TXCB;
+
+if (sc->sc_rev == FXP_REV_82550 || sc->sc_rev == FXP_REV_82550_C)
+ sc->sc_flags |= FXPF_EXT_RFA|FXPF_IPCB;
+
break;
}
thanks for your help,
.mrg.
Home |
Main Index |
Thread Index |
Old Index