Subject: CVS commit: src/sys/dev/ic
To: None <>
From: None <>
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.