NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/42950: nfe(4) panic on HP Pavilion Slimline s5210uk Desktop PC



> >Fix:
> As I wrote above, this patch fixes the panic but the kernel print spurious 
> entries. Someone familiar with device matching logic should take a look at my 
> patch.
> 
> Index: sys/dev/mii/rlphy.c
> ===================================================================
> RCS file: /cvsroot/src/sys/dev/mii/rlphy.c,v
> retrieving revision 1.25
> diff -u -r1.25 rlphy.c
> --- sys/dev/mii/rlphy.c       16 Feb 2009 08:00:42 -0000      1.25
> +++ sys/dev/mii/rlphy.c       10 Mar 2010 20:22:12 -0000
> @@ -90,8 +90,9 @@
>  rlphymatch(device_t parent, cfdata_t match, void *aux)
>  {
>       struct mii_attach_args *ma = aux;
> +     struct mii_data *mii = ma->mii_data;
>  
> -     if (mii_phy_match(ma, rlphys) != NULL)
> +     if (mii_phy_match(ma, rlphys) != NULL && mii->mii_instance == 0)
>               return (10);
>  
>       if (MII_OUI(ma->mii_id1, ma->mii_id2) != 0 ||
> 

OpenBSD is currently not installed on the box but I'm pretty sure
the commit below fixes it. You wll make one user happier if you do
something similar in NetBSD.
Many thanks,
Alex

----- Forwarded message from Mark Kettenis <kettenis%cvs.openbsd.org@localhost> 
-----

Date: Mon, 10 Jan 2011 09:18:03 -0700 (MST)
From: Mark Kettenis <kettenis%cvs.openbsd.org@localhost>
To: source-changes%cvs.openbsd.org@localhost
Subject: CVS: cvs.openbsd.org: src

CVSROOT:        /cvs
Module name:    src
Changes by:     kettenis%cvs.openbsd.org@localhost      2011/01/10 09:18:03

Modified files:
        sys/dev/pci    : if_nfe.c 

Log message:
Some nfe(4)/rlphy(4) combos don't work, because the PHY responds to all
addresses on the mii bus.  As a countereasure, only attach the first PHY we
encounter.  It is very unlikely we're going to ever see nfe(4) with multiple
PHYs.  The same is probably true for any modern NIC.

ok mikeb@, deraadt@



----- End forwarded message -----


Home | Main Index | Thread Index | Old Index