panic: invalid ife->ifm_data (0xa) in mii_phy_setmedia

Ganbold ganbold at micom.mng.net
Wed Aug 30 03:23:31 UTC 2006


Hi,

Thanks a lot for your patch. Your patch fixes panic, however I still see
bge0: firmware handshake timed out
bge0: link state changed to DOWN
messages.

When I tried to use Oleg's if_bge.c, rev. 1.140 in STABLE buildkernel stops:

mkdep -f .depend -a   -nostdinc -D_KERNEL -DKLD_MODULE -I- 
-DHAVE_KERNEL_OPTION_HEADERS -I. -I@ -I@/contrib/altq -I@/../include 
-I/usr/include -I/usr/obj/usr/src/sys/DEVIL 
/usr/src/sys/modules/bge/../../dev/bge/if_bge.c
/usr/src/sys/modules/bge/../../dev/bge/if_bge.c:2570:35: macro 
"VLAN_INPUT_TAG" requires 4 arguments, but only 3 given
mkdep: compile failed
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 2
mkdep: compile failed
*** Error code 1
2 errors
*** Error code 2
1 error
*** Error code 2
1 error

I see VLAN_INPUT_TAG is defined as VLAN_INPUT_TAG(_ifp, _m, _t, 
_errcase) in if_vlan_var.h, rev v 1.21.2.2 with 4 arguments, however
new if_bge.c, rev. 1.140 uses 3 arguments.
Is it safe to use if_vlan_var.h, rev 1.24 and if_vlan.c, rev 1.114 only? 
What other patches should I use?
When all these changes MFC to STABLE?

thanks,

Ganbold

Pyun YongHyeon wrote:
> I think your PHY was not recognized by brgphy(4). But I don't know it
> fixes "firmware handshake timed out" issue you've seen.
> Recently oleg fixed a long standing bug in bge(4). So you may also want
> to merge the change.(See if_bge.c, rev. 1.140)
> Patch generated against RELENG_6(compile tested only).
>
>   
> ------------------------------------------------------------------------
>
> Index: miidevs
> ===================================================================
> RCS file: /home/ncvs/src/sys/dev/mii/miidevs,v
> retrieving revision 1.30.2.3
> diff -u -r1.30.2.3 miidevs
> --- miidevs	8 Aug 2006 07:51:21 -0000	1.30.2.3
> +++ miidevs	30 Aug 2006 02:28:07 -0000
> @@ -118,6 +118,7 @@
>  model xxBROADCOM BCM5400	0x0004 Broadcom 1000baseTX PHY
>  model xxBROADCOM BCM5401	0x0005 BCM5401 10/100/1000baseTX PHY
>  model xxBROADCOM BCM5411	0x0007 BCM5411 10/100/1000baseTX PHY
> +model xxBROADCOM BCM5752	0x0010 BCM5752 10/100/1000baseTX PHY
>  model xxBROADCOM BCM5701	0x0011 BCM5701 10/100/1000baseTX PHY
>  model xxBROADCOM BCM5703	0x0016 BCM5703 10/100/1000baseTX PHY
>  model xxBROADCOM BCM5704	0x0019 BCM5704 10/100/1000baseTX PHY
> Index: brgphy.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/dev/mii/brgphy.c,v
> retrieving revision 1.34.2.6
> diff -u -r1.34.2.6 brgphy.c
> --- brgphy.c	8 Aug 2006 04:37:18 -0000	1.34.2.6
> +++ brgphy.c	30 Aug 2006 02:28:07 -0000
> @@ -126,6 +126,12 @@
>  	}
>  
>  	if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxBROADCOM &&
> +	    MII_MODEL(ma->mii_id2) == MII_MODEL_xxBROADCOM_BCM5752) {
> +		device_set_desc(dev, MII_STR_xxBROADCOM_BCM5752);
> +		return(BUS_PROBE_DEFAULT);
> +	}
> +
> +	if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxBROADCOM &&
>  	    MII_MODEL(ma->mii_id2) == MII_MODEL_xxBROADCOM_BCM5701) {
>  		device_set_desc(dev, MII_STR_xxBROADCOM_BCM5701);
>  		return(BUS_PROBE_DEFAULT);
> @@ -665,6 +671,7 @@
>  		bcm5704_load_dspcode(sc);
>  		break;
>  	case MII_MODEL_xxBROADCOM_BCM5750:
> +	case MII_MODEL_xxBROADCOM_BCM5752:
>  	case MII_MODEL_xxBROADCOM_BCM5714:
>  	case MII_MODEL_xxBROADCOM_BCM5780:
>  	case MII_MODEL_xxBROADCOM_BCM5706C:
>   



More information about the freebsd-stable mailing list