| .. | .. |
|---|
| 203 | 203 | __le16 sequence; |
|---|
| 204 | 204 | |
|---|
| 205 | 205 | /* command or response/notification data follows immediately */ |
|---|
| 206 | | - u8 data[0]; |
|---|
| 206 | + u8 data[]; |
|---|
| 207 | 207 | } __packed; |
|---|
| 208 | 208 | |
|---|
| 209 | 209 | /** |
|---|
| .. | .. |
|---|
| 1112 | 1112 | u8 global_key_type; |
|---|
| 1113 | 1113 | u8 flags; |
|---|
| 1114 | 1114 | u8 reserved; |
|---|
| 1115 | | - struct il_wep_key key[0]; |
|---|
| 1115 | + struct il_wep_key key[]; |
|---|
| 1116 | 1116 | } __packed; |
|---|
| 1117 | 1117 | |
|---|
| 1118 | 1118 | #define WEP_KEY_WEP_TYPE 1 |
|---|
| .. | .. |
|---|
| 1166 | 1166 | u8 agc; |
|---|
| 1167 | 1167 | __le16 sig_avg; |
|---|
| 1168 | 1168 | __le16 noise_diff; |
|---|
| 1169 | | - u8 payload[0]; |
|---|
| 1169 | + u8 payload[]; |
|---|
| 1170 | 1170 | } __packed; |
|---|
| 1171 | 1171 | |
|---|
| 1172 | 1172 | struct il3945_rx_frame_hdr { |
|---|
| .. | .. |
|---|
| 1175 | 1175 | u8 reserved1; |
|---|
| 1176 | 1176 | u8 rate; |
|---|
| 1177 | 1177 | __le16 len; |
|---|
| 1178 | | - u8 payload[0]; |
|---|
| 1178 | + u8 payload[]; |
|---|
| 1179 | 1179 | } __packed; |
|---|
| 1180 | 1180 | |
|---|
| 1181 | 1181 | struct il3945_rx_frame_end { |
|---|
| .. | .. |
|---|
| 1211 | 1211 | __le16 ant_selection; /* ant A bit 4, ant B bit 5, ant C bit 6 */ |
|---|
| 1212 | 1212 | __le16 agc_info; /* agc code 0:6, agc dB 7:13, reserved 14:15 */ |
|---|
| 1213 | 1213 | u8 rssi_info[6]; /* we use even entries, 0/2/4 for A/B/C rssi */ |
|---|
| 1214 | | - u8 pad[0]; |
|---|
| 1214 | + u8 pad[]; |
|---|
| 1215 | 1215 | } __packed; |
|---|
| 1216 | 1216 | |
|---|
| 1217 | 1217 | /* |
|---|
| .. | .. |
|---|
| 1409 | 1409 | * length is 26 or 30 bytes, followed by payload data |
|---|
| 1410 | 1410 | */ |
|---|
| 1411 | 1411 | u8 payload[0]; |
|---|
| 1412 | | - struct ieee80211_hdr hdr[0]; |
|---|
| 1412 | + struct ieee80211_hdr hdr[]; |
|---|
| 1413 | 1413 | } __packed; |
|---|
| 1414 | 1414 | |
|---|
| 1415 | 1415 | /* |
|---|
| .. | .. |
|---|
| 1511 | 1511 | * length is 26 or 30 bytes, followed by payload data |
|---|
| 1512 | 1512 | */ |
|---|
| 1513 | 1513 | u8 payload[0]; |
|---|
| 1514 | | - struct ieee80211_hdr hdr[0]; |
|---|
| 1514 | + struct ieee80211_hdr hdr[]; |
|---|
| 1515 | 1515 | } __packed; |
|---|
| 1516 | 1516 | |
|---|
| 1517 | 1517 | /* TX command response is sent after *3945* transmission attempts. |
|---|
| .. | .. |
|---|
| 2520 | 2520 | * for one scan to complete (i.e. receive N_SCAN_COMPLETE) |
|---|
| 2521 | 2521 | * before requesting another scan. |
|---|
| 2522 | 2522 | */ |
|---|
| 2523 | | - u8 data[0]; |
|---|
| 2523 | + u8 data[]; |
|---|
| 2524 | 2524 | } __packed; |
|---|
| 2525 | 2525 | |
|---|
| 2526 | 2526 | struct il_scan_cmd { |
|---|
| .. | .. |
|---|
| 2564 | 2564 | * for one scan to complete (i.e. receive N_SCAN_COMPLETE) |
|---|
| 2565 | 2565 | * before requesting another scan. |
|---|
| 2566 | 2566 | */ |
|---|
| 2567 | | - u8 data[0]; |
|---|
| 2567 | + u8 data[]; |
|---|
| 2568 | 2568 | } __packed; |
|---|
| 2569 | 2569 | |
|---|
| 2570 | 2570 | /* Can abort will notify by complete notification with abort status. */ |
|---|
| .. | .. |
|---|
| 2664 | 2664 | __le16 tim_idx; |
|---|
| 2665 | 2665 | u8 tim_size; |
|---|
| 2666 | 2666 | u8 reserved1; |
|---|
| 2667 | | - struct ieee80211_hdr frame[0]; /* beacon frame */ |
|---|
| 2667 | + struct ieee80211_hdr frame[]; /* beacon frame */ |
|---|
| 2668 | 2668 | } __packed; |
|---|
| 2669 | 2669 | |
|---|
| 2670 | 2670 | struct il_tx_beacon_cmd { |
|---|
| .. | .. |
|---|
| 2672 | 2672 | __le16 tim_idx; |
|---|
| 2673 | 2673 | u8 tim_size; |
|---|
| 2674 | 2674 | u8 reserved1; |
|---|
| 2675 | | - struct ieee80211_hdr frame[0]; /* beacon frame */ |
|---|
| 2675 | + struct ieee80211_hdr frame[]; /* beacon frame */ |
|---|
| 2676 | 2676 | } __packed; |
|---|
| 2677 | 2677 | |
|---|
| 2678 | 2678 | /****************************************************************************** |
|---|