summaryrefslogtreecommitdiffstats
path: root/sys/compat/ndis/ndis_var.h
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2004-01-09 06:53:49 +0000
committerwpaul <wpaul@FreeBSD.org>2004-01-09 06:53:49 +0000
commit1d43d52f79cad462e21256035e4900d91531600a (patch)
treec1685459398a5b77abead4f6bc795a0c457d1d40 /sys/compat/ndis/ndis_var.h
parentb676d86e23eec800e52a40be2803231c60b1e57f (diff)
downloadFreeBSD-src-1d43d52f79cad462e21256035e4900d91531600a.zip
FreeBSD-src-1d43d52f79cad462e21256035e4900d91531600a.tar.gz
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.
Diffstat (limited to 'sys/compat/ndis/ndis_var.h')
-rw-r--r--sys/compat/ndis/ndis_var.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/compat/ndis/ndis_var.h b/sys/compat/ndis/ndis_var.h
index 2f37322..a0bb5d0 100644
--- a/sys/compat/ndis/ndis_var.h
+++ b/sys/compat/ndis/ndis_var.h
@@ -919,6 +919,10 @@ struct ndis_packet_private {
#define NDIS_FLAGS_SENT_AT_DPC 0x00001000
#define NDIS_FLAGS_USES_SG_BUFFER_LIST 0x00002000
+#define NDIS_PACKET_WRAPPER_RESERVED 0x3F
+#define NDIS_PACKET_CONTAINS_MEDIA_SPECIFIC_INFO 0x40
+#define NDIS_PACKET_ALLOCATED_BY_NDIS 0x80
+
#define NDIS_PROTOCOL_ID_DEFAULT 0x00
#define NDIS_PROTOCOL_ID_TCP_IP 0x02
#define NDIS_PROTOCOL_ID_IPX 0x06
OpenPOWER on IntegriCloud