--- /dev/null
+diff -ruN madwifi-ng-r1451-20060212/net80211/ieee80211_monitor.c madwifi-ng-r1451-20060212-patch/net80211/ieee80211_monitor.c
+--- madwifi-ng-r1451-20060212/net80211/ieee80211_monitor.c 2006-02-01 15:07:11.000000000 -0500
++++ madwifi-ng-r1451-20060212-patch/net80211/ieee80211_monitor.c 2006-02-21 02:42:30.000000000 -0500
+@@ -296,7 +296,7 @@
+ sizeof(struct ath_tx_radiotap_header));
+ memset(th, 0, sizeof(struct ath_tx_radiotap_header));
+ th->wt_ihdr.it_version = 0;
+- th->wt_ihdr.it_len = sizeof(struct ath_tx_radiotap_header);
++ th->wt_ihdr.it_len = __constant_cpu_to_le16(sizeof(struct ath_tx_radiotap_header));
+ th->wt_ihdr.it_present = ATH_TX_RADIOTAP_PRESENT;
+ th->wt_flags = 0;
+ th->wt_rate = rate;
+@@ -315,7 +315,7 @@
+ sizeof(struct ath_rx_radiotap_header));
+ memset(th, 0, sizeof(struct ath_rx_radiotap_header));
+ th->wr_ihdr.it_version = 0;
+- th->wr_ihdr.it_len = sizeof(struct ath_rx_radiotap_header);
++ th->wr_ihdr.it_len = __constant_cpu_to_le16(sizeof(struct ath_tx_radiotap_header));
+ th->wr_ihdr.it_present = ATH_RX_RADIOTAP_PRESENT;
+ th->wr_flags = 0;
+ th->wr_rate = rate;