staging: rtl8192u: remove unused define USB_RX_AGGREGATION_SUPPORT
Also remove related unreachable code. Signed-off-by: Antoine Schweitzer-Chaput <antoine@schweitzer-chaput.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e3e289658a
commit
a49332ebce
|
@ -6,7 +6,6 @@ ccflags-y += -O2
|
||||||
ccflags-y += -DCONFIG_FORCE_HARD_FLOAT=y
|
ccflags-y += -DCONFIG_FORCE_HARD_FLOAT=y
|
||||||
ccflags-y += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX
|
ccflags-y += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX
|
||||||
ccflags-y += -DTHOMAS_BEACON -DTHOMAS_TASKLET -DTHOMAS_SKB -DTHOMAS_TURBO
|
ccflags-y += -DTHOMAS_BEACON -DTHOMAS_TASKLET -DTHOMAS_SKB -DTHOMAS_TURBO
|
||||||
#ccflags-y += -DUSB_RX_AGGREGATION_SUPPORT
|
|
||||||
ccflags-y += -Idrivers/staging/rtl8192u/ieee80211
|
ccflags-y += -Idrivers/staging/rtl8192u/ieee80211
|
||||||
|
|
||||||
r8192u_usb-y := r8192U_core.o r8180_93cx6.o r8192U_wx.o \
|
r8192u_usb-y := r8192U_core.o r8180_93cx6.o r8192U_wx.o \
|
||||||
|
|
|
@ -715,12 +715,6 @@ static void rtl8192_rx_isr(struct urb *urb);
|
||||||
static u32 get_rxpacket_shiftbytes_819xusb(struct ieee80211_rx_stats *pstats)
|
static u32 get_rxpacket_shiftbytes_819xusb(struct ieee80211_rx_stats *pstats)
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef USB_RX_AGGREGATION_SUPPORT
|
|
||||||
if (pstats->bisrxaggrsubframe)
|
|
||||||
return (sizeof(rx_desc_819x_usb) + pstats->RxDrvInfoSize
|
|
||||||
+ pstats->RxBufShift + 8);
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
return (sizeof(rx_desc_819x_usb) + pstats->RxDrvInfoSize
|
return (sizeof(rx_desc_819x_usb) + pstats->RxDrvInfoSize
|
||||||
+ pstats->RxBufShift);
|
+ pstats->RxBufShift);
|
||||||
|
|
||||||
|
@ -2796,22 +2790,6 @@ static bool rtl8192_adapter_start(struct net_device *dev)
|
||||||
for (i = 0; i < QOS_QUEUE_NUM; i++)
|
for (i = 0; i < QOS_QUEUE_NUM; i++)
|
||||||
write_nic_dword(dev, WDCAPARA_ADD[i], DEFAULT_EDCA);
|
write_nic_dword(dev, WDCAPARA_ADD[i], DEFAULT_EDCA);
|
||||||
}
|
}
|
||||||
#ifdef USB_RX_AGGREGATION_SUPPORT
|
|
||||||
//3 For usb rx firmware aggregation control
|
|
||||||
if (priv->ResetProgress == RESET_TYPE_NORESET) {
|
|
||||||
u32 ulValue;
|
|
||||||
PRT_HIGH_THROUGHPUT pHTInfo = priv->ieee80211->pHTInfo;
|
|
||||||
ulValue = (pHTInfo->UsbRxFwAggrEn<<24) | (pHTInfo->UsbRxFwAggrPageNum<<16) |
|
|
||||||
(pHTInfo->UsbRxFwAggrPacketNum<<8) | (pHTInfo->UsbRxFwAggrTimeout);
|
|
||||||
/*
|
|
||||||
* If usb rx firmware aggregation is enabled,
|
|
||||||
* when anyone of three threshold conditions above is reached,
|
|
||||||
* firmware will send aggregated packet to driver.
|
|
||||||
*/
|
|
||||||
write_nic_dword(dev, 0x1a8, ulValue);
|
|
||||||
priv->bCurrentRxAggrEnable = true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
rtl8192_phy_configmac(dev);
|
rtl8192_phy_configmac(dev);
|
||||||
|
|
||||||
|
@ -4497,19 +4475,6 @@ static void query_rxdesc_status(struct sk_buff *skb,
|
||||||
//
|
//
|
||||||
//Get Rx Descriptor Information
|
//Get Rx Descriptor Information
|
||||||
//
|
//
|
||||||
#ifdef USB_RX_AGGREGATION_SUPPORT
|
|
||||||
if (bIsRxAggrSubframe) {
|
|
||||||
rx_desc_819x_usb_aggr_subframe *desc = (rx_desc_819x_usb_aggr_subframe *)skb->data;
|
|
||||||
stats->Length = desc->Length;
|
|
||||||
stats->RxDrvInfoSize = desc->RxDrvInfoSize;
|
|
||||||
stats->RxBufShift = 0; //RxBufShift = 2 in RxDesc, but usb didn't shift bytes in fact.
|
|
||||||
stats->bICV = desc->ICV;
|
|
||||||
stats->bCRC = desc->CRC32;
|
|
||||||
stats->bHwError = stats->bCRC|stats->bICV;
|
|
||||||
stats->Decrypted = !desc->SWDec;//RTL8190 set this bit to indicate that Hw does not decrypt packet
|
|
||||||
} else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
rx_desc_819x_usb *desc = (rx_desc_819x_usb *)skb->data;
|
rx_desc_819x_usb *desc = (rx_desc_819x_usb *)skb->data;
|
||||||
|
|
||||||
stats->Length = desc->Length;
|
stats->Length = desc->Length;
|
||||||
|
@ -4518,9 +4483,8 @@ static void query_rxdesc_status(struct sk_buff *skb,
|
||||||
stats->bICV = desc->ICV;
|
stats->bICV = desc->ICV;
|
||||||
stats->bCRC = desc->CRC32;
|
stats->bCRC = desc->CRC32;
|
||||||
stats->bHwError = stats->bCRC|stats->bICV;
|
stats->bHwError = stats->bCRC|stats->bICV;
|
||||||
//RTL8190 set this bit to indicate that Hw does not decrypt packet
|
/* RTL8190 set this bit to indicate that Hw does not decrypt packet */
|
||||||
stats->Decrypted = !desc->SWDec;
|
stats->Decrypted = !desc->SWDec;
|
||||||
}
|
|
||||||
|
|
||||||
if ((priv->ieee80211->pHTInfo->bCurrentHTSupport == true) && (priv->ieee80211->pairwise_key_type == KEY_TYPE_CCMP))
|
if ((priv->ieee80211->pHTInfo->bCurrentHTSupport == true) && (priv->ieee80211->pairwise_key_type == KEY_TYPE_CCMP))
|
||||||
stats->bHwError = false;
|
stats->bHwError = false;
|
||||||
|
@ -4585,11 +4549,6 @@ static void query_rxdesc_status(struct sk_buff *skb,
|
||||||
skb_pull(skb, stats->RxBufShift + stats->RxDrvInfoSize);
|
skb_pull(skb, stats->RxBufShift + stats->RxDrvInfoSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USB_RX_AGGREGATION_SUPPORT
|
|
||||||
/* for the rx aggregated sub frame, the redundant space truly contained in the packet */
|
|
||||||
if (bIsRxAggrSubframe)
|
|
||||||
skb_pull(skb, 8);
|
|
||||||
#endif
|
|
||||||
/* for debug 2008.5.29 */
|
/* for debug 2008.5.29 */
|
||||||
|
|
||||||
//added by vivi, for MP, 20080108
|
//added by vivi, for MP, 20080108
|
||||||
|
@ -4599,18 +4558,6 @@ static void query_rxdesc_status(struct sk_buff *skb,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 GetRxPacketShiftBytes819xUsb(struct ieee80211_rx_stats *Status, bool bIsRxAggrSubframe)
|
|
||||||
{
|
|
||||||
#ifdef USB_RX_AGGREGATION_SUPPORT
|
|
||||||
if (bIsRxAggrSubframe)
|
|
||||||
return (sizeof(rx_desc_819x_usb) + Status->RxDrvInfoSize
|
|
||||||
+ Status->RxBufShift + 8);
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
return (sizeof(rx_desc_819x_usb) + Status->RxDrvInfoSize
|
|
||||||
+ Status->RxBufShift);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void rtl8192_rx_nomal(struct sk_buff *skb)
|
static void rtl8192_rx_nomal(struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
rtl8192_rx_info *info = (struct rtl8192_rx_info *)skb->cb;
|
rtl8192_rx_info *info = (struct rtl8192_rx_info *)skb->cb;
|
||||||
|
@ -4625,42 +4572,13 @@ static void rtl8192_rx_nomal(struct sk_buff *skb)
|
||||||
u32 rx_pkt_len = 0;
|
u32 rx_pkt_len = 0;
|
||||||
struct ieee80211_hdr_1addr *ieee80211_hdr = NULL;
|
struct ieee80211_hdr_1addr *ieee80211_hdr = NULL;
|
||||||
bool unicast_packet = false;
|
bool unicast_packet = false;
|
||||||
#ifdef USB_RX_AGGREGATION_SUPPORT
|
|
||||||
struct sk_buff *agg_skb = NULL;
|
|
||||||
u32 TotalLength = 0;
|
|
||||||
u32 TempDWord = 0;
|
|
||||||
u32 PacketLength = 0;
|
|
||||||
u32 PacketOccupiedLendth = 0;
|
|
||||||
u8 TempByte = 0;
|
|
||||||
u32 PacketShiftBytes = 0;
|
|
||||||
rx_desc_819x_usb_aggr_subframe *RxDescr = NULL;
|
|
||||||
u8 PaddingBytes = 0;
|
|
||||||
//add just for testing
|
|
||||||
u8 testing;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* 20 is for ps-poll */
|
/* 20 is for ps-poll */
|
||||||
if ((skb->len >= (20 + sizeof(rx_desc_819x_usb))) && (skb->len < RX_URB_SIZE)) {
|
if ((skb->len >= (20 + sizeof(rx_desc_819x_usb))) && (skb->len < RX_URB_SIZE)) {
|
||||||
#ifdef USB_RX_AGGREGATION_SUPPORT
|
|
||||||
TempByte = *(skb->data + sizeof(rx_desc_819x_usb));
|
|
||||||
#endif
|
|
||||||
/* first packet should not contain Rx aggregation header */
|
/* first packet should not contain Rx aggregation header */
|
||||||
query_rxdesc_status(skb, &stats, false);
|
query_rxdesc_status(skb, &stats, false);
|
||||||
/* TODO */
|
/* TODO */
|
||||||
/* hardware related info */
|
/* hardware related info */
|
||||||
#ifdef USB_RX_AGGREGATION_SUPPORT
|
|
||||||
if (TempByte & BIT0) {
|
|
||||||
agg_skb = skb;
|
|
||||||
TotalLength = stats.Length - 4; /*sCrcLng*/
|
|
||||||
/* though the head pointer has passed this position */
|
|
||||||
TempDWord = *(u32 *)(agg_skb->data - 4);
|
|
||||||
PacketLength = (u16)(TempDWord & 0x3FFF); /*sCrcLng*/
|
|
||||||
skb = dev_alloc_skb(PacketLength);
|
|
||||||
memcpy(skb_put(skb, PacketLength), agg_skb->data, PacketLength);
|
|
||||||
PacketShiftBytes = GetRxPacketShiftBytes819xUsb(&stats, false);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
/* Process the MPDU received */
|
/* Process the MPDU received */
|
||||||
skb_trim(skb, skb->len - 4/*sCrcLng*/);
|
skb_trim(skb, skb->len - 4/*sCrcLng*/);
|
||||||
|
|
||||||
|
@ -4683,76 +4601,6 @@ static void rtl8192_rx_nomal(struct sk_buff *skb)
|
||||||
if (unicast_packet)
|
if (unicast_packet)
|
||||||
priv->stats.rxbytesunicast += rx_pkt_len;
|
priv->stats.rxbytesunicast += rx_pkt_len;
|
||||||
}
|
}
|
||||||
#ifdef USB_RX_AGGREGATION_SUPPORT
|
|
||||||
testing = 1;
|
|
||||||
if (TotalLength > 0) {
|
|
||||||
PacketOccupiedLendth = PacketLength + (PacketShiftBytes + 8);
|
|
||||||
if ((PacketOccupiedLendth & 0xFF) != 0)
|
|
||||||
PacketOccupiedLendth = (PacketOccupiedLendth & 0xFFFFFF00) + 256;
|
|
||||||
PacketOccupiedLendth -= 8;
|
|
||||||
TempDWord = PacketOccupiedLendth - PacketShiftBytes; /*- PacketLength */
|
|
||||||
if (agg_skb->len > TempDWord)
|
|
||||||
skb_pull(agg_skb, TempDWord);
|
|
||||||
else
|
|
||||||
agg_skb->len = 0;
|
|
||||||
|
|
||||||
while (agg_skb->len >= GetRxPacketShiftBytes819xUsb(&stats, true)) {
|
|
||||||
u8 tmpCRC = 0, tmpICV = 0;
|
|
||||||
RxDescr = (rx_desc_819x_usb_aggr_subframe *)(agg_skb->data);
|
|
||||||
tmpCRC = RxDescr->CRC32;
|
|
||||||
tmpICV = RxDescr->ICV;
|
|
||||||
memcpy(agg_skb->data, &agg_skb->data[44], 2);
|
|
||||||
RxDescr->CRC32 = tmpCRC;
|
|
||||||
RxDescr->ICV = tmpICV;
|
|
||||||
|
|
||||||
memset(&stats, 0, sizeof(struct ieee80211_rx_stats));
|
|
||||||
stats.signal = 0;
|
|
||||||
stats.noise = -98;
|
|
||||||
stats.rate = 0;
|
|
||||||
stats.freq = IEEE80211_24GHZ_BAND;
|
|
||||||
query_rxdesc_status(agg_skb, &stats, true);
|
|
||||||
PacketLength = stats.Length;
|
|
||||||
|
|
||||||
if (PacketLength > agg_skb->len)
|
|
||||||
break;
|
|
||||||
/* Process the MPDU received */
|
|
||||||
skb = dev_alloc_skb(PacketLength);
|
|
||||||
memcpy(skb_put(skb, PacketLength), agg_skb->data, PacketLength);
|
|
||||||
skb_trim(skb, skb->len - 4/*sCrcLng*/);
|
|
||||||
|
|
||||||
rx_pkt_len = skb->len;
|
|
||||||
ieee80211_hdr = (struct ieee80211_hdr_1addr *)skb->data;
|
|
||||||
unicast_packet = false;
|
|
||||||
if (is_broadcast_ether_addr(ieee80211_hdr->addr1)) {
|
|
||||||
//TODO
|
|
||||||
} else if (is_multicast_ether_addr(ieee80211_hdr->addr1)) {
|
|
||||||
//TODO
|
|
||||||
} else {
|
|
||||||
/* unicast packet */
|
|
||||||
unicast_packet = true;
|
|
||||||
}
|
|
||||||
if (!ieee80211_rx(priv->ieee80211, skb, &stats)) {
|
|
||||||
dev_kfree_skb_any(skb);
|
|
||||||
} else {
|
|
||||||
priv->stats.rxoktotal++;
|
|
||||||
if (unicast_packet)
|
|
||||||
priv->stats.rxbytesunicast += rx_pkt_len;
|
|
||||||
}
|
|
||||||
/* should trim the packet which has been copied to target skb */
|
|
||||||
skb_pull(agg_skb, PacketLength);
|
|
||||||
PacketShiftBytes = GetRxPacketShiftBytes819xUsb(&stats, true);
|
|
||||||
PacketOccupiedLendth = PacketLength + PacketShiftBytes;
|
|
||||||
if ((PacketOccupiedLendth & 0xFF) != 0) {
|
|
||||||
PaddingBytes = 256 - (PacketOccupiedLendth & 0xFF);
|
|
||||||
if (agg_skb->len > PaddingBytes)
|
|
||||||
skb_pull(agg_skb, PaddingBytes);
|
|
||||||
else
|
|
||||||
agg_skb->len = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dev_kfree_skb(agg_skb);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
priv->stats.rxurberr++;
|
priv->stats.rxurberr++;
|
||||||
netdev_dbg(dev, "actual_length: %d\n", skb->len);
|
netdev_dbg(dev, "actual_length: %d\n", skb->len);
|
||||||
|
|
Loading…
Reference in New Issue