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

Re: eap0 failure on OpenBSD pre 3.5 snap



On Sun, Mar 14, 2004 at 08:31:20PM +0100, Joris Vink wrote:
> I had this before too, attached diff fixed it for me.

This diff is wrong.  It only fixes your problem because printf() will
never be called as the test condition in the if statements will never
happen.

> Index: eap.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/eap.c,v
> retrieving revision 1.20
> diff -u -r1.20 eap.c
> --- eap.c	14 May 2003 05:18:48 -0000	1.20
> +++ eap.c	30 Dec 2003 13:38:49 -0000
> @@ -298,9 +298,8 @@
>  	for (to = 0; to < EAP_WRITE_TIMEOUT; to++) {
>  		if (!(EREAD4(sc, E1371_CODEC) & E1371_CODEC_WIP))
>  			break;
> -		delay(1);
>  	}
> -	if (to == EAP_WRITE_TIMEOUT)
> +	if (to > EAP_WRITE_TIMEOUT)
>  		printf("%s: eap1371_ready_codec timeout 1\n", 
>  		       sc->sc_dev.dv_xname);
>  
> @@ -312,9 +311,8 @@
>  		t = EREAD4(sc, E1371_SRC);
>  		if ((t & E1371_SRC_STATE_MASK) == 0)
>  			break;
> -		delay(1);
>  	}
> -	if (to == EAP_READ_TIMEOUT)
> +	if (to > EAP_READ_TIMEOUT)
>  		printf("%s: eap1371_ready_codec timeout 2\n", 
>  		       sc->sc_dev.dv_xname);
>  
> @@ -322,9 +320,8 @@
>  		t = EREAD4(sc, E1371_SRC);
>  		if ((t & E1371_SRC_STATE_MASK) == E1371_SRC_STATE_OK)
>  			break;
> -		delay(1);
>  	}
> -	if (to == EAP_READ_TIMEOUT)
> +	if (to > EAP_READ_TIMEOUT)
>  		printf("%s: eap1371_ready_codec timeout 3\n", 
>  		       sc->sc_dev.dv_xname);
>  
> @@ -348,7 +345,6 @@
>  	for (to = 0; to < EAP_WRITE_TIMEOUT; to++) {
>  		if (!(EREAD4(sc, E1371_CODEC) & E1371_CODEC_WIP))
>  			break;
> -		delay(1);
>  	}
>  	if (to == EAP_WRITE_TIMEOUT)
>  		printf("%s: eap1371_read_codec timeout 1\n", 
> @@ -358,9 +354,8 @@
>  		t = EREAD4(sc, E1371_CODEC);
>  		if (t & E1371_CODEC_VALID)
>  			break;
> -		delay(1);
>  	}
> -	if (to == EAP_WRITE_TIMEOUT)
> +	if (to > EAP_WRITE_TIMEOUT)
>  		printf("%s: eap1371_read_codec timeout 2\n", 
>  		       sc->sc_dev.dv_xname);
>  
> 
> \\ Joris
> 
> On Sun, 14 Mar 2004, Stefan Sonnenberg-Carstens wrote:
> 
> > I got this version running :
> > OpenBSD hal9000.home.lan 3.5 GENERIC#12 i386
> > The problem is with my soundcard, my
> > dmesg says :
> > eap0: eap1371_read_codec timeout 2
> > several hundred times.
> > I found some mailing list entries, but not
> > something that would say, the error is found.
> > And, other guys say it slows down the mashine, not mine.
> > It plays wav's but not a normal audio cd.
> > 
> > Cheers,
> > Stefan