Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 May 2010 13:53:28 -0700
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        McLone <mclone@gmail.com>
Cc:        network@freebsd.org, stable@freebsd.org, current@freebsd.org
Subject:   Re: if_re regression on RELENG_8
Message-ID:  <20100507205328.GH14801@michelle.cdnetworks.com>
In-Reply-To: <v2t451cb3011005070755hf0a64251s4a12751d2ee09eaf@mail.gmail.com>
References:  <v2t451cb3011005070755hf0a64251s4a12751d2ee09eaf@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--C+ts3FVlLX8+P6JN
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Fri, May 07, 2010 at 05:55:02PM +0300, McLone wrote:
> Hell Low.
> 
> When Vista finally died on my girl's notebook,
> she asked me to install FreeBSD on it, so no more viruses.
> I installed RELENG_8_0/i386, to compile fresh RELENG_8/amd64
> in hopes SUJ will be availible (2gb RAM is kinda too small for ZFS).
> 
> I've built custom kernel (GENERIC with unneeded things nodevice'd)
> and rebooted it, kldload if_re, ifcionfig, so ping started to work.
> I then attempted to mount_nfs, but it hung.
> "re0: watchdog timeout" appeared on console.
> 
> So the thing is, re0 stops working after sending any packet
> longer than 536 bytes. I tested via ping, -S (536-8) works,
> but (537-8) leads to watchdog timeout. The host cannot be
> software rebooted in ~80% cases after it happened.
> 
> Machine in question is Fujitsu-Siemens Amilo Pi 2540.
> The lines from RELENG_8 dmesg are:
> 
> re0: <RealTek 8101E/8102E/8102EL/8103E PCIe 10/100baseTX> port
> 0x3000-0x30ff mem 0xf0300000-0xf0300fff irq 19 at device 0.0 on pci5
> re0: Reserved 0x1000 bytes for rid 0x18 type 3 at 0xf0300000
> re0: MSI count : 2
> re0: attempting to allocate 1 MSI vectors (2 supported)
> re0: using IRQ 256 for MSI
> re0: Using 1 MSI messages
> re0: Chip rev. 0x34000000
> re0: MAC rev. 0x00000000
> miibus0: <MII bus> on re0
> re0: bpf attached
> re0: Ethernet address: 00:03:0d:a1:a8:19
> re0: [MPSAFE]
> re0: [FILTER]
> 
> Those lines in RELENG_8_0 are the same except IRQ 259
> (i kldload if_re after boot).
> RELENG_8 is from 2010.05.04 i believe;
> had tried with sources as of 2 or 3 weeks earlier - same bug.
> No CFLAGS except -mtune=native (i doubt it does the weather).
> It doesn't matter if i kldload or just use GENERIC.
> 
> How can i test further, except building fresh RELENG_8/i386?
> How to use a magic "DDB key" and what to input in there?
> 

Would you try attached patch?

--C+ts3FVlLX8+P6JN
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="re.mreq.patch"

Index: sys/dev/re/if_re.c
===================================================================
--- sys/dev/re/if_re.c	(revision 207747)
+++ sys/dev/re/if_re.c	(working copy)
@@ -1162,9 +1162,11 @@
 	msic = 0;
 	if (pci_find_extcap(dev, PCIY_EXPRESS, &reg) == 0) {
 		sc->rl_flags |= RL_FLAG_PCIE;
-		/* Set PCIe maximum read request size to 2048. */
-		if (pci_get_max_read_req(dev) < 2048)
-			pci_set_max_read_req(dev, 2048);
+		if (devid != RT_DEVICEID_8101E) {
+			/* Set PCIe maximum read request size to 2048. */
+			if (pci_get_max_read_req(dev) < 2048)
+				pci_set_max_read_req(dev, 2048);
+		}
 		msic = pci_msi_count(dev);
 		if (bootverbose)
 			device_printf(dev, "MSI count : %d\n", msic);

--C+ts3FVlLX8+P6JN--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100507205328.GH14801>