Subject: CVS commit: src/sys/dev/ic
To: None <source-changes@netbsd.org>
From: None <dyoung@netbsd.org>
List: source-changes
Date: 01/09/2003 10:49:41
Module Name: src
Committed By: dyoung
Date: Thu Jan 9 08:49:41 UTC 2003
Modified Files:
src/sys/dev/ic: wi.c wivar.h
Log Message:
wi_start: write an mbuf chain to the driver using wi_mwrite_bap,
which is safer than the loop there used to be here.
wi_mwrite_bap: if wi_write_bap fails, don't keep on going: this
way you avoid writing garbage to the radio. First time you see
an odd-length mbuf, copy the remainder of the chain to sc_txbuf
and from there to the MAC. This way, you do not read an mbuf past
the end of its data (occasionally you will cross a page doing
that!) and you avoid expensive, excess seeks in the radio's own
buffer chain.
wi_rx_intr: clamp the frame length told to us by the driver to the
most bytes we can fit in our mbuf cluster.
I am still getting e-mails from my testers telling me how much
better this makes things.
To generate a diff of this commit:
cvs rdiff -r1.107 -r1.108 src/sys/dev/ic/wi.c
cvs rdiff -r1.27 -r1.28 src/sys/dev/ic/wivar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.