Possible regression with msk driver
Pyun YongHyeon
pyunyh at gmail.com
Mon Nov 16 18:13:37 UTC 2009
On Sun, Nov 15, 2009 at 11:13:10AM +0200, Gleb Kurtsou wrote:
> On (11/11/2009 15:14), Pyun YongHyeon wrote:
> > On Wed, Nov 11, 2009 at 11:11:51PM +0100, Mel Flynn wrote:
> > > Hi,
> > >
> > > I just booted a box from 7.2-p4 to FreeBSD 8.0-PRERELEASE #0 r199185. It
> > > didn't ping, even though the interface was marked up and active. No traffic at
> > > all.
> > >
> > > The fix was to ifconfig msk0 down; ifconfig msk0 up. From then on, everything
> > > worked and still is:
> > > mskc0: <Marvell Yukon 88E8056 Gigabit Ethernet> port 0xe800-0xe8ff mem
> > > 0xf9efc000-0xf9efffff irq 16 at device 0.0 on pci3
> > > msk0: <Marvell Technology Group Ltd. Yukon EC Ultra Id 0xb4 Rev 0x03> on mskc0
> > > msk0: Ethernet address: 00:1b:fc:e3:9b:6a
> > > miibus0: <MII bus> on msk0
> > > e1000phy0: <Marvell 88E1149 Gigabit PHY> PHY 0 on miibus0
> > > e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
> > > 1000baseT-FDX, auto
> > > mskc0: [FILTER]
> > >
> > > mskc0 at pci0:3:0:0: class=0x020000 card=0x826e1043 chip=0x436411ab
> > > rev=0x12 hdr=0x00
> > > vendor = 'Marvell Semiconductor (Was: Galileo Technology Ltd)'
> > > device = 'Yukon PCI-E Gigabit Ethernet Controller (88E8056)'
> > > class = network
> > > subclass = ethernet
> > >
> > > msk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> > > options=11a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4>
> > > ether 00:1b:fc:xx:xx:xx
> > > inet 192.168.xxx.xxx netmask 0xffffff00 broadcast 192.168.xxx.255
> > > media: Ethernet autoselect (1000baseT <full-duplex,flag0,flag1,flag2>)
> > > status: active
> > >
> > > Now - this machine still had 7.x /etc/rc.d, but since ifconfig down/up fixed
> > > the problem I don't know if this is a likely suspect.
> > >
> >
> > Most likely it lost link state changes so I guess msk(4) still
> > think it has no established link.
> > Because there had been several problems with EC Ultra + 88E1149 I'm
> > not sure it's newly introduced regression though. There are some
> > changes in CURRENT. Would you try latest msk(4)/e1000phy(4) in
> > CURRENT? I think you can download the following files from CURRENT.
> > sys/dev/msk/if_msk.c
> > sys/dev/msk/if_mskreg.h
> > sys/dev/mii/e1000phy.c
> > sys/dev/mii/e1000phyreg.h
> I experience similar problem. After boot msk0 status is active, but I'm
> not able to send anything:
> % ping 172.21.21.21
> PING 172.21.21.21 (172.21.21.21): 56 data bytes
> ping: sendto: No buffer space available
> ping: sendto: No buffer space available
>
> After unplugging cable and putting it back everything works as
> expected:
> % ping 172.21.21.21
> PING 172.21.21.21 (172.21.21.21): 56 data bytes
> 64 bytes from 172.21.21.21: icmp_seq=0 ttl=64 time=0.904 ms
>
> It is 100% reproducible, running recent current.
>
> % uname -a
> FreeBSD tops 9.0-CURRENT FreeBSD 9.0-CURRENT #17 r199274+c8076f9: Sat Nov 14 22:59:26 EET 2009 root at tops:/usr/obj/usr/freebsd-src/local/sys/TOPS amd64
>
> % ifconfig
> msk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> options=11a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4>
> ether *
> inet 172.21.21.22 netmask 0xfffffff8 broadcast 172.21.21.23
> inet6 * prefixlen 64 scopeid 0x1
> nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> media: Ethernet autoselect (100baseTX <full-duplex>)
> status: active
>
> My hardware:
> mskc0 at pci0:2:0:0: class=0x020000 card=0x902d104d chip=0x435311ab rev=0x15 hdr=0x00
> vendor = 'Marvell Semiconductor (Was: Galileo Technology Ltd)'
> device = 'Gigabit (88E8039 - http://www.marvell.com/drivers/driverDis)'
> class = network
> subclass = ethernet
>
I guess some changes made to reduce unnecessary controller
reinitialization seems to cause the issue.
Would you try attached patch?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: msk.link.patch
Type: text/x-diff
Size: 439 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20091116/402e18bb/msk.link.bin
More information about the freebsd-current
mailing list