Thread: [Madwifi-cvs] revision 2242 committed
Status: Beta
Brought to you by:
otaku
From: Pavel R. <svn...@ma...> - 2007-03-28 15:13:44
|
Project : madwifi Revision : 2242 Author : proski (Pavel Roskin) Date : 2007-03-28 17:13:37 +0200 (Wed, 28 Mar 2007) Log Message : Endianess fixes for radiotap header Affected Files: * branches/madwifi-old-openhal/ath/if_ath.c updated * branches/madwifi-old-openhal/ath/if_athioctl.h updated Modified: branches/madwifi-old-openhal/ath/if_ath.c =================================================================== --- branches/madwifi-old-openhal/ath/if_ath.c 2007-03-28 15:02:01 UTC (rev 2241) +++ branches/madwifi-old-openhal/ath/if_ath.c 2007-03-28 15:13:37 UTC (rev 2242) @@ -1314,7 +1314,7 @@ { if (element > NUM_RADIOTAP_ELEMENTS) return 0; - return th->it_present & (1 << element); + return le32_to_cpu(th->it_present) & (1 << element); } static int rt_check_header(struct ieee80211_radiotap_header *th, int len) @@ -1324,7 +1324,7 @@ if (th->it_version != 0) return 0; - if (th->it_len < sizeof(struct ieee80211_radiotap_header)) + if (le16_to_cpu(th->it_len) < sizeof(struct ieee80211_radiotap_header)) return 0; for (x = 0; x < NUM_RADIOTAP_ELEMENTS; x++) { @@ -1332,10 +1332,10 @@ bytes += radiotap_elem_to_bytes[x]; } - if (th->it_len < sizeof(struct ieee80211_radiotap_header) + bytes) + if (le16_to_cpu(th->it_len) < sizeof(struct ieee80211_radiotap_header) + bytes) return 0; - if (th->it_len > len) + if (le16_to_cpu(th->it_len) > len) return 0; return 1; @@ -1462,7 +1462,7 @@ } - skb_pull(skb, th->it_len); + skb_pull(skb, le16_to_cpu(th->it_len)); } break; } @@ -3352,15 +3352,15 @@ th = (struct ath_tx_radiotap_header *) skb_push(skb, 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_present = ATH_TX_RADIOTAP_PRESENT; + th->wt_ihdr.it_len = cpu_to_le16(sizeof(struct ath_tx_radiotap_header)); + th->wt_ihdr.it_present = cpu_to_le32(ATH_TX_RADIOTAP_PRESENT); th->wt_flags = 0; th->wt_rate = sc->sc_hwmap[ds->ds_txstat.ts_rate &~ AR5K_TXSTAT_ALTRATE].ieeerate; th->wt_txpower = 0; th->wt_antenna = ds->ds_txstat.ts_antenna; th->wt_tx_flags = 0; if (ds->ds_txstat.ts_status) - th->wt_tx_flags |= IEEE80211_RADIOTAP_F_TX_FAIL; + th->wt_tx_flags |= cpu_to_le16(IEEE80211_RADIOTAP_F_TX_FAIL); th->wt_rts_retries = ds->ds_txstat.ts_shortretry; th->wt_data_retries = ds->ds_txstat.ts_longretry; @@ -3505,12 +3505,12 @@ 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_present = ATH_RX_RADIOTAP_PRESENT; + th->wr_ihdr.it_len = cpu_to_le16(sizeof(struct ath_rx_radiotap_header)); + th->wr_ihdr.it_present = cpu_to_le32(ATH_RX_RADIOTAP_PRESENT); th->wr_flags = IEEE80211_RADIOTAP_F_FCS; th->wr_rate = sc->sc_hwmap[ds->ds_rxstat.rs_rate].ieeerate; - th->wr_chan_freq = ic->ic_ibss_chan->ic_freq; - th->wr_chan_flags = ic->ic_ibss_chan->ic_flags; + th->wr_chan_freq = cpu_to_le16(ic->ic_ibss_chan->ic_freq); + th->wr_chan_flags = cpu_to_le16(ic->ic_ibss_chan->ic_flags); th->wr_antenna = ds->ds_rxstat.rs_antenna; th->wr_antsignal = ds->ds_rxstat.rs_rssi; if (ds->ds_rxstat.rs_status & AR5K_RXERR_CRC) Modified: branches/madwifi-old-openhal/ath/if_athioctl.h =================================================================== --- branches/madwifi-old-openhal/ath/if_athioctl.h 2007-03-28 15:02:01 UTC (rev 2241) +++ branches/madwifi-old-openhal/ath/if_athioctl.h 2007-03-28 15:13:37 UTC (rev 2242) @@ -137,8 +137,8 @@ struct ieee80211_radiotap_header wr_ihdr; u_int8_t wr_flags; /* XXX for padding */ u_int8_t wr_rate; - u_int16_t wr_chan_freq; - u_int16_t wr_chan_flags; + __le16 wr_chan_freq; + __le16 wr_chan_flags; u_int8_t wr_antenna; u_int8_t wr_antsignal; }; @@ -159,7 +159,7 @@ u_int8_t wt_rate; u_int8_t wt_txpower; u_int8_t wt_antenna; - u_int16_t wt_tx_flags; + __le16 wt_tx_flags; u_int8_t wt_rts_retries; u_int8_t wt_data_retries; |