diff options
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/Kconfig | 5 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9003_hw.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/carl9170/fw.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmsmac/debug.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/p54/p54usb.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/pci.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | 11 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192de/trx.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192se/trx.c | 13 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8723ae/sw.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8723ae/trx.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/usb.c | 8 |
14 files changed, 73 insertions, 14 deletions
diff --git a/drivers/net/wireless/ath/ath9k/Kconfig b/drivers/net/wireless/ath/ath9k/Kconfig index 5fc15bf8be09..7647ed6b73d7 100644 --- a/drivers/net/wireless/ath/ath9k/Kconfig +++ b/drivers/net/wireless/ath/ath9k/Kconfig | |||
@@ -2,6 +2,7 @@ config ATH9K_HW | |||
2 | tristate | 2 | tristate |
3 | config ATH9K_COMMON | 3 | config ATH9K_COMMON |
4 | tristate | 4 | tristate |
5 | select ATH_COMMON | ||
5 | config ATH9K_DFS_DEBUGFS | 6 | config ATH9K_DFS_DEBUGFS |
6 | def_bool y | 7 | def_bool y |
7 | depends on ATH9K_DEBUGFS && ATH9K_DFS_CERTIFIED | 8 | depends on ATH9K_DEBUGFS && ATH9K_DFS_CERTIFIED |
@@ -17,7 +18,6 @@ config ATH9K_BTCOEX_SUPPORT | |||
17 | config ATH9K | 18 | config ATH9K |
18 | tristate "Atheros 802.11n wireless cards support" | 19 | tristate "Atheros 802.11n wireless cards support" |
19 | depends on MAC80211 | 20 | depends on MAC80211 |
20 | select ATH_COMMON | ||
21 | select ATH9K_HW | 21 | select ATH9K_HW |
22 | select MAC80211_LEDS | 22 | select MAC80211_LEDS |
23 | select LEDS_CLASS | 23 | select LEDS_CLASS |
@@ -56,7 +56,8 @@ config ATH9K_AHB | |||
56 | 56 | ||
57 | config ATH9K_DEBUGFS | 57 | config ATH9K_DEBUGFS |
58 | bool "Atheros ath9k debugging" | 58 | bool "Atheros ath9k debugging" |
59 | depends on ATH9K && DEBUG_FS | 59 | depends on ATH9K |
60 | select MAC80211_DEBUGFS | ||
60 | ---help--- | 61 | ---help--- |
61 | Say Y, if you need access to ath9k's statistics for | 62 | Say Y, if you need access to ath9k's statistics for |
62 | interrupts, rate control, etc. | 63 | interrupts, rate control, etc. |
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_hw.c b/drivers/net/wireless/ath/ath9k/ar9003_hw.c index 74fd3977feeb..59bf5f31e212 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c | |||
@@ -544,7 +544,7 @@ static void ar9003_rx_gain_table_mode0(struct ath_hw *ah) | |||
544 | ar9340Common_rx_gain_table_1p0); | 544 | ar9340Common_rx_gain_table_1p0); |
545 | else if (AR_SREV_9485_11(ah)) | 545 | else if (AR_SREV_9485_11(ah)) |
546 | INIT_INI_ARRAY(&ah->iniModesRxGain, | 546 | INIT_INI_ARRAY(&ah->iniModesRxGain, |
547 | ar9485Common_wo_xlna_rx_gain_1_1); | 547 | ar9485_common_rx_gain_1_1); |
548 | else if (AR_SREV_9550(ah)) { | 548 | else if (AR_SREV_9550(ah)) { |
549 | INIT_INI_ARRAY(&ah->iniModesRxGain, | 549 | INIT_INI_ARRAY(&ah->iniModesRxGain, |
550 | ar955x_1p0_common_rx_gain_table); | 550 | ar955x_1p0_common_rx_gain_table); |
diff --git a/drivers/net/wireless/ath/carl9170/fw.c b/drivers/net/wireless/ath/carl9170/fw.c index aaebecd19e59..63fd9af3fd39 100644 --- a/drivers/net/wireless/ath/carl9170/fw.c +++ b/drivers/net/wireless/ath/carl9170/fw.c | |||
@@ -336,8 +336,12 @@ static int carl9170_fw(struct ar9170 *ar, const __u8 *data, size_t len) | |||
336 | if (SUPP(CARL9170FW_WLANTX_CAB)) { | 336 | if (SUPP(CARL9170FW_WLANTX_CAB)) { |
337 | if_comb_types |= | 337 | if_comb_types |= |
338 | BIT(NL80211_IFTYPE_AP) | | 338 | BIT(NL80211_IFTYPE_AP) | |
339 | BIT(NL80211_IFTYPE_MESH_POINT) | | ||
340 | BIT(NL80211_IFTYPE_P2P_GO); | 339 | BIT(NL80211_IFTYPE_P2P_GO); |
340 | |||
341 | #ifdef CONFIG_MAC80211_MESH | ||
342 | if_comb_types |= | ||
343 | BIT(NL80211_IFTYPE_MESH_POINT); | ||
344 | #endif /* CONFIG_MAC80211_MESH */ | ||
341 | } | 345 | } |
342 | } | 346 | } |
343 | 347 | ||
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c index 1261a9b84e04..75464ad4fbd1 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | |||
@@ -3091,10 +3091,11 @@ brcmf_configure_wpaie(struct net_device *ndev, struct brcmf_vs_tlv *wpa_ie, | |||
3091 | 3091 | ||
3092 | len = wpa_ie->len + TLV_HDR_LEN; | 3092 | len = wpa_ie->len + TLV_HDR_LEN; |
3093 | data = (u8 *)wpa_ie; | 3093 | data = (u8 *)wpa_ie; |
3094 | offset = 0; | 3094 | offset = TLV_HDR_LEN; |
3095 | if (!is_rsn_ie) | 3095 | if (!is_rsn_ie) |
3096 | offset += VS_IE_FIXED_HDR_LEN; | 3096 | offset += VS_IE_FIXED_HDR_LEN; |
3097 | offset += WPA_IE_VERSION_LEN; | 3097 | else |
3098 | offset += WPA_IE_VERSION_LEN; | ||
3098 | 3099 | ||
3099 | /* check for multicast cipher suite */ | 3100 | /* check for multicast cipher suite */ |
3100 | if (offset + WPA_IE_MIN_OUI_LEN > len) { | 3101 | if (offset + WPA_IE_MIN_OUI_LEN > len) { |
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/debug.h b/drivers/net/wireless/brcm80211/brcmsmac/debug.h index 796836b0f469..822781cf15d4 100644 --- a/drivers/net/wireless/brcm80211/brcmsmac/debug.h +++ b/drivers/net/wireless/brcm80211/brcmsmac/debug.h | |||
@@ -1,5 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2012 Broadcom Corporation | 2 | * Copyright (c) 2012 Broadcom Corporation |
3 | * Copyright (c) 2012 Canonical Ltd. | ||
3 | * | 4 | * |
4 | * Permission to use, copy, modify, and/or distribute this software for any | 5 | * Permission to use, copy, modify, and/or distribute this software for any |
5 | * purpose with or without fee is hereby granted, provided that the above | 6 | * purpose with or without fee is hereby granted, provided that the above |
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c index 606b534347bc..21a824232478 100644 --- a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c +++ b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c | |||
@@ -1343,13 +1343,13 @@ static bool wlc_lcnphy_rx_iq_cal_gain(struct brcms_phy *pi, u16 biq1_gain, | |||
1343 | 1343 | ||
1344 | wlc_lcnphy_rx_gain_override_enable(pi, true); | 1344 | wlc_lcnphy_rx_gain_override_enable(pi, true); |
1345 | wlc_lcnphy_start_tx_tone(pi, 2000, (40 >> 1), 0); | 1345 | wlc_lcnphy_start_tx_tone(pi, 2000, (40 >> 1), 0); |
1346 | usleep_range(500, 500); | 1346 | udelay(500); |
1347 | write_radio_reg(pi, RADIO_2064_REG112, 0); | 1347 | write_radio_reg(pi, RADIO_2064_REG112, 0); |
1348 | if (!wlc_lcnphy_rx_iq_est(pi, 1024, 32, &iq_est_l)) | 1348 | if (!wlc_lcnphy_rx_iq_est(pi, 1024, 32, &iq_est_l)) |
1349 | return false; | 1349 | return false; |
1350 | 1350 | ||
1351 | wlc_lcnphy_start_tx_tone(pi, 2000, 40, 0); | 1351 | wlc_lcnphy_start_tx_tone(pi, 2000, 40, 0); |
1352 | usleep_range(500, 500); | 1352 | udelay(500); |
1353 | write_radio_reg(pi, RADIO_2064_REG112, 0); | 1353 | write_radio_reg(pi, RADIO_2064_REG112, 0); |
1354 | if (!wlc_lcnphy_rx_iq_est(pi, 1024, 32, &iq_est_h)) | 1354 | if (!wlc_lcnphy_rx_iq_est(pi, 1024, 32, &iq_est_h)) |
1355 | return false; | 1355 | return false; |
diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c index e71c702e2eb1..800a16526c8e 100644 --- a/drivers/net/wireless/p54/p54usb.c +++ b/drivers/net/wireless/p54/p54usb.c | |||
@@ -47,6 +47,7 @@ static struct usb_device_id p54u_table[] = { | |||
47 | {USB_DEVICE(0x0411, 0x0050)}, /* Buffalo WLI2-USB2-G54 */ | 47 | {USB_DEVICE(0x0411, 0x0050)}, /* Buffalo WLI2-USB2-G54 */ |
48 | {USB_DEVICE(0x045e, 0x00c2)}, /* Microsoft MN-710 */ | 48 | {USB_DEVICE(0x045e, 0x00c2)}, /* Microsoft MN-710 */ |
49 | {USB_DEVICE(0x0506, 0x0a11)}, /* 3COM 3CRWE254G72 */ | 49 | {USB_DEVICE(0x0506, 0x0a11)}, /* 3COM 3CRWE254G72 */ |
50 | {USB_DEVICE(0x0675, 0x0530)}, /* DrayTek Vigor 530 */ | ||
50 | {USB_DEVICE(0x06b9, 0x0120)}, /* Thomson SpeedTouch 120g */ | 51 | {USB_DEVICE(0x06b9, 0x0120)}, /* Thomson SpeedTouch 120g */ |
51 | {USB_DEVICE(0x0707, 0xee06)}, /* SMC 2862W-G */ | 52 | {USB_DEVICE(0x0707, 0xee06)}, /* SMC 2862W-G */ |
52 | {USB_DEVICE(0x07aa, 0x001c)}, /* Corega CG-WLUSB2GT */ | 53 | {USB_DEVICE(0x07aa, 0x001c)}, /* Corega CG-WLUSB2GT */ |
@@ -82,6 +83,8 @@ static struct usb_device_id p54u_table[] = { | |||
82 | {USB_DEVICE(0x06a9, 0x000e)}, /* Westell 802.11g USB (A90-211WG-01) */ | 83 | {USB_DEVICE(0x06a9, 0x000e)}, /* Westell 802.11g USB (A90-211WG-01) */ |
83 | {USB_DEVICE(0x06b9, 0x0121)}, /* Thomson SpeedTouch 121g */ | 84 | {USB_DEVICE(0x06b9, 0x0121)}, /* Thomson SpeedTouch 121g */ |
84 | {USB_DEVICE(0x0707, 0xee13)}, /* SMC 2862W-G version 2 */ | 85 | {USB_DEVICE(0x0707, 0xee13)}, /* SMC 2862W-G version 2 */ |
86 | {USB_DEVICE(0x0803, 0x4310)}, /* Zoom 4410a */ | ||
87 | {USB_DEVICE(0x083a, 0x4503)}, /* T-Com Sinus 154 data II */ | ||
85 | {USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 version 2 */ | 88 | {USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 version 2 */ |
86 | {USB_DEVICE(0x083a, 0xc501)}, /* Zoom Wireless-G 4410 */ | 89 | {USB_DEVICE(0x083a, 0xc501)}, /* Zoom Wireless-G 4410 */ |
87 | {USB_DEVICE(0x083a, 0xf503)}, /* Accton FD7050E ver 1010ec */ | 90 | {USB_DEVICE(0x083a, 0xf503)}, /* Accton FD7050E ver 1010ec */ |
@@ -101,6 +104,7 @@ static struct usb_device_id p54u_table[] = { | |||
101 | {USB_DEVICE(0x13B1, 0x000C)}, /* Linksys WUSB54AG */ | 104 | {USB_DEVICE(0x13B1, 0x000C)}, /* Linksys WUSB54AG */ |
102 | {USB_DEVICE(0x1413, 0x5400)}, /* Telsey 802.11g USB2.0 Adapter */ | 105 | {USB_DEVICE(0x1413, 0x5400)}, /* Telsey 802.11g USB2.0 Adapter */ |
103 | {USB_DEVICE(0x1435, 0x0427)}, /* Inventel UR054G */ | 106 | {USB_DEVICE(0x1435, 0x0427)}, /* Inventel UR054G */ |
107 | /* {USB_DEVICE(0x15a9, 0x0002)}, * Also SparkLAN WL-682 with 3887 */ | ||
104 | {USB_DEVICE(0x1668, 0x1050)}, /* Actiontec 802UIG-1 */ | 108 | {USB_DEVICE(0x1668, 0x1050)}, /* Actiontec 802UIG-1 */ |
105 | {USB_DEVICE(0x1740, 0x1000)}, /* Senao NUB-350 */ | 109 | {USB_DEVICE(0x1740, 0x1000)}, /* Senao NUB-350 */ |
106 | {USB_DEVICE(0x2001, 0x3704)}, /* DLink DWL-G122 rev A2 */ | 110 | {USB_DEVICE(0x2001, 0x3704)}, /* DLink DWL-G122 rev A2 */ |
diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c index 3deacafdcd5e..4261e8ecc4c3 100644 --- a/drivers/net/wireless/rtlwifi/pci.c +++ b/drivers/net/wireless/rtlwifi/pci.c | |||
@@ -743,6 +743,8 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw) | |||
743 | 743 | ||
744 | done: | 744 | done: |
745 | bufferaddress = (*((dma_addr_t *)skb->cb)); | 745 | bufferaddress = (*((dma_addr_t *)skb->cb)); |
746 | if (pci_dma_mapping_error(rtlpci->pdev, bufferaddress)) | ||
747 | return; | ||
746 | tmp_one = 1; | 748 | tmp_one = 1; |
747 | rtlpriv->cfg->ops->set_desc((u8 *) pdesc, false, | 749 | rtlpriv->cfg->ops->set_desc((u8 *) pdesc, false, |
748 | HW_DESC_RXBUFF_ADDR, | 750 | HW_DESC_RXBUFF_ADDR, |
@@ -1115,6 +1117,10 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw) | |||
1115 | PCI_DMA_FROMDEVICE); | 1117 | PCI_DMA_FROMDEVICE); |
1116 | 1118 | ||
1117 | bufferaddress = (*((dma_addr_t *)skb->cb)); | 1119 | bufferaddress = (*((dma_addr_t *)skb->cb)); |
1120 | if (pci_dma_mapping_error(rtlpci->pdev, bufferaddress)) { | ||
1121 | dev_kfree_skb_any(skb); | ||
1122 | return 1; | ||
1123 | } | ||
1118 | rtlpriv->cfg->ops->set_desc((u8 *)entry, false, | 1124 | rtlpriv->cfg->ops->set_desc((u8 *)entry, false, |
1119 | HW_DESC_RXBUFF_ADDR, | 1125 | HW_DESC_RXBUFF_ADDR, |
1120 | (u8 *)&bufferaddress); | 1126 | (u8 *)&bufferaddress); |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c index 173424756149..c31795e379f7 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | |||
@@ -611,8 +611,14 @@ void rtl92ce_tx_fill_desc(struct ieee80211_hw *hw, | |||
611 | dma_addr_t mapping = pci_map_single(rtlpci->pdev, | 611 | dma_addr_t mapping = pci_map_single(rtlpci->pdev, |
612 | skb->data, skb->len, | 612 | skb->data, skb->len, |
613 | PCI_DMA_TODEVICE); | 613 | PCI_DMA_TODEVICE); |
614 | |||
614 | u8 bw_40 = 0; | 615 | u8 bw_40 = 0; |
615 | 616 | ||
617 | if (pci_dma_mapping_error(rtlpci->pdev, mapping)) { | ||
618 | RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, | ||
619 | "DMA mapping error"); | ||
620 | return; | ||
621 | } | ||
616 | rcu_read_lock(); | 622 | rcu_read_lock(); |
617 | sta = get_sta(hw, mac->vif, mac->bssid); | 623 | sta = get_sta(hw, mac->vif, mac->bssid); |
618 | if (mac->opmode == NL80211_IFTYPE_STATION) { | 624 | if (mac->opmode == NL80211_IFTYPE_STATION) { |
@@ -774,6 +780,11 @@ void rtl92ce_tx_fill_cmddesc(struct ieee80211_hw *hw, | |||
774 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)(skb->data); | 780 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)(skb->data); |
775 | __le16 fc = hdr->frame_control; | 781 | __le16 fc = hdr->frame_control; |
776 | 782 | ||
783 | if (pci_dma_mapping_error(rtlpci->pdev, mapping)) { | ||
784 | RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, | ||
785 | "DMA mapping error"); | ||
786 | return; | ||
787 | } | ||
777 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE); | 788 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE); |
778 | 789 | ||
779 | if (firstseg) | 790 | if (firstseg) |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/trx.c b/drivers/net/wireless/rtlwifi/rtl8192de/trx.c index f9f3861046c1..a0fbf284420e 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192de/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192de/trx.c | |||
@@ -587,6 +587,11 @@ void rtl92de_tx_fill_desc(struct ieee80211_hw *hw, | |||
587 | buf_len = skb->len; | 587 | buf_len = skb->len; |
588 | mapping = pci_map_single(rtlpci->pdev, skb->data, skb->len, | 588 | mapping = pci_map_single(rtlpci->pdev, skb->data, skb->len, |
589 | PCI_DMA_TODEVICE); | 589 | PCI_DMA_TODEVICE); |
590 | if (pci_dma_mapping_error(rtlpci->pdev, mapping)) { | ||
591 | RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, | ||
592 | "DMA mapping error"); | ||
593 | return; | ||
594 | } | ||
590 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, sizeof(struct tx_desc_92d)); | 595 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, sizeof(struct tx_desc_92d)); |
591 | if (ieee80211_is_nullfunc(fc) || ieee80211_is_ctl(fc)) { | 596 | if (ieee80211_is_nullfunc(fc) || ieee80211_is_ctl(fc)) { |
592 | firstseg = true; | 597 | firstseg = true; |
@@ -740,6 +745,11 @@ void rtl92de_tx_fill_cmddesc(struct ieee80211_hw *hw, | |||
740 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)(skb->data); | 745 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)(skb->data); |
741 | __le16 fc = hdr->frame_control; | 746 | __le16 fc = hdr->frame_control; |
742 | 747 | ||
748 | if (pci_dma_mapping_error(rtlpci->pdev, mapping)) { | ||
749 | RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, | ||
750 | "DMA mapping error"); | ||
751 | return; | ||
752 | } | ||
743 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE); | 753 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE); |
744 | if (firstseg) | 754 | if (firstseg) |
745 | SET_TX_DESC_OFFSET(pdesc, USB_HWDESC_HEADER_LEN); | 755 | SET_TX_DESC_OFFSET(pdesc, USB_HWDESC_HEADER_LEN); |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c index 0e9f6ebf078a..206561d7282f 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c | |||
@@ -611,6 +611,11 @@ void rtl92se_tx_fill_desc(struct ieee80211_hw *hw, | |||
611 | PCI_DMA_TODEVICE); | 611 | PCI_DMA_TODEVICE); |
612 | u8 bw_40 = 0; | 612 | u8 bw_40 = 0; |
613 | 613 | ||
614 | if (pci_dma_mapping_error(rtlpci->pdev, mapping)) { | ||
615 | RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, | ||
616 | "DMA mapping error"); | ||
617 | return; | ||
618 | } | ||
614 | if (mac->opmode == NL80211_IFTYPE_STATION) { | 619 | if (mac->opmode == NL80211_IFTYPE_STATION) { |
615 | bw_40 = mac->bw_40; | 620 | bw_40 = mac->bw_40; |
616 | } else if (mac->opmode == NL80211_IFTYPE_AP || | 621 | } else if (mac->opmode == NL80211_IFTYPE_AP || |
@@ -763,6 +768,7 @@ void rtl92se_tx_fill_desc(struct ieee80211_hw *hw, | |||
763 | void rtl92se_tx_fill_cmddesc(struct ieee80211_hw *hw, u8 *pdesc, | 768 | void rtl92se_tx_fill_cmddesc(struct ieee80211_hw *hw, u8 *pdesc, |
764 | bool firstseg, bool lastseg, struct sk_buff *skb) | 769 | bool firstseg, bool lastseg, struct sk_buff *skb) |
765 | { | 770 | { |
771 | struct rtl_priv *rtlpriv = rtl_priv(hw); | ||
766 | struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); | 772 | struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); |
767 | struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); | 773 | struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); |
768 | struct rtl_tcb_desc *tcb_desc = (struct rtl_tcb_desc *)(skb->cb); | 774 | struct rtl_tcb_desc *tcb_desc = (struct rtl_tcb_desc *)(skb->cb); |
@@ -770,7 +776,12 @@ void rtl92se_tx_fill_cmddesc(struct ieee80211_hw *hw, u8 *pdesc, | |||
770 | dma_addr_t mapping = pci_map_single(rtlpci->pdev, skb->data, skb->len, | 776 | dma_addr_t mapping = pci_map_single(rtlpci->pdev, skb->data, skb->len, |
771 | PCI_DMA_TODEVICE); | 777 | PCI_DMA_TODEVICE); |
772 | 778 | ||
773 | /* Clear all status */ | 779 | if (pci_dma_mapping_error(rtlpci->pdev, mapping)) { |
780 | RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, | ||
781 | "DMA mapping error"); | ||
782 | return; | ||
783 | } | ||
784 | /* Clear all status */ | ||
774 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_CMDDESC_SIZE_RTL8192S); | 785 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_CMDDESC_SIZE_RTL8192S); |
775 | 786 | ||
776 | /* This bit indicate this packet is used for FW download. */ | 787 | /* This bit indicate this packet is used for FW download. */ |
diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c b/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c index 18b0bc51766b..bb7cc90bafb2 100644 --- a/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c +++ b/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c | |||
@@ -341,7 +341,7 @@ static struct rtl_hal_cfg rtl8723ae_hal_cfg = { | |||
341 | .maps[RTL_RC_HT_RATEMCS15] = DESC92_RATEMCS15, | 341 | .maps[RTL_RC_HT_RATEMCS15] = DESC92_RATEMCS15, |
342 | }; | 342 | }; |
343 | 343 | ||
344 | static struct pci_device_id rtl8723ae_pci_ids[] __devinitdata = { | 344 | static struct pci_device_id rtl8723ae_pci_ids[] = { |
345 | {RTL_PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8723, rtl8723ae_hal_cfg)}, | 345 | {RTL_PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8723, rtl8723ae_hal_cfg)}, |
346 | {}, | 346 | {}, |
347 | }; | 347 | }; |
diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/trx.c b/drivers/net/wireless/rtlwifi/rtl8723ae/trx.c index 87331d826d73..a313be8c21d2 100644 --- a/drivers/net/wireless/rtlwifi/rtl8723ae/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8723ae/trx.c | |||
@@ -387,6 +387,11 @@ void rtl8723ae_tx_fill_desc(struct ieee80211_hw *hw, | |||
387 | PCI_DMA_TODEVICE); | 387 | PCI_DMA_TODEVICE); |
388 | u8 bw_40 = 0; | 388 | u8 bw_40 = 0; |
389 | 389 | ||
390 | if (pci_dma_mapping_error(rtlpci->pdev, mapping)) { | ||
391 | RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, | ||
392 | "DMA mapping error"); | ||
393 | return; | ||
394 | } | ||
390 | if (mac->opmode == NL80211_IFTYPE_STATION) { | 395 | if (mac->opmode == NL80211_IFTYPE_STATION) { |
391 | bw_40 = mac->bw_40; | 396 | bw_40 = mac->bw_40; |
392 | } else if (mac->opmode == NL80211_IFTYPE_AP || | 397 | } else if (mac->opmode == NL80211_IFTYPE_AP || |
@@ -542,6 +547,11 @@ void rtl8723ae_tx_fill_cmddesc(struct ieee80211_hw *hw, | |||
542 | PCI_DMA_TODEVICE); | 547 | PCI_DMA_TODEVICE); |
543 | __le16 fc = hdr->frame_control; | 548 | __le16 fc = hdr->frame_control; |
544 | 549 | ||
550 | if (pci_dma_mapping_error(rtlpci->pdev, mapping)) { | ||
551 | RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, | ||
552 | "DMA mapping error"); | ||
553 | return; | ||
554 | } | ||
545 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE); | 555 | CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE); |
546 | 556 | ||
547 | if (firstseg) | 557 | if (firstseg) |
diff --git a/drivers/net/wireless/rtlwifi/usb.c b/drivers/net/wireless/rtlwifi/usb.c index 29f0969e4ba0..f2ecdeb3a90d 100644 --- a/drivers/net/wireless/rtlwifi/usb.c +++ b/drivers/net/wireless/rtlwifi/usb.c | |||
@@ -210,17 +210,16 @@ static void _usb_writeN_sync(struct rtl_priv *rtlpriv, u32 addr, void *data, | |||
210 | u16 index = REALTEK_USB_VENQT_CMD_IDX; | 210 | u16 index = REALTEK_USB_VENQT_CMD_IDX; |
211 | int pipe = usb_sndctrlpipe(udev, 0); /* write_out */ | 211 | int pipe = usb_sndctrlpipe(udev, 0); /* write_out */ |
212 | u8 *buffer; | 212 | u8 *buffer; |
213 | dma_addr_t dma_addr; | ||
214 | 213 | ||
215 | wvalue = (u16)(addr&0x0000ffff); | 214 | wvalue = (u16)(addr & 0x0000ffff); |
216 | buffer = usb_alloc_coherent(udev, (size_t)len, GFP_ATOMIC, &dma_addr); | 215 | buffer = kmalloc(len, GFP_ATOMIC); |
217 | if (!buffer) | 216 | if (!buffer) |
218 | return; | 217 | return; |
219 | memcpy(buffer, data, len); | 218 | memcpy(buffer, data, len); |
220 | usb_control_msg(udev, pipe, request, reqtype, wvalue, | 219 | usb_control_msg(udev, pipe, request, reqtype, wvalue, |
221 | index, buffer, len, 50); | 220 | index, buffer, len, 50); |
222 | 221 | ||
223 | usb_free_coherent(udev, (size_t)len, buffer, dma_addr); | 222 | kfree(buffer); |
224 | } | 223 | } |
225 | 224 | ||
226 | static void _rtl_usb_io_handler_init(struct device *dev, | 225 | static void _rtl_usb_io_handler_init(struct device *dev, |
@@ -640,6 +639,7 @@ static int _rtl_usb_receive(struct ieee80211_hw *hw) | |||
640 | RT_TRACE(rtlpriv, COMP_USB, DBG_EMERG, | 639 | RT_TRACE(rtlpriv, COMP_USB, DBG_EMERG, |
641 | "Failed to prep_rx_urb!!\n"); | 640 | "Failed to prep_rx_urb!!\n"); |
642 | err = PTR_ERR(skb); | 641 | err = PTR_ERR(skb); |
642 | usb_free_urb(urb); | ||
643 | goto err_out; | 643 | goto err_out; |
644 | } | 644 | } |
645 | 645 | ||