From owner-cvs-src-old@FreeBSD.ORG Mon Nov 1 19:04:37 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D271F1065672 for ; Mon, 1 Nov 2010 19:04:37 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BF7CD8FC15 for ; Mon, 1 Nov 2010 19:04:37 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id oA1J4bsk098746 for ; Mon, 1 Nov 2010 19:04:37 GMT (envelope-from bschmidt@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id oA1J4bxa098745 for cvs-src-old@freebsd.org; Mon, 1 Nov 2010 19:04:37 GMT (envelope-from bschmidt@repoman.freebsd.org) Message-Id: <201011011904.oA1J4bxa098745@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to bschmidt@repoman.freebsd.org using -f From: Bernhard Schmidt Date: Mon, 1 Nov 2010 19:04:16 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_7 Subject: cvs commit: src/sys/dev/iwi if_iwi.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Nov 2010 19:04:37 -0000 bschmidt 2010-11-01 19:04:16 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/dev/iwi if_iwi.c Log: SVN rev 214632 on 2010-11-01 19:04:16Z by bschmidt 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. Revision Changes Path 1.57.2.5 +2 -2 src/sys/dev/iwi/if_iwi.c