aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rtlwifi/pci.c
diff options
context:
space:
mode:
authorMike McCormack <mikem@ring3k.org>2011-06-06 10:12:08 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-06-10 14:26:50 -0400
commit2c333366a4ec1f4cdbaec285ba448d5943df8ffd (patch)
tree8dfe0cea5b5ac04a2c931d44c13582f72e109fde /drivers/net/wireless/rtlwifi/pci.c
parent1d34d108e07680e2c07847d5e69a334cb4f96ab3 (diff)
rtlwifi: Remove unnecessary indent
Signed-off-by: Mike McCormack <mikem@ring3k.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtlwifi/pci.c')
-rw-r--r--drivers/net/wireless/rtlwifi/pci.c176
1 files changed, 81 insertions, 95 deletions
diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c
index e502db0532e5..fbb4c1309568 100644
--- a/drivers/net/wireless/rtlwifi/pci.c
+++ b/drivers/net/wireless/rtlwifi/pci.c
@@ -654,128 +654,114 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
654 /*rx pkt */ 654 /*rx pkt */
655 struct sk_buff *skb = rtlpci->rx_ring[rx_queue_idx].rx_buf[ 655 struct sk_buff *skb = rtlpci->rx_ring[rx_queue_idx].rx_buf[
656 index]; 656 index];
657 struct ieee80211_hdr *hdr;
658 __le16 fc;
659 struct sk_buff *new_skb = NULL;
657 660
658 own = (u8) rtlpriv->cfg->ops->get_desc((u8 *) pdesc, 661 own = (u8) rtlpriv->cfg->ops->get_desc((u8 *) pdesc,
659 false, HW_DESC_OWN); 662 false, HW_DESC_OWN);
660 663
661 if (own) { 664 /*wait data to be filled by hardware */
662 /*wait data to be filled by hardware */ 665 if (own)
663 break; 666 break;
664 } else {
665 struct ieee80211_hdr *hdr;
666 __le16 fc;
667 struct sk_buff *new_skb = NULL;
668
669 rtlpriv->cfg->ops->query_rx_desc(hw, &stats,
670 &rx_status,
671 (u8 *) pdesc, skb);
672
673 new_skb = dev_alloc_skb(rtlpci->rxbuffersize);
674 if (unlikely(!new_skb)) {
675 RT_TRACE(rtlpriv, (COMP_INTR | COMP_RECV),
676 DBG_DMESG,
677 ("can't alloc skb for rx\n"));
678 goto done;
679 }
680 667
681 pci_unmap_single(rtlpci->pdev, 668 rtlpriv->cfg->ops->query_rx_desc(hw, &stats,
682 *((dma_addr_t *) skb->cb), 669 &rx_status,
683 rtlpci->rxbuffersize, 670 (u8 *) pdesc, skb);
684 PCI_DMA_FROMDEVICE); 671
672 new_skb = dev_alloc_skb(rtlpci->rxbuffersize);
673 if (unlikely(!new_skb)) {
674 RT_TRACE(rtlpriv, (COMP_INTR | COMP_RECV),
675 DBG_DMESG,
676 ("can't alloc skb for rx\n"));
677 goto done;
678 }
685 679
686 skb_put(skb, rtlpriv->cfg->ops->get_desc((u8 *) pdesc, 680 pci_unmap_single(rtlpci->pdev,
687 false, 681 *((dma_addr_t *) skb->cb),
688 HW_DESC_RXPKT_LEN)); 682 rtlpci->rxbuffersize,
689 skb_reserve(skb, 683 PCI_DMA_FROMDEVICE);
690 stats.rx_drvinfo_size + stats.rx_bufshift);
691 684
692 /* 685 skb_put(skb, rtlpriv->cfg->ops->get_desc((u8 *) pdesc, false,
693 *NOTICE This can not be use for mac80211, 686 HW_DESC_RXPKT_LEN));
694 *this is done in mac80211 code, 687 skb_reserve(skb, stats.rx_drvinfo_size + stats.rx_bufshift);
695 *if you done here sec DHCP will fail
696 *skb_trim(skb, skb->len - 4);
697 */
698 688
699 hdr = rtl_get_hdr(skb); 689 /*
700 fc = rtl_get_fc(skb); 690 * NOTICE This can not be use for mac80211,
691 * this is done in mac80211 code,
692 * if you done here sec DHCP will fail
693 * skb_trim(skb, skb->len - 4);
694 */
695
696 hdr = rtl_get_hdr(skb);
697 fc = rtl_get_fc(skb);
701 698
702 if (!stats.crc && !stats.hwerror) { 699 if (!stats.crc && !stats.hwerror) {
703 memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, 700 memcpy(IEEE80211_SKB_RXCB(skb), &rx_status,
704 sizeof(rx_status)); 701 sizeof(rx_status));
705 702
706 if (is_broadcast_ether_addr(hdr->addr1)) { 703 if (is_broadcast_ether_addr(hdr->addr1)) {
707 ;/*TODO*/ 704 ;/*TODO*/
708 } else if (is_multicast_ether_addr(hdr->addr1)) { 705 } else if (is_multicast_ether_addr(hdr->addr1)) {
709 ;/*TODO*/ 706 ;/*TODO*/
710 } else { 707 } else {
711 unicast = true; 708 unicast = true;
712 rtlpriv->stats.rxbytesunicast += 709 rtlpriv->stats.rxbytesunicast += skb->len;
713 skb->len; 710 }
714 }
715 711
716 rtl_is_special_data(hw, skb, false); 712 rtl_is_special_data(hw, skb, false);
717 713
718 if (ieee80211_is_data(fc)) { 714 if (ieee80211_is_data(fc)) {
719 rtlpriv->cfg->ops->led_control(hw, 715 rtlpriv->cfg->ops->led_control(hw, LED_CTL_RX);
720 LED_CTL_RX);
721 716
722 if (unicast) 717 if (unicast)
723 rtlpriv->link_info. 718 rtlpriv->link_info.num_rx_inperiod++;
724 num_rx_inperiod++; 719 }
725 }
726 720
727 /* for sw lps */ 721 /* for sw lps */
728 rtl_swlps_beacon(hw, (void *)skb->data, 722 rtl_swlps_beacon(hw, (void *)skb->data, skb->len);
729 skb->len); 723 rtl_recognize_peer(hw, (void *)skb->data, skb->len);
730 rtl_recognize_peer(hw, (void *)skb->data, 724 if ((rtlpriv->mac80211.opmode == NL80211_IFTYPE_AP) &&
731 skb->len); 725 (rtlpriv->rtlhal.current_bandtype ==
732 if ((rtlpriv->mac80211.opmode == 726 BAND_ON_2_4G) &&
733 NL80211_IFTYPE_AP) && 727 (ieee80211_is_beacon(fc) ||
734 (rtlpriv->rtlhal.current_bandtype == 728 ieee80211_is_probe_resp(fc))) {
735 BAND_ON_2_4G) && 729 dev_kfree_skb_any(skb);
736 (ieee80211_is_beacon(fc) || 730 } else {
737 ieee80211_is_probe_resp(fc))) { 731 if (unlikely(!rtl_action_proc(hw, skb,
732 false))) {
738 dev_kfree_skb_any(skb); 733 dev_kfree_skb_any(skb);
739 } else { 734 } else {
740 if (unlikely(!rtl_action_proc(hw, skb, 735 struct sk_buff *uskb = NULL;
741 false))) { 736 u8 *pdata;
742 dev_kfree_skb_any(skb); 737 uskb = dev_alloc_skb(skb->len + 128);
743 } else { 738 memcpy(IEEE80211_SKB_RXCB(uskb),
744 struct sk_buff *uskb = NULL; 739 &rx_status, sizeof(rx_status));
745 u8 *pdata; 740 pdata = (u8 *)skb_put(uskb, skb->len);
746 uskb = dev_alloc_skb(skb->len 741 memcpy(pdata, skb->data, skb->len);
747 + 128); 742 dev_kfree_skb_any(skb);
748 memcpy(IEEE80211_SKB_RXCB(uskb), 743
749 &rx_status, 744 ieee80211_rx_irqsafe(hw, uskb);
750 sizeof(rx_status));
751 pdata = (u8 *)skb_put(uskb,
752 skb->len);
753 memcpy(pdata, skb->data,
754 skb->len);
755 dev_kfree_skb_any(skb);
756
757 ieee80211_rx_irqsafe(hw, uskb);
758 }
759 } 745 }
760 } else {
761 dev_kfree_skb_any(skb);
762 } 746 }
747 } else {
748 dev_kfree_skb_any(skb);
749 }
763 750
764 if (((rtlpriv->link_info.num_rx_inperiod + 751 if (((rtlpriv->link_info.num_rx_inperiod +
765 rtlpriv->link_info.num_tx_inperiod) > 8) || 752 rtlpriv->link_info.num_tx_inperiod) > 8) ||
766 (rtlpriv->link_info.num_rx_inperiod > 2)) { 753 (rtlpriv->link_info.num_rx_inperiod > 2)) {
767 tasklet_schedule(&rtlpriv->works.ips_leave_tasklet); 754 tasklet_schedule(&rtlpriv->works.ips_leave_tasklet);
768 } 755 }
769 756
770 skb = new_skb; 757 skb = new_skb;
771 758
772 rtlpci->rx_ring[rx_queue_idx].rx_buf[index] = skb; 759 rtlpci->rx_ring[rx_queue_idx].rx_buf[index] = skb;
773 *((dma_addr_t *) skb->cb) = 760 *((dma_addr_t *) skb->cb) =
774 pci_map_single(rtlpci->pdev, skb_tail_pointer(skb), 761 pci_map_single(rtlpci->pdev, skb_tail_pointer(skb),
775 rtlpci->rxbuffersize, 762 rtlpci->rxbuffersize,
776 PCI_DMA_FROMDEVICE); 763 PCI_DMA_FROMDEVICE);
777 764
778 }
779done: 765done:
780 bufferaddress = (*((dma_addr_t *)skb->cb)); 766 bufferaddress = (*((dma_addr_t *)skb->cb));
781 tmp_one = 1; 767 tmp_one = 1;