diff options
Diffstat (limited to 'drivers/net/wireless/mwl8k.c')
-rw-r--r-- | drivers/net/wireless/mwl8k.c | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c index 808adb909095..60a819107a8c 100644 --- a/drivers/net/wireless/mwl8k.c +++ b/drivers/net/wireless/mwl8k.c | |||
@@ -426,7 +426,7 @@ struct mwl8k_cmd_pkt { | |||
426 | __u8 macid; | 426 | __u8 macid; |
427 | __le16 result; | 427 | __le16 result; |
428 | char payload[0]; | 428 | char payload[0]; |
429 | } __attribute__((packed)); | 429 | } __packed; |
430 | 430 | ||
431 | /* | 431 | /* |
432 | * Firmware loading. | 432 | * Firmware loading. |
@@ -632,7 +632,7 @@ struct mwl8k_dma_data { | |||
632 | __le16 fwlen; | 632 | __le16 fwlen; |
633 | struct ieee80211_hdr wh; | 633 | struct ieee80211_hdr wh; |
634 | char data[0]; | 634 | char data[0]; |
635 | } __attribute__((packed)); | 635 | } __packed; |
636 | 636 | ||
637 | /* Routines to add/remove DMA header from skb. */ | 637 | /* Routines to add/remove DMA header from skb. */ |
638 | static inline void mwl8k_remove_dma_header(struct sk_buff *skb, __le16 qos) | 638 | static inline void mwl8k_remove_dma_header(struct sk_buff *skb, __le16 qos) |
@@ -711,7 +711,7 @@ struct mwl8k_rxd_8366_ap { | |||
711 | __u8 rx_status; | 711 | __u8 rx_status; |
712 | __u8 channel; | 712 | __u8 channel; |
713 | __u8 rx_ctrl; | 713 | __u8 rx_ctrl; |
714 | } __attribute__((packed)); | 714 | } __packed; |
715 | 715 | ||
716 | #define MWL8K_8366_AP_RATE_INFO_MCS_FORMAT 0x80 | 716 | #define MWL8K_8366_AP_RATE_INFO_MCS_FORMAT 0x80 |
717 | #define MWL8K_8366_AP_RATE_INFO_40MHZ 0x40 | 717 | #define MWL8K_8366_AP_RATE_INFO_40MHZ 0x40 |
@@ -806,7 +806,7 @@ struct mwl8k_rxd_sta { | |||
806 | __u8 rx_ctrl; | 806 | __u8 rx_ctrl; |
807 | __u8 rx_status; | 807 | __u8 rx_status; |
808 | __u8 pad2[2]; | 808 | __u8 pad2[2]; |
809 | } __attribute__((packed)); | 809 | } __packed; |
810 | 810 | ||
811 | #define MWL8K_STA_RATE_INFO_SHORTPRE 0x8000 | 811 | #define MWL8K_STA_RATE_INFO_SHORTPRE 0x8000 |
812 | #define MWL8K_STA_RATE_INFO_ANTSELECT(x) (((x) >> 11) & 0x3) | 812 | #define MWL8K_STA_RATE_INFO_ANTSELECT(x) (((x) >> 11) & 0x3) |
@@ -1120,7 +1120,7 @@ struct mwl8k_tx_desc { | |||
1120 | __le16 rate_info; | 1120 | __le16 rate_info; |
1121 | __u8 peer_id; | 1121 | __u8 peer_id; |
1122 | __u8 tx_frag_cnt; | 1122 | __u8 tx_frag_cnt; |
1123 | } __attribute__((packed)); | 1123 | } __packed; |
1124 | 1124 | ||
1125 | #define MWL8K_TX_DESCS 128 | 1125 | #define MWL8K_TX_DESCS 128 |
1126 | 1126 | ||
@@ -1666,7 +1666,7 @@ struct mwl8k_cmd_get_hw_spec_sta { | |||
1666 | __le32 caps2; | 1666 | __le32 caps2; |
1667 | __le32 num_tx_desc_per_queue; | 1667 | __le32 num_tx_desc_per_queue; |
1668 | __le32 total_rxd; | 1668 | __le32 total_rxd; |
1669 | } __attribute__((packed)); | 1669 | } __packed; |
1670 | 1670 | ||
1671 | #define MWL8K_CAP_MAX_AMSDU 0x20000000 | 1671 | #define MWL8K_CAP_MAX_AMSDU 0x20000000 |
1672 | #define MWL8K_CAP_GREENFIELD 0x08000000 | 1672 | #define MWL8K_CAP_GREENFIELD 0x08000000 |
@@ -1810,7 +1810,7 @@ struct mwl8k_cmd_get_hw_spec_ap { | |||
1810 | __le32 wcbbase1; | 1810 | __le32 wcbbase1; |
1811 | __le32 wcbbase2; | 1811 | __le32 wcbbase2; |
1812 | __le32 wcbbase3; | 1812 | __le32 wcbbase3; |
1813 | } __attribute__((packed)); | 1813 | } __packed; |
1814 | 1814 | ||
1815 | static int mwl8k_cmd_get_hw_spec_ap(struct ieee80211_hw *hw) | 1815 | static int mwl8k_cmd_get_hw_spec_ap(struct ieee80211_hw *hw) |
1816 | { | 1816 | { |
@@ -1883,7 +1883,7 @@ struct mwl8k_cmd_set_hw_spec { | |||
1883 | __le32 flags; | 1883 | __le32 flags; |
1884 | __le32 num_tx_desc_per_queue; | 1884 | __le32 num_tx_desc_per_queue; |
1885 | __le32 total_rxd; | 1885 | __le32 total_rxd; |
1886 | } __attribute__((packed)); | 1886 | } __packed; |
1887 | 1887 | ||
1888 | #define MWL8K_SET_HW_SPEC_FLAG_HOST_DECR_MGMT 0x00000080 | 1888 | #define MWL8K_SET_HW_SPEC_FLAG_HOST_DECR_MGMT 0x00000080 |
1889 | #define MWL8K_SET_HW_SPEC_FLAG_HOSTFORM_PROBERESP 0x00000020 | 1889 | #define MWL8K_SET_HW_SPEC_FLAG_HOSTFORM_PROBERESP 0x00000020 |
@@ -1985,7 +1985,7 @@ __mwl8k_cmd_mac_multicast_adr(struct ieee80211_hw *hw, int allmulti, | |||
1985 | struct mwl8k_cmd_get_stat { | 1985 | struct mwl8k_cmd_get_stat { |
1986 | struct mwl8k_cmd_pkt header; | 1986 | struct mwl8k_cmd_pkt header; |
1987 | __le32 stats[64]; | 1987 | __le32 stats[64]; |
1988 | } __attribute__((packed)); | 1988 | } __packed; |
1989 | 1989 | ||
1990 | #define MWL8K_STAT_ACK_FAILURE 9 | 1990 | #define MWL8K_STAT_ACK_FAILURE 9 |
1991 | #define MWL8K_STAT_RTS_FAILURE 12 | 1991 | #define MWL8K_STAT_RTS_FAILURE 12 |
@@ -2029,7 +2029,7 @@ struct mwl8k_cmd_radio_control { | |||
2029 | __le16 action; | 2029 | __le16 action; |
2030 | __le16 control; | 2030 | __le16 control; |
2031 | __le16 radio_on; | 2031 | __le16 radio_on; |
2032 | } __attribute__((packed)); | 2032 | } __packed; |
2033 | 2033 | ||
2034 | static int | 2034 | static int |
2035 | mwl8k_cmd_radio_control(struct ieee80211_hw *hw, bool enable, bool force) | 2035 | mwl8k_cmd_radio_control(struct ieee80211_hw *hw, bool enable, bool force) |
@@ -2092,7 +2092,7 @@ struct mwl8k_cmd_rf_tx_power { | |||
2092 | __le16 current_level; | 2092 | __le16 current_level; |
2093 | __le16 reserved; | 2093 | __le16 reserved; |
2094 | __le16 power_level_list[MWL8K_TX_POWER_LEVEL_TOTAL]; | 2094 | __le16 power_level_list[MWL8K_TX_POWER_LEVEL_TOTAL]; |
2095 | } __attribute__((packed)); | 2095 | } __packed; |
2096 | 2096 | ||
2097 | static int mwl8k_cmd_rf_tx_power(struct ieee80211_hw *hw, int dBm) | 2097 | static int mwl8k_cmd_rf_tx_power(struct ieee80211_hw *hw, int dBm) |
2098 | { | 2098 | { |
@@ -2121,7 +2121,7 @@ struct mwl8k_cmd_rf_antenna { | |||
2121 | struct mwl8k_cmd_pkt header; | 2121 | struct mwl8k_cmd_pkt header; |
2122 | __le16 antenna; | 2122 | __le16 antenna; |
2123 | __le16 mode; | 2123 | __le16 mode; |
2124 | } __attribute__((packed)); | 2124 | } __packed; |
2125 | 2125 | ||
2126 | #define MWL8K_RF_ANTENNA_RX 1 | 2126 | #define MWL8K_RF_ANTENNA_RX 1 |
2127 | #define MWL8K_RF_ANTENNA_TX 2 | 2127 | #define MWL8K_RF_ANTENNA_TX 2 |
@@ -2182,7 +2182,7 @@ static int mwl8k_cmd_set_beacon(struct ieee80211_hw *hw, | |||
2182 | */ | 2182 | */ |
2183 | struct mwl8k_cmd_set_pre_scan { | 2183 | struct mwl8k_cmd_set_pre_scan { |
2184 | struct mwl8k_cmd_pkt header; | 2184 | struct mwl8k_cmd_pkt header; |
2185 | } __attribute__((packed)); | 2185 | } __packed; |
2186 | 2186 | ||
2187 | static int mwl8k_cmd_set_pre_scan(struct ieee80211_hw *hw) | 2187 | static int mwl8k_cmd_set_pre_scan(struct ieee80211_hw *hw) |
2188 | { | 2188 | { |
@@ -2209,7 +2209,7 @@ struct mwl8k_cmd_set_post_scan { | |||
2209 | struct mwl8k_cmd_pkt header; | 2209 | struct mwl8k_cmd_pkt header; |
2210 | __le32 isibss; | 2210 | __le32 isibss; |
2211 | __u8 bssid[ETH_ALEN]; | 2211 | __u8 bssid[ETH_ALEN]; |
2212 | } __attribute__((packed)); | 2212 | } __packed; |
2213 | 2213 | ||
2214 | static int | 2214 | static int |
2215 | mwl8k_cmd_set_post_scan(struct ieee80211_hw *hw, const __u8 *mac) | 2215 | mwl8k_cmd_set_post_scan(struct ieee80211_hw *hw, const __u8 *mac) |
@@ -2240,7 +2240,7 @@ struct mwl8k_cmd_set_rf_channel { | |||
2240 | __le16 action; | 2240 | __le16 action; |
2241 | __u8 current_channel; | 2241 | __u8 current_channel; |
2242 | __le32 channel_flags; | 2242 | __le32 channel_flags; |
2243 | } __attribute__((packed)); | 2243 | } __packed; |
2244 | 2244 | ||
2245 | static int mwl8k_cmd_set_rf_channel(struct ieee80211_hw *hw, | 2245 | static int mwl8k_cmd_set_rf_channel(struct ieee80211_hw *hw, |
2246 | struct ieee80211_conf *conf) | 2246 | struct ieee80211_conf *conf) |
@@ -2293,7 +2293,7 @@ struct mwl8k_cmd_update_set_aid { | |||
2293 | __u8 bssid[ETH_ALEN]; | 2293 | __u8 bssid[ETH_ALEN]; |
2294 | __le16 protection_mode; | 2294 | __le16 protection_mode; |
2295 | __u8 supp_rates[14]; | 2295 | __u8 supp_rates[14]; |
2296 | } __attribute__((packed)); | 2296 | } __packed; |
2297 | 2297 | ||
2298 | static void legacy_rate_mask_to_array(u8 *rates, u32 mask) | 2298 | static void legacy_rate_mask_to_array(u8 *rates, u32 mask) |
2299 | { | 2299 | { |
@@ -2364,7 +2364,7 @@ struct mwl8k_cmd_set_rate { | |||
2364 | /* Bitmap for supported MCS codes. */ | 2364 | /* Bitmap for supported MCS codes. */ |
2365 | __u8 mcs_set[16]; | 2365 | __u8 mcs_set[16]; |
2366 | __u8 reserved[16]; | 2366 | __u8 reserved[16]; |
2367 | } __attribute__((packed)); | 2367 | } __packed; |
2368 | 2368 | ||
2369 | static int | 2369 | static int |
2370 | mwl8k_cmd_set_rate(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | 2370 | mwl8k_cmd_set_rate(struct ieee80211_hw *hw, struct ieee80211_vif *vif, |
@@ -2397,7 +2397,7 @@ struct mwl8k_cmd_finalize_join { | |||
2397 | struct mwl8k_cmd_pkt header; | 2397 | struct mwl8k_cmd_pkt header; |
2398 | __le32 sleep_interval; /* Number of beacon periods to sleep */ | 2398 | __le32 sleep_interval; /* Number of beacon periods to sleep */ |
2399 | __u8 beacon_data[MWL8K_FJ_BEACON_MAXLEN]; | 2399 | __u8 beacon_data[MWL8K_FJ_BEACON_MAXLEN]; |
2400 | } __attribute__((packed)); | 2400 | } __packed; |
2401 | 2401 | ||
2402 | static int mwl8k_cmd_finalize_join(struct ieee80211_hw *hw, void *frame, | 2402 | static int mwl8k_cmd_finalize_join(struct ieee80211_hw *hw, void *frame, |
2403 | int framelen, int dtim) | 2403 | int framelen, int dtim) |
@@ -2436,7 +2436,7 @@ struct mwl8k_cmd_set_rts_threshold { | |||
2436 | struct mwl8k_cmd_pkt header; | 2436 | struct mwl8k_cmd_pkt header; |
2437 | __le16 action; | 2437 | __le16 action; |
2438 | __le16 threshold; | 2438 | __le16 threshold; |
2439 | } __attribute__((packed)); | 2439 | } __packed; |
2440 | 2440 | ||
2441 | static int | 2441 | static int |
2442 | mwl8k_cmd_set_rts_threshold(struct ieee80211_hw *hw, int rts_thresh) | 2442 | mwl8k_cmd_set_rts_threshold(struct ieee80211_hw *hw, int rts_thresh) |
@@ -2466,7 +2466,7 @@ struct mwl8k_cmd_set_slot { | |||
2466 | struct mwl8k_cmd_pkt header; | 2466 | struct mwl8k_cmd_pkt header; |
2467 | __le16 action; | 2467 | __le16 action; |
2468 | __u8 short_slot; | 2468 | __u8 short_slot; |
2469 | } __attribute__((packed)); | 2469 | } __packed; |
2470 | 2470 | ||
2471 | static int mwl8k_cmd_set_slot(struct ieee80211_hw *hw, bool short_slot_time) | 2471 | static int mwl8k_cmd_set_slot(struct ieee80211_hw *hw, bool short_slot_time) |
2472 | { | 2472 | { |
@@ -2528,7 +2528,7 @@ struct mwl8k_cmd_set_edca_params { | |||
2528 | __u8 txq; | 2528 | __u8 txq; |
2529 | } sta; | 2529 | } sta; |
2530 | }; | 2530 | }; |
2531 | } __attribute__((packed)); | 2531 | } __packed; |
2532 | 2532 | ||
2533 | #define MWL8K_SET_EDCA_CW 0x01 | 2533 | #define MWL8K_SET_EDCA_CW 0x01 |
2534 | #define MWL8K_SET_EDCA_TXOP 0x02 | 2534 | #define MWL8K_SET_EDCA_TXOP 0x02 |
@@ -2579,7 +2579,7 @@ mwl8k_cmd_set_edca_params(struct ieee80211_hw *hw, __u8 qnum, | |||
2579 | struct mwl8k_cmd_set_wmm_mode { | 2579 | struct mwl8k_cmd_set_wmm_mode { |
2580 | struct mwl8k_cmd_pkt header; | 2580 | struct mwl8k_cmd_pkt header; |
2581 | __le16 action; | 2581 | __le16 action; |
2582 | } __attribute__((packed)); | 2582 | } __packed; |
2583 | 2583 | ||
2584 | static int mwl8k_cmd_set_wmm_mode(struct ieee80211_hw *hw, bool enable) | 2584 | static int mwl8k_cmd_set_wmm_mode(struct ieee80211_hw *hw, bool enable) |
2585 | { | 2585 | { |
@@ -2612,7 +2612,7 @@ struct mwl8k_cmd_mimo_config { | |||
2612 | __le32 action; | 2612 | __le32 action; |
2613 | __u8 rx_antenna_map; | 2613 | __u8 rx_antenna_map; |
2614 | __u8 tx_antenna_map; | 2614 | __u8 tx_antenna_map; |
2615 | } __attribute__((packed)); | 2615 | } __packed; |
2616 | 2616 | ||
2617 | static int mwl8k_cmd_mimo_config(struct ieee80211_hw *hw, __u8 rx, __u8 tx) | 2617 | static int mwl8k_cmd_mimo_config(struct ieee80211_hw *hw, __u8 rx, __u8 tx) |
2618 | { | 2618 | { |
@@ -2652,7 +2652,7 @@ struct mwl8k_cmd_use_fixed_rate_sta { | |||
2652 | __le32 rate_type; | 2652 | __le32 rate_type; |
2653 | __le32 reserved1; | 2653 | __le32 reserved1; |
2654 | __le32 reserved2; | 2654 | __le32 reserved2; |
2655 | } __attribute__((packed)); | 2655 | } __packed; |
2656 | 2656 | ||
2657 | #define MWL8K_USE_AUTO_RATE 0x0002 | 2657 | #define MWL8K_USE_AUTO_RATE 0x0002 |
2658 | #define MWL8K_UCAST_RATE 0 | 2658 | #define MWL8K_UCAST_RATE 0 |
@@ -2694,7 +2694,7 @@ struct mwl8k_cmd_use_fixed_rate_ap { | |||
2694 | u8 multicast_rate; | 2694 | u8 multicast_rate; |
2695 | u8 multicast_rate_type; | 2695 | u8 multicast_rate_type; |
2696 | u8 management_rate; | 2696 | u8 management_rate; |
2697 | } __attribute__((packed)); | 2697 | } __packed; |
2698 | 2698 | ||
2699 | static int | 2699 | static int |
2700 | mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt) | 2700 | mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt) |
@@ -2724,7 +2724,7 @@ mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt) | |||
2724 | struct mwl8k_cmd_enable_sniffer { | 2724 | struct mwl8k_cmd_enable_sniffer { |
2725 | struct mwl8k_cmd_pkt header; | 2725 | struct mwl8k_cmd_pkt header; |
2726 | __le32 action; | 2726 | __le32 action; |
2727 | } __attribute__((packed)); | 2727 | } __packed; |
2728 | 2728 | ||
2729 | static int mwl8k_cmd_enable_sniffer(struct ieee80211_hw *hw, bool enable) | 2729 | static int mwl8k_cmd_enable_sniffer(struct ieee80211_hw *hw, bool enable) |
2730 | { | 2730 | { |
@@ -2757,7 +2757,7 @@ struct mwl8k_cmd_set_mac_addr { | |||
2757 | } mbss; | 2757 | } mbss; |
2758 | __u8 mac_addr[ETH_ALEN]; | 2758 | __u8 mac_addr[ETH_ALEN]; |
2759 | }; | 2759 | }; |
2760 | } __attribute__((packed)); | 2760 | } __packed; |
2761 | 2761 | ||
2762 | #define MWL8K_MAC_TYPE_PRIMARY_CLIENT 0 | 2762 | #define MWL8K_MAC_TYPE_PRIMARY_CLIENT 0 |
2763 | #define MWL8K_MAC_TYPE_SECONDARY_CLIENT 1 | 2763 | #define MWL8K_MAC_TYPE_SECONDARY_CLIENT 1 |
@@ -2812,7 +2812,7 @@ struct mwl8k_cmd_set_rate_adapt_mode { | |||
2812 | struct mwl8k_cmd_pkt header; | 2812 | struct mwl8k_cmd_pkt header; |
2813 | __le16 action; | 2813 | __le16 action; |
2814 | __le16 mode; | 2814 | __le16 mode; |
2815 | } __attribute__((packed)); | 2815 | } __packed; |
2816 | 2816 | ||
2817 | static int mwl8k_cmd_set_rateadapt_mode(struct ieee80211_hw *hw, __u16 mode) | 2817 | static int mwl8k_cmd_set_rateadapt_mode(struct ieee80211_hw *hw, __u16 mode) |
2818 | { | 2818 | { |
@@ -2840,7 +2840,7 @@ static int mwl8k_cmd_set_rateadapt_mode(struct ieee80211_hw *hw, __u16 mode) | |||
2840 | struct mwl8k_cmd_bss_start { | 2840 | struct mwl8k_cmd_bss_start { |
2841 | struct mwl8k_cmd_pkt header; | 2841 | struct mwl8k_cmd_pkt header; |
2842 | __le32 enable; | 2842 | __le32 enable; |
2843 | } __attribute__((packed)); | 2843 | } __packed; |
2844 | 2844 | ||
2845 | static int mwl8k_cmd_bss_start(struct ieee80211_hw *hw, | 2845 | static int mwl8k_cmd_bss_start(struct ieee80211_hw *hw, |
2846 | struct ieee80211_vif *vif, int enable) | 2846 | struct ieee80211_vif *vif, int enable) |
@@ -2885,7 +2885,7 @@ struct mwl8k_cmd_set_new_stn { | |||
2885 | __u8 add_qos_info; | 2885 | __u8 add_qos_info; |
2886 | __u8 is_qos_sta; | 2886 | __u8 is_qos_sta; |
2887 | __le32 fw_sta_ptr; | 2887 | __le32 fw_sta_ptr; |
2888 | } __attribute__((packed)); | 2888 | } __packed; |
2889 | 2889 | ||
2890 | #define MWL8K_STA_ACTION_ADD 0 | 2890 | #define MWL8K_STA_ACTION_ADD 0 |
2891 | #define MWL8K_STA_ACTION_REMOVE 2 | 2891 | #define MWL8K_STA_ACTION_REMOVE 2 |
@@ -2978,7 +2978,7 @@ struct ewc_ht_info { | |||
2978 | __le16 control1; | 2978 | __le16 control1; |
2979 | __le16 control2; | 2979 | __le16 control2; |
2980 | __le16 control3; | 2980 | __le16 control3; |
2981 | } __attribute__((packed)); | 2981 | } __packed; |
2982 | 2982 | ||
2983 | struct peer_capability_info { | 2983 | struct peer_capability_info { |
2984 | /* Peer type - AP vs. STA. */ | 2984 | /* Peer type - AP vs. STA. */ |
@@ -3007,7 +3007,7 @@ struct peer_capability_info { | |||
3007 | __u8 pad2; | 3007 | __u8 pad2; |
3008 | __u8 station_id; | 3008 | __u8 station_id; |
3009 | __le16 amsdu_enabled; | 3009 | __le16 amsdu_enabled; |
3010 | } __attribute__((packed)); | 3010 | } __packed; |
3011 | 3011 | ||
3012 | struct mwl8k_cmd_update_stadb { | 3012 | struct mwl8k_cmd_update_stadb { |
3013 | struct mwl8k_cmd_pkt header; | 3013 | struct mwl8k_cmd_pkt header; |
@@ -3022,7 +3022,7 @@ struct mwl8k_cmd_update_stadb { | |||
3022 | 3022 | ||
3023 | /* Peer info - valid during add/update. */ | 3023 | /* Peer info - valid during add/update. */ |
3024 | struct peer_capability_info peer_info; | 3024 | struct peer_capability_info peer_info; |
3025 | } __attribute__((packed)); | 3025 | } __packed; |
3026 | 3026 | ||
3027 | #define MWL8K_STA_DB_MODIFY_ENTRY 1 | 3027 | #define MWL8K_STA_DB_MODIFY_ENTRY 1 |
3028 | #define MWL8K_STA_DB_DEL_ENTRY 2 | 3028 | #define MWL8K_STA_DB_DEL_ENTRY 2 |