]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r214160,214162,214236
authorbschmidt <bschmidt@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 1 Nov 2010 19:05:38 +0000 (19:05 +0000)
committerbschmidt <bschmidt@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 1 Nov 2010 19:05:38 +0000 (19:05 +0000)
commit8fe75d1395cad9236a6de67429990d978d744159
treec6df1bc39f1f4b84b6d7083b3c1592b345edab56
parent02de8b3608ad1ea292b2fc3dade9f74b5b18111b
MFC r214160,214162,214236

r214236 & r214160:
The firmware does pad notifications to an even number of bytes (at least
the association notification), the included information though always
contains an elem block with an odd number of bytes. We handle the last
byte as if it might contain a whole elem block, this of course is not
true as one byte is not enough to hold a block, we therefore discard the
complete frame. The solution here is to subtract one from the actual
notification length, this is also what the Linux driver does. With this
change the frame ends exactly where the last elem block ends.

r214262:
The firmware always sets bit 14 and 15, to get the real associd we need
to clear those bits.

git-svn-id: svn://svn.freebsd.org/base/stable/8@214633 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/iwi/if_iwi.c