summaryrefslogtreecommitdiff
path: root/drivers/staging/cw1200/queue.h
diff options
context:
space:
mode:
authorDmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>2011-08-22 07:52:54 +0200
committerPhilippe Langlais <philippe.langlais@linaro.org>2012-03-19 09:01:52 +0100
commitf7a2b7f398b55678172679b14be1014543b6ae08 (patch)
tree444ecd483bcc3dc45490af5f6dc44ba8697c0e16 /drivers/staging/cw1200/queue.h
parentdd24d30d6f64d4b0896304ac491eca62c27359ae (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.h11
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 */