On Tue, 22 Jan 2008, Nicolas Letellier wrote:
re driver freeze OpenBSD 4.2-current. This driver doesn't bug in NetBSD or
FreeBSD. Users with re at pcie bus are suffering from this bug. Someting
like:
> ppb2 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x01: irq 10
> pci3 at ppb2 bus 3
> re0 at pci3 dev 0 function 0 "Realtek 8168" rev 0x01: RTL8168 2
> (0x3800), irq 10, address 00:1c:c0:0f:08:bf
> rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 2
In certain situation, we must force the re interface to 100baseTX, but it's
not always true.
This did not help in my case. As I tracked down multicast packets as the
cause for the freezes I tried to disable the multicast filter. This is
no good fix for the problem, but the symptoms went away. This is by the
way the same thing the linux driver does (did I mention that it is not a
real fix?). After adding the following patch the box did not freeze any
longer:
Index: re.c
===================================================================
RCS file: /var/cvs/src/sys/dev/ic/re.c,v
retrieving revision 1.75
diff -u -p -r1.75 re.c
--- re.c 16 Jan 2008 09:52:34 -0000 1.75
+++ re.c 22 Jan 2008 21:44:56 -0000
@@ -570,6 +570,7 @@ re_setmulti(struct rl_softc *sc)
case RL_HWREV_8101E:
case RL_HWREV_8168_SPIN1:
case RL_HWREV_8168_SPIN2:
+ hashes[1] = hashes[0] = 0xffffffff;
CSR_WRITE_4(sc, RL_MAR0, swap32(hashes[1]));
CSR_WRITE_4(sc, RL_MAR4, swap32(hashes[0]));
break;
dmesg part is this (full dmesg is in br#5599):
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
ppb1 at pci0 dev 6 function 0 "ATI RX480 PCIE" rev 0x00
pci2 at ppb1 bus 2
re0 at pci2 dev 0 function 0 "Realtek 8168" rev 0x01: RTL8168 2
(0x3800), apic 2 int 18 (irq 10), address 00:19:db:60:e4:a2
rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 2
So, is anybody using this driver *with a pcie bus* without problems? This
situation could help to solve the problem.
Without problems I would not call that. And the patch is really a hack.
But it works, and the box does not freeze if someone starts a linux
computer in the same LAN segment which does that multicast autoconf
thingy.
Best regards,
Markus