-+#define SET_TSINFO_TYPE(i, d) (i.short1 |= (d << 0) & 0x0001)
-+#define SET_TSINFO_TSID(i, d) (i.short1 |= (d << 1) & 0x001E)
-+#define SET_TSINFO_DIR(i, d) (i.short1 |= (d << 5) & 0x0060)
-+#define SET_TSINFO_POLICY(i, d) (i.short1 |= (d << 7) & 0x0180)
-+#define SET_TSINFO_AGG(i, d) (i.short1 |= (d << 9) & 0x0200)
-+#define SET_TSINFO_APSD(i, d) (i.short1 |= (d << 10) & 0x0400)
-+#define SET_TSINFO_UP(i, d) (i.short1 |= (d << 11) & 0x3800)
-+#define SET_TSINFO_ACK(i, d) (i.short1 |= (d << 14) & 0xC000)
-+#define SET_TSINFO_SCHEDULE(i, d) (i.byte3 |= (d << 0) & 0x01)
++#define IEEE80211_SET_TSINFO_TYPE(i, d) (i.byte1 |= (d << 0) & 0x01)
++#define IEEE80211_SET_TSINFO_TSID(i, d) (i.byte1 |= (d << 1) & 0x1E)
++#define IEEE80211_SET_TSINFO_DIR(i, d) (i.byte1 |= (d << 5) & 0x60)
++#define IEEE80211_SET_TSINFO_POLICY(i, d) \
++do { \
++ i.byte1 |= (d & 0x01) << 7; \
++ i.byte2 |= (d & 0x02) >> 1; \
++} while(0)
++#define IEEE80211_SET_TSINFO_AGG(i, d) (i.byte2 |= (d << 1) & 0x02)
++#define IEEE80211_SET_TSINFO_APSD(i, d) (i.byte2 |= (d << 2) & 0x04)
++#define IEEE80211_SET_TSINFO_UP(i, d) (i.byte2 |= (d << 3) & 0x38)
++#define IEEE80211_SET_TSINFO_ACK(i, d) (i.byte2 |= (d << 6) & 0xC0)
++#define IEEE80211_SET_TSINFO_SCHEDULE(i, d) (i.byte3 |= (d << 0) & 0x01)