diff options
author | Mike McCormack <mikem@ring3k.org> | 2011-02-06 22:55:06 +0900 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-09 11:50:19 -0800 |
commit | 79b03af67a7db3622aefe2da8c250775c81fd623 (patch) | |
tree | 6230e4011703dd669322e501dc93802f1b8e24e5 /drivers | |
parent | 109ded2b46c6cf07256837202fe6ee3c06815923 (diff) | |
download | linux-79b03af67a7db3622aefe2da8c250775c81fd623.tar.bz2 |
staging: rtl8192e: Simplify flow of control in rtl8192_rx
Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/rtl8192e/r8192E_core.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/staging/rtl8192e/r8192E_core.c b/drivers/staging/rtl8192e/r8192E_core.c index b0ae008dbfca..a63c6e59b2e9 100644 --- a/drivers/staging/rtl8192e/r8192E_core.c +++ b/drivers/staging/rtl8192e/r8192E_core.c @@ -5038,15 +5038,17 @@ static void rtl8192_rx(struct net_device *dev) .freq = IEEE80211_24GHZ_BAND, }; unsigned int count = priv->rxringcount; + prx_fwinfo_819x_pci pDrvInfo = NULL; + struct sk_buff *new_skb; while (count--) { rx_desc_819x_pci *pdesc = &priv->rx_ring[priv->rx_idx];//rx descriptor struct sk_buff *skb = priv->rx_buf[priv->rx_idx];//rx pkt - if (pdesc->OWN){ + if (pdesc->OWN) /* wait data to be filled by hardware */ return; - } else { + stats.bICV = pdesc->ICV; stats.bCRC = pdesc->CRC32; stats.bHwError = pdesc->CRC32 | pdesc->ICV; @@ -5058,13 +5060,12 @@ static void rtl8192_rx(struct net_device *dev) if(stats.bHwError) { stats.bShift = false; goto done; - } else { - prx_fwinfo_819x_pci pDrvInfo = NULL; - struct sk_buff *new_skb = dev_alloc_skb(priv->rxbuffersize); + } + pDrvInfo = NULL; + new_skb = dev_alloc_skb(priv->rxbuffersize); - if (unlikely(!new_skb)) { + if (unlikely(!new_skb)) goto done; - } stats.RxDrvInfoSize = pdesc->RxDrvInfoSize; stats.RxBufShift = ((pdesc->Shift)&0x03); @@ -5143,9 +5144,7 @@ static void rtl8192_rx(struct net_device *dev) skb = new_skb; priv->rx_buf[priv->rx_idx] = skb; *((dma_addr_t *) skb->cb) = pci_map_single(priv->pdev, skb_tail_pointer(skb), priv->rxbuffersize, PCI_DMA_FROMDEVICE); - } - } done: pdesc->BufferAddress = cpu_to_le32(*((dma_addr_t *)skb->cb)); pdesc->OWN = 1; |