Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jan 2004 22:25:31 -0800 (PST)
From:      Don Lewis <truckman@FreeBSD.org>
To:        src-committers@FreeBSD.org, re@FreeBSD.org
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/pci if_dc.c if_dcreg.h
Message-ID:  <200401080625.i086PV7E018724@gw.catspoiler.org>
In-Reply-To: <200401080622.i086MFAX095815@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On  7 Jan, To: src-committers@FreeBSD.org wrote:
> truckman    2004/01/07 22:22:15 PST
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/pci              if_dc.c if_dcreg.h 
>   Log:
>   The transmit frame status is stored in the last transmit descriptor for the
>   frame, not the first.  It is probably also not safe to free the mbuf chain
>   as soon as the OWN bit is cleared on the first descriptor since the chip
>   may not be done copying the frame into the transmit FIFO.  Revert the part of
>   of busdma conversion (if_dc.c rev 1.115) which changed dc_txeof() to look for
>   the status in the first descriptor and free the mbuf chain when processing
>   the first descriptor for the frame, and revert the matching changes elsewhere
>   in the driver.  This part of the busdma change caused the driver to report
>   spurious collisions and output errors, even when running in full-duplex mode.
>   Reverting the mbuf chain handling slightly complicates dc_dma_map_txbuf(),
>   since it is responsible for setting the OWN bits on the descriptors, but does
>   not normally have direct access to the mbuf chain.
>   
>   Tested by:
>     Dejan Lesjak <dejan.lesjak at ijs.si>  alpha/<Intel 21143 10/100BaseTX>
>     "Xin LI" <delphij at frontfree.net>    i386/<Macronix 98713 10/100BaseTX>
>     Wiktor Niesiobedzki <bsd at w.evip.pl> i386/<3Com OfficeConnect 10/100B>
>   
>   Reviewed by:    mux
>   
>   Revision  Changes    Path
>   1.138     +4 -3      src/sys/pci/if_dc.c
>   1.41      +1 -0      src/sys/pci/if_dcreg.h

This may be a good candidate for 5.2.  I've gotten expressions of
interest in having this fixed for the release.



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