Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Oct 2002 12:24:23 -0800
From:      Luigi Rizzo <rizzo@icir.org>
To:        Ian Dowse <iedowse@FreeBSD.org>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/fxp if_fxp.c
Message-ID:  <20021030122423.B24962@carp.icir.org>
In-Reply-To: <200210301908.g9UJ8uK1077790@repoman.freebsd.org>; from iedowse@FreeBSD.org on Wed, Oct 30, 2002 at 11:08:56AM -0800
References:  <200210301908.g9UJ8uK1077790@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
actually, before people get alarmed by this commit message,
i want to make a clarification.

The status field is updated only on descriptors marked as
'completed' by the card, so they are not be in use by
the hardware while the driver touches it.

While this commit may fix the crash that Pawel was seeing,
i seriously doubt that it addresses the real problem, assuming
there is a problem in the driver and not in the hardware
(Pawel was mentioning that out of two identical boxes, one
is panicing and the other is not, which is a bit suspect...)

	cheers
	luigi

On Wed, Oct 30, 2002 at 11:08:56AM -0800, Ian Dowse wrote:
> iedowse     2002/10/30 11:08:56 PST
> 
>   Modified files:
>     sys/dev/fxp          if_fxp.c 
>   Log:
>   Revision 1.136 introduced two features that may cause undefined
>   behaviour of the hardware: a possibly reserved bit of the receive
>   descriptor (RFA) `status' field is borrowed to record no-resource
>   (RNR) events, and the same status field is read and written to at
>   a time that may clash with the hardware updating this field.
>   
>   There is no hardware documentation available to determine if these
>   things are safe to do; the second issue almost certainly isn't, and
>   the first is only safe if there is documentation saying that this
>   bit is free to be used by the driver. The PR referenced below
>   provides extremely convincing evidence that the changes cause random
>   crashes on some (unusual) hardware.
>   
>   Since these features are only required by the DEVICE_POLLING case,
>   this commit makes their use conditional on that option. It does not
>   change the DEVICE_POLLING case, but at least people with the rare
>   hardware on which this code causes problems can now avoid the crashes
>   by not enabling DEVICE_POLLING.
>   
>   PR:             kern/42260
>   Reviewed by:    luigi
>   Problem revision found by: Pawel Malachowski <pawmal@unia.3lo.lublin.pl>
>   Tested by:      Pawel Malachowski <pawmal@unia.3lo.lublin.pl>
>   MFC after:      1 week
>   
>   Revision  Changes    Path
>   1.142     +14 -1     src/sys/dev/fxp/if_fxp.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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