From: Mike McCormack Date: Sun, 6 Feb 2011 13:55:06 +0000 (+0900) Subject: staging: rtl8192e: Simplify flow of control in rtl8192_rx X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=79b03af67a7db3622aefe2da8c250775c81fd623;p=deliverable%2Flinux.git staging: rtl8192e: Simplify flow of control in rtl8192_rx Signed-off-by: Mike McCormack Signed-off-by: Greg Kroah-Hartman --- 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;