From e5fdb889db8f575a311f65a0d5dee2f60e2f2132 Mon Sep 17 00:00:00 2001 From: Florian Schilhabel Date: Thu, 15 Jul 2010 19:03:38 +0200 Subject: [PATCH] --- yaml --- r: 205935 b: refs/heads/master c: ab81f74e4a99623f34361043d68741fcd16068c2 h: refs/heads/master i: 205933: 4bee2b0bd4a4d4539191b348ce4c99fd227ca6c4 205931: f0b11efe9b7cc1d53b15570336f807827686922e 205927: 44def04785990e8b9778b58adce5a705339838ec 205919: 0db1355df99065a77092fb24faf1a7caecd80469 v: v3 --- [refs] | 2 +- .../rtl8192su/ieee80211/ieee80211_softmac.c | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index e64cbc5fd92f..b62844f295b1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e2e864931880d29551288a73fa243dfa5d56af88 +refs/heads/master: ab81f74e4a99623f34361043d68741fcd16068c2 diff --git a/trunk/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c b/trunk/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c index 2a970a46eb82..ba78050b61d3 100644 --- a/trunk/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c +++ b/trunk/drivers/staging/rtl8192su/ieee80211/ieee80211_softmac.c @@ -316,16 +316,24 @@ inline void softmac_ps_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *i short single = ieee->softmac_features & IEEE_SOFTMAC_SINGLE_QUEUE; struct ieee80211_hdr_3addr *header = (struct ieee80211_hdr_3addr *) skb->data; + u16 fc,type,stype; cb_desc *tcb_desc = (cb_desc *)(skb->cb + 8); + fc = header->frame_control; + type = WLAN_FC_GET_TYPE(fc); + stype = WLAN_FC_GET_STYPE(fc); + + + if(stype != IEEE80211_STYPE_PSPOLL) tcb_desc->queue_index = MGNT_QUEUE; + else + tcb_desc->queue_index = HIGH_QUEUE; tcb_desc->data_rate = MgntQuery_MgntFrameTxRate(ieee); tcb_desc->RATRIndex = 7; tcb_desc->bTxDisableRateFallBack = 1; tcb_desc->bTxUseDriverAssingedRate = 1; - //printk("=============>%s()\n", __FUNCTION__); if(single){ - + if(!(type == IEEE80211_FTYPE_CTL)) { header->seq_ctrl = cpu_to_le16(ieee->seq_ctrl[0] << 4); if (ieee->seq_ctrl[0] == 0xFFF) @@ -333,12 +341,13 @@ inline void softmac_ps_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *i else ieee->seq_ctrl[0]++; + } /* avoid watchdog triggers */ // ieee->dev->trans_start = jiffies; ieee->softmac_data_hard_start_xmit(skb,ieee->dev,ieee->basic_rate); }else{ - + if(!(type == IEEE80211_FTYPE_CTL)) { header->seq_ctrl = cpu_to_le16(ieee->seq_ctrl[0] << 4); if (ieee->seq_ctrl[0] == 0xFFF) @@ -346,6 +355,7 @@ inline void softmac_ps_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *i else ieee->seq_ctrl[0]++; + } ieee->softmac_hard_start_xmit(skb,ieee->dev); }