From owner-cvs-src@FreeBSD.ORG Thu Jan 8 22:53:51 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F397916A4CE; Thu, 8 Jan 2004 22:53:50 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2006243D4C; Thu, 8 Jan 2004 22:53:50 -0800 (PST) (envelope-from wpaul@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i096rn0B057031; Thu, 8 Jan 2004 22:53:49 -0800 (PST) (envelope-from wpaul@repoman.freebsd.org) Received: (from wpaul@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i096rnI6057030; Thu, 8 Jan 2004 22:53:49 -0800 (PST) (envelope-from wpaul) Message-Id: <200401090653.i096rnI6057030@repoman.freebsd.org> From: Bill Paul Date: Thu, 8 Jan 2004 22:53:49 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/compat/ndis kern_ndis.c ndis_var.h subr_ndis.c src/sys/dev/if_ndis if_ndis.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jan 2004 06:53:51 -0000 wpaul 2004/01/08 22:53:49 PST FreeBSD src repository Modified files: sys/compat/ndis kern_ndis.c ndis_var.h subr_ndis.c sys/dev/if_ndis if_ndis.c Log: The private data section of ndis_packets has a 'packet flags' byte which has two important flags in it: the 'allocated by NDIS' flag and the 'media specific info present' flag. There are two Windows macros for getting/setting media specific info fields within the ndis_packet structure which can behave improperly if these flags are not initialized correctly when a packet is allocated. It seems the correct thing to do is always set the NDIS_PACKET_ALLOCATED_BY_NDIS flag on all newly allocated packets. This fixes the crashes with the Intel Centrino wireless driver. My sample card now seems to work correctly. Also, fix a potential LOR involving ndis_txeof() in if_ndis.c. Revision Changes Path 1.25 +1 -0 src/sys/compat/ndis/kern_ndis.c 1.14 +4 -0 src/sys/compat/ndis/ndis_var.h 1.32 +7 -0 src/sys/compat/ndis/subr_ndis.c 1.25 +2 -4 src/sys/dev/if_ndis/if_ndis.c