diff options
author | Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> | 2011-08-22 07:52:54 +0200 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@linaro.org> | 2012-03-19 09:01:52 +0100 |
commit | f7a2b7f398b55678172679b14be1014543b6ae08 (patch) | |
tree | 444ecd483bcc3dc45490af5f6dc44ba8697c0e16 /drivers/staging/cw1200/queue.h | |
parent | dd24d30d6f64d4b0896304ac491eca62c27359ae (diff) |
cw1200: PM state in AP mode could be out of sync.
PM state is controlled separately by firmware and driver.
Firmware does not update own PM state when STA is removed,
so PM state of the driver and firmware could be out of sync.
The patch implements resyncronization of the PM state.
ST-Ericsson ID: 354923
Change-Id: Ie2d8f54bc9d6dc1578aead31eecdb04c9ce7505e
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29404
Reviewed-by: QABUILD
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33518
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
Diffstat (limited to 'drivers/staging/cw1200/queue.h')
-rw-r--r-- | drivers/staging/cw1200/queue.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/staging/cw1200/queue.h b/drivers/staging/cw1200/queue.h index fc5d4613efb..b28d0294d25 100644 --- a/drivers/staging/cw1200/queue.h +++ b/drivers/staging/cw1200/queue.h @@ -64,7 +64,8 @@ int cw1200_queue_put(struct cw1200_queue *queue, struct cw1200_common *cw1200, int cw1200_queue_get(struct cw1200_queue *queue, u32 link_id_map, struct wsm_tx **tx, - struct ieee80211_tx_info **tx_info); + struct ieee80211_tx_info **tx_info, + int *link_id); int cw1200_queue_requeue(struct cw1200_queue *queue, u32 packetID); int cw1200_queue_requeue_all(struct cw1200_queue *queue); int cw1200_queue_remove(struct cw1200_queue *queue, struct cw1200_common *priv, @@ -79,12 +80,14 @@ void cw1200_queue_unlock(struct cw1200_queue *queue, bool cw1200_queue_stats_is_empty(struct cw1200_queue_stats *stats, u32 link_id_map); -/* int cw1200_queue_get_stats(struct cw1200_queue *queue, -struct ieee80211_tx_queue_stats *stats); */ - static inline u8 cw1200_queue_get_queue_id(u32 packetID) { return (packetID >> 16) & 0xFF; } +static inline u8 cw1200_queue_get_generation(u32 packetID) +{ + return (packetID >> 8) & 0xFF; +} + #endif /* CW1200_QUEUE_H_INCLUDED */ |