Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
This commit is contained in:
Коммит
7b87e57341
|
@ -67,8 +67,7 @@ config BCMA_DRIVER_GMAC_CMN
|
|||
|
||||
config BCMA_DRIVER_GPIO
|
||||
bool "BCMA GPIO driver"
|
||||
depends on BCMA
|
||||
select GPIOLIB
|
||||
depends on BCMA && GPIOLIB
|
||||
help
|
||||
Driver to provide access to the GPIO pins of the bcma bus.
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ static struct bcma_sflash_tbl_e bcma_sflash_st_tbl[] = {
|
|||
{ "M25P40", 0x12, 0x10000, 8, },
|
||||
|
||||
{ "M25P16", 0x14, 0x10000, 32, },
|
||||
{ "M25P32", 0x14, 0x10000, 64, },
|
||||
{ "M25P32", 0x15, 0x10000, 64, },
|
||||
{ "M25P64", 0x16, 0x10000, 128, },
|
||||
{ "M25FL128", 0x17, 0x10000, 256, },
|
||||
{ 0 },
|
||||
|
|
|
@ -2,6 +2,7 @@ config ATH9K_HW
|
|||
tristate
|
||||
config ATH9K_COMMON
|
||||
tristate
|
||||
select ATH_COMMON
|
||||
config ATH9K_DFS_DEBUGFS
|
||||
def_bool y
|
||||
depends on ATH9K_DEBUGFS && ATH9K_DFS_CERTIFIED
|
||||
|
@ -17,7 +18,6 @@ config ATH9K_BTCOEX_SUPPORT
|
|||
config ATH9K
|
||||
tristate "Atheros 802.11n wireless cards support"
|
||||
depends on MAC80211
|
||||
select ATH_COMMON
|
||||
select ATH9K_HW
|
||||
select MAC80211_LEDS
|
||||
select LEDS_CLASS
|
||||
|
@ -56,7 +56,8 @@ config ATH9K_AHB
|
|||
|
||||
config ATH9K_DEBUGFS
|
||||
bool "Atheros ath9k debugging"
|
||||
depends on ATH9K && DEBUG_FS
|
||||
depends on ATH9K
|
||||
select MAC80211_DEBUGFS
|
||||
---help---
|
||||
Say Y, if you need access to ath9k's statistics for
|
||||
interrupts, rate control, etc.
|
||||
|
|
|
@ -544,7 +544,7 @@ static void ar9003_rx_gain_table_mode0(struct ath_hw *ah)
|
|||
ar9340Common_rx_gain_table_1p0);
|
||||
else if (AR_SREV_9485_11(ah))
|
||||
INIT_INI_ARRAY(&ah->iniModesRxGain,
|
||||
ar9485Common_wo_xlna_rx_gain_1_1);
|
||||
ar9485_common_rx_gain_1_1);
|
||||
else if (AR_SREV_9550(ah)) {
|
||||
INIT_INI_ARRAY(&ah->iniModesRxGain,
|
||||
ar955x_1p0_common_rx_gain_table);
|
||||
|
|
|
@ -336,8 +336,12 @@ static int carl9170_fw(struct ar9170 *ar, const __u8 *data, size_t len)
|
|||
if (SUPP(CARL9170FW_WLANTX_CAB)) {
|
||||
if_comb_types |=
|
||||
BIT(NL80211_IFTYPE_AP) |
|
||||
BIT(NL80211_IFTYPE_MESH_POINT) |
|
||||
BIT(NL80211_IFTYPE_P2P_GO);
|
||||
|
||||
#ifdef CONFIG_MAC80211_MESH
|
||||
if_comb_types |=
|
||||
BIT(NL80211_IFTYPE_MESH_POINT);
|
||||
#endif /* CONFIG_MAC80211_MESH */
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3091,10 +3091,11 @@ brcmf_configure_wpaie(struct net_device *ndev, struct brcmf_vs_tlv *wpa_ie,
|
|||
|
||||
len = wpa_ie->len + TLV_HDR_LEN;
|
||||
data = (u8 *)wpa_ie;
|
||||
offset = 0;
|
||||
offset = TLV_HDR_LEN;
|
||||
if (!is_rsn_ie)
|
||||
offset += VS_IE_FIXED_HDR_LEN;
|
||||
offset += WPA_IE_VERSION_LEN;
|
||||
else
|
||||
offset += WPA_IE_VERSION_LEN;
|
||||
|
||||
/* check for multicast cipher suite */
|
||||
if (offset + WPA_IE_MIN_OUI_LEN > len) {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2012 Broadcom Corporation
|
||||
* Copyright (c) 2012 Canonical Ltd.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
|
|
|
@ -1343,13 +1343,13 @@ static bool wlc_lcnphy_rx_iq_cal_gain(struct brcms_phy *pi, u16 biq1_gain,
|
|||
|
||||
wlc_lcnphy_rx_gain_override_enable(pi, true);
|
||||
wlc_lcnphy_start_tx_tone(pi, 2000, (40 >> 1), 0);
|
||||
usleep_range(500, 500);
|
||||
udelay(500);
|
||||
write_radio_reg(pi, RADIO_2064_REG112, 0);
|
||||
if (!wlc_lcnphy_rx_iq_est(pi, 1024, 32, &iq_est_l))
|
||||
return false;
|
||||
|
||||
wlc_lcnphy_start_tx_tone(pi, 2000, 40, 0);
|
||||
usleep_range(500, 500);
|
||||
udelay(500);
|
||||
write_radio_reg(pi, RADIO_2064_REG112, 0);
|
||||
if (!wlc_lcnphy_rx_iq_est(pi, 1024, 32, &iq_est_h))
|
||||
return false;
|
||||
|
|
|
@ -47,6 +47,7 @@ static struct usb_device_id p54u_table[] = {
|
|||
{USB_DEVICE(0x0411, 0x0050)}, /* Buffalo WLI2-USB2-G54 */
|
||||
{USB_DEVICE(0x045e, 0x00c2)}, /* Microsoft MN-710 */
|
||||
{USB_DEVICE(0x0506, 0x0a11)}, /* 3COM 3CRWE254G72 */
|
||||
{USB_DEVICE(0x0675, 0x0530)}, /* DrayTek Vigor 530 */
|
||||
{USB_DEVICE(0x06b9, 0x0120)}, /* Thomson SpeedTouch 120g */
|
||||
{USB_DEVICE(0x0707, 0xee06)}, /* SMC 2862W-G */
|
||||
{USB_DEVICE(0x07aa, 0x001c)}, /* Corega CG-WLUSB2GT */
|
||||
|
@ -82,6 +83,8 @@ static struct usb_device_id p54u_table[] = {
|
|||
{USB_DEVICE(0x06a9, 0x000e)}, /* Westell 802.11g USB (A90-211WG-01) */
|
||||
{USB_DEVICE(0x06b9, 0x0121)}, /* Thomson SpeedTouch 121g */
|
||||
{USB_DEVICE(0x0707, 0xee13)}, /* SMC 2862W-G version 2 */
|
||||
{USB_DEVICE(0x0803, 0x4310)}, /* Zoom 4410a */
|
||||
{USB_DEVICE(0x083a, 0x4503)}, /* T-Com Sinus 154 data II */
|
||||
{USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 version 2 */
|
||||
{USB_DEVICE(0x083a, 0xc501)}, /* Zoom Wireless-G 4410 */
|
||||
{USB_DEVICE(0x083a, 0xf503)}, /* Accton FD7050E ver 1010ec */
|
||||
|
@ -101,6 +104,7 @@ static struct usb_device_id p54u_table[] = {
|
|||
{USB_DEVICE(0x13B1, 0x000C)}, /* Linksys WUSB54AG */
|
||||
{USB_DEVICE(0x1413, 0x5400)}, /* Telsey 802.11g USB2.0 Adapter */
|
||||
{USB_DEVICE(0x1435, 0x0427)}, /* Inventel UR054G */
|
||||
/* {USB_DEVICE(0x15a9, 0x0002)}, * Also SparkLAN WL-682 with 3887 */
|
||||
{USB_DEVICE(0x1668, 0x1050)}, /* Actiontec 802UIG-1 */
|
||||
{USB_DEVICE(0x1740, 0x1000)}, /* Senao NUB-350 */
|
||||
{USB_DEVICE(0x2001, 0x3704)}, /* DLink DWL-G122 rev A2 */
|
||||
|
|
|
@ -743,6 +743,8 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
|
|||
|
||||
done:
|
||||
bufferaddress = (*((dma_addr_t *)skb->cb));
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, bufferaddress))
|
||||
return;
|
||||
tmp_one = 1;
|
||||
rtlpriv->cfg->ops->set_desc((u8 *) pdesc, false,
|
||||
HW_DESC_RXBUFF_ADDR,
|
||||
|
@ -1115,6 +1117,10 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)
|
|||
PCI_DMA_FROMDEVICE);
|
||||
|
||||
bufferaddress = (*((dma_addr_t *)skb->cb));
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, bufferaddress)) {
|
||||
dev_kfree_skb_any(skb);
|
||||
return 1;
|
||||
}
|
||||
rtlpriv->cfg->ops->set_desc((u8 *)entry, false,
|
||||
HW_DESC_RXBUFF_ADDR,
|
||||
(u8 *)&bufferaddress);
|
||||
|
|
|
@ -611,8 +611,14 @@ void rtl92ce_tx_fill_desc(struct ieee80211_hw *hw,
|
|||
dma_addr_t mapping = pci_map_single(rtlpci->pdev,
|
||||
skb->data, skb->len,
|
||||
PCI_DMA_TODEVICE);
|
||||
|
||||
u8 bw_40 = 0;
|
||||
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
|
||||
RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
|
||||
"DMA mapping error");
|
||||
return;
|
||||
}
|
||||
rcu_read_lock();
|
||||
sta = get_sta(hw, mac->vif, mac->bssid);
|
||||
if (mac->opmode == NL80211_IFTYPE_STATION) {
|
||||
|
@ -774,6 +780,11 @@ void rtl92ce_tx_fill_cmddesc(struct ieee80211_hw *hw,
|
|||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)(skb->data);
|
||||
__le16 fc = hdr->frame_control;
|
||||
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
|
||||
RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
|
||||
"DMA mapping error");
|
||||
return;
|
||||
}
|
||||
CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE);
|
||||
|
||||
if (firstseg)
|
||||
|
|
|
@ -587,6 +587,11 @@ void rtl92de_tx_fill_desc(struct ieee80211_hw *hw,
|
|||
buf_len = skb->len;
|
||||
mapping = pci_map_single(rtlpci->pdev, skb->data, skb->len,
|
||||
PCI_DMA_TODEVICE);
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
|
||||
RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
|
||||
"DMA mapping error");
|
||||
return;
|
||||
}
|
||||
CLEAR_PCI_TX_DESC_CONTENT(pdesc, sizeof(struct tx_desc_92d));
|
||||
if (ieee80211_is_nullfunc(fc) || ieee80211_is_ctl(fc)) {
|
||||
firstseg = true;
|
||||
|
@ -740,6 +745,11 @@ void rtl92de_tx_fill_cmddesc(struct ieee80211_hw *hw,
|
|||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)(skb->data);
|
||||
__le16 fc = hdr->frame_control;
|
||||
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
|
||||
RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
|
||||
"DMA mapping error");
|
||||
return;
|
||||
}
|
||||
CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE);
|
||||
if (firstseg)
|
||||
SET_TX_DESC_OFFSET(pdesc, USB_HWDESC_HEADER_LEN);
|
||||
|
|
|
@ -611,6 +611,11 @@ void rtl92se_tx_fill_desc(struct ieee80211_hw *hw,
|
|||
PCI_DMA_TODEVICE);
|
||||
u8 bw_40 = 0;
|
||||
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
|
||||
RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
|
||||
"DMA mapping error");
|
||||
return;
|
||||
}
|
||||
if (mac->opmode == NL80211_IFTYPE_STATION) {
|
||||
bw_40 = mac->bw_40;
|
||||
} else if (mac->opmode == NL80211_IFTYPE_AP ||
|
||||
|
@ -763,6 +768,7 @@ void rtl92se_tx_fill_desc(struct ieee80211_hw *hw,
|
|||
void rtl92se_tx_fill_cmddesc(struct ieee80211_hw *hw, u8 *pdesc,
|
||||
bool firstseg, bool lastseg, struct sk_buff *skb)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
|
||||
struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
|
||||
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,
|
|||
dma_addr_t mapping = pci_map_single(rtlpci->pdev, skb->data, skb->len,
|
||||
PCI_DMA_TODEVICE);
|
||||
|
||||
/* Clear all status */
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
|
||||
RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
|
||||
"DMA mapping error");
|
||||
return;
|
||||
}
|
||||
/* Clear all status */
|
||||
CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_CMDDESC_SIZE_RTL8192S);
|
||||
|
||||
/* This bit indicate this packet is used for FW download. */
|
||||
|
|
|
@ -387,6 +387,11 @@ void rtl8723ae_tx_fill_desc(struct ieee80211_hw *hw,
|
|||
PCI_DMA_TODEVICE);
|
||||
u8 bw_40 = 0;
|
||||
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
|
||||
RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
|
||||
"DMA mapping error");
|
||||
return;
|
||||
}
|
||||
if (mac->opmode == NL80211_IFTYPE_STATION) {
|
||||
bw_40 = mac->bw_40;
|
||||
} else if (mac->opmode == NL80211_IFTYPE_AP ||
|
||||
|
@ -542,6 +547,11 @@ void rtl8723ae_tx_fill_cmddesc(struct ieee80211_hw *hw,
|
|||
PCI_DMA_TODEVICE);
|
||||
__le16 fc = hdr->frame_control;
|
||||
|
||||
if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
|
||||
RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
|
||||
"DMA mapping error");
|
||||
return;
|
||||
}
|
||||
CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE);
|
||||
|
||||
if (firstseg)
|
||||
|
|
|
@ -210,17 +210,16 @@ static void _usb_writeN_sync(struct rtl_priv *rtlpriv, u32 addr, void *data,
|
|||
u16 index = REALTEK_USB_VENQT_CMD_IDX;
|
||||
int pipe = usb_sndctrlpipe(udev, 0); /* write_out */
|
||||
u8 *buffer;
|
||||
dma_addr_t dma_addr;
|
||||
|
||||
wvalue = (u16)(addr&0x0000ffff);
|
||||
buffer = usb_alloc_coherent(udev, (size_t)len, GFP_ATOMIC, &dma_addr);
|
||||
wvalue = (u16)(addr & 0x0000ffff);
|
||||
buffer = kmalloc(len, GFP_ATOMIC);
|
||||
if (!buffer)
|
||||
return;
|
||||
memcpy(buffer, data, len);
|
||||
usb_control_msg(udev, pipe, request, reqtype, wvalue,
|
||||
index, buffer, len, 50);
|
||||
|
||||
usb_free_coherent(udev, (size_t)len, buffer, dma_addr);
|
||||
kfree(buffer);
|
||||
}
|
||||
|
||||
static void _rtl_usb_io_handler_init(struct device *dev,
|
||||
|
@ -640,6 +639,7 @@ static int _rtl_usb_receive(struct ieee80211_hw *hw)
|
|||
RT_TRACE(rtlpriv, COMP_USB, DBG_EMERG,
|
||||
"Failed to prep_rx_urb!!\n");
|
||||
err = PTR_ERR(skb);
|
||||
usb_free_urb(urb);
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
|
|
|
@ -162,8 +162,7 @@ config SSB_DRIVER_GIGE
|
|||
|
||||
config SSB_DRIVER_GPIO
|
||||
bool "SSB GPIO driver"
|
||||
depends on SSB
|
||||
select GPIOLIB
|
||||
depends on SSB && GPIOLIB
|
||||
help
|
||||
Driver to provide access to the GPIO pins on the bus.
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче