Date: Mon, 2 Feb 2004 23:39:23 -0800 (PST) From: Bill Paul <wpaul@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/compat/ndis kern_ndis.c subr_ndis.c src/sys/dev/if_ndis if_ndis.c Message-ID: <200402030739.i137dNCs021236@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
wpaul 2004/02/02 23:39:23 PST FreeBSD src repository Modified files: sys/compat/ndis kern_ndis.c subr_ndis.c sys/dev/if_ndis if_ndis.c Log: Implement support for single packet sends. The Intel Centrino driver that Asus provides on its CDs has both a MiniportSend() routine and a MiniportSendPackets() function. The Microsoft NDIS docs say that if a driver has both, only the MiniportSendPackets() routine will be used. Although I think I implemented the support correctly, calling the MiniportSend() routine seems to result in no packets going out on the air, even though no error status is returned. The MiniportSendPackets() function does work though, so at least in this case it doesn't matter. In if_ndis.c:ndis_getstate_80211(), if ndis_get_assoc() returns an error, don't bother trying to obtain any other state since the calls may fail, or worse cause the underlying driver to crash. (The above two changes make the Asus-supplied Centrino work.) Also, when calling the OID_802_11_CONFIGURATION OID, remember to initialize the structure lengths correctly. In subr_ndis.c:ndis_open_file(), set the current working directory to rootvnode if we're in a thread that doesn't have a current working directory set. Revision Changes Path 1.35 +26 -0 src/sys/compat/ndis/kern_ndis.c 1.41 +10 -0 src/sys/compat/ndis/subr_ndis.c 1.40 +29 -7 src/sys/dev/if_ndis/if_ndis.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402030739.i137dNCs021236>