542-mac80211_optimize_wireless_struct.patch 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. --- a/include/linux/ieee80211.h
  2. +++ b/include/linux/ieee80211.h
  3. @@ -180,7 +180,7 @@ struct ieee80211_hdr {
  4. u8 addr3[6];
  5. __le16 seq_ctrl;
  6. u8 addr4[6];
  7. -} __packed;
  8. +} __packed __aligned(2);
  9. struct ieee80211_hdr_3addr {
  10. __le16 frame_control;
  11. @@ -189,7 +189,7 @@ struct ieee80211_hdr_3addr {
  12. u8 addr2[6];
  13. u8 addr3[6];
  14. __le16 seq_ctrl;
  15. -} __packed;
  16. +} __packed __aligned(2);
  17. struct ieee80211_qos_hdr {
  18. __le16 frame_control;
  19. @@ -199,7 +199,7 @@ struct ieee80211_qos_hdr {
  20. u8 addr3[6];
  21. __le16 seq_ctrl;
  22. __le16 qos_ctrl;
  23. -} __packed;
  24. +} __packed __aligned(2);
  25. /**
  26. * ieee80211_has_tods - check if IEEE80211_FCTL_TODS is set
  27. @@ -576,7 +576,7 @@ struct ieee80211s_hdr {
  28. __le32 seqnum;
  29. u8 eaddr1[6];
  30. u8 eaddr2[6];
  31. -} __packed;
  32. +} __packed __aligned(2);
  33. /* Mesh flags */
  34. #define MESH_FLAGS_AE_A4 0x1
  35. @@ -839,7 +839,7 @@ struct ieee80211_mgmt {
  36. } u;
  37. } __packed action;
  38. } u;
  39. -} __packed;
  40. +} __packed __aligned(2);
  41. /* Supported Rates value encodings in 802.11n-2009 7.3.2.2 */
  42. #define BSS_MEMBERSHIP_SELECTOR_HT_PHY 127
  43. @@ -870,20 +870,20 @@ struct ieee80211_rts {
  44. __le16 duration;
  45. u8 ra[6];
  46. u8 ta[6];
  47. -} __packed;
  48. +} __packed __aligned(2);
  49. struct ieee80211_cts {
  50. __le16 frame_control;
  51. __le16 duration;
  52. u8 ra[6];
  53. -} __packed;
  54. +} __packed __aligned(2);
  55. struct ieee80211_pspoll {
  56. __le16 frame_control;
  57. __le16 aid;
  58. u8 bssid[6];
  59. u8 ta[6];
  60. -} __packed;
  61. +} __packed __aligned(2);
  62. /* TDLS */