Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
This commit is contained in:
Коммит
d80bcf46f1
|
@ -1735,6 +1735,8 @@ ath5k_beacon_setup(struct ath5k_hw *ah, struct ath5k_buf *bf)
|
|||
|
||||
if (dma_mapping_error(ah->dev, bf->skbaddr)) {
|
||||
ATH5K_ERR(ah, "beacon DMA mapping failed\n");
|
||||
dev_kfree_skb_any(skb);
|
||||
bf->skb = NULL;
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
|
@ -1819,8 +1821,6 @@ ath5k_beacon_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
|
|||
ath5k_txbuf_free_skb(ah, avf->bbuf);
|
||||
avf->bbuf->skb = skb;
|
||||
ret = ath5k_beacon_setup(ah, avf->bbuf);
|
||||
if (ret)
|
||||
avf->bbuf->skb = NULL;
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
@ -1840,6 +1840,7 @@ ath5k_beacon_send(struct ath5k_hw *ah)
|
|||
struct ath5k_vif *avf;
|
||||
struct ath5k_buf *bf;
|
||||
struct sk_buff *skb;
|
||||
int err;
|
||||
|
||||
ATH5K_DBG_UNLIMIT(ah, ATH5K_DEBUG_BEACON, "in beacon_send\n");
|
||||
|
||||
|
@ -1888,11 +1889,6 @@ ath5k_beacon_send(struct ath5k_hw *ah)
|
|||
|
||||
avf = (void *)vif->drv_priv;
|
||||
bf = avf->bbuf;
|
||||
if (unlikely(bf->skb == NULL || ah->opmode == NL80211_IFTYPE_STATION ||
|
||||
ah->opmode == NL80211_IFTYPE_MONITOR)) {
|
||||
ATH5K_WARN(ah, "bf=%p bf_skb=%p\n", bf, bf ? bf->skb : NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Stop any current dma and put the new frame on the queue.
|
||||
|
@ -1906,8 +1902,17 @@ ath5k_beacon_send(struct ath5k_hw *ah)
|
|||
|
||||
/* refresh the beacon for AP or MESH mode */
|
||||
if (ah->opmode == NL80211_IFTYPE_AP ||
|
||||
ah->opmode == NL80211_IFTYPE_MESH_POINT)
|
||||
ath5k_beacon_update(ah->hw, vif);
|
||||
ah->opmode == NL80211_IFTYPE_MESH_POINT) {
|
||||
err = ath5k_beacon_update(ah->hw, vif);
|
||||
if (err)
|
||||
return;
|
||||
}
|
||||
|
||||
if (unlikely(bf->skb == NULL || ah->opmode == NL80211_IFTYPE_STATION ||
|
||||
ah->opmode == NL80211_IFTYPE_MONITOR)) {
|
||||
ATH5K_WARN(ah, "bf=%p bf_skb=%p\n", bf, bf->skb);
|
||||
return;
|
||||
}
|
||||
|
||||
trace_ath5k_tx(ah, bf->skb, &ah->txqs[ah->bhalq]);
|
||||
|
||||
|
|
|
@ -307,7 +307,7 @@ static const struct ar9300_eeprom ar9300_default = {
|
|||
{ { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
|
||||
{ { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } },
|
||||
|
||||
{ { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } },
|
||||
{ { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0) } },
|
||||
{ { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
|
||||
{ { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
|
||||
|
||||
|
@ -884,7 +884,7 @@ static const struct ar9300_eeprom ar9300_x113 = {
|
|||
{ { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
|
||||
{ { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } },
|
||||
|
||||
{ { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } },
|
||||
{ { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0) } },
|
||||
{ { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
|
||||
{ { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
|
||||
|
||||
|
@ -2040,7 +2040,7 @@ static const struct ar9300_eeprom ar9300_x112 = {
|
|||
{ { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
|
||||
{ { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } },
|
||||
|
||||
{ { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } },
|
||||
{ { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0) } },
|
||||
{ { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
|
||||
{ { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
|
||||
|
||||
|
@ -3734,7 +3734,7 @@ static void ar9003_hw_internal_regulator_apply(struct ath_hw *ah)
|
|||
}
|
||||
} else {
|
||||
reg_pmu_set = (5 << 1) | (7 << 4) |
|
||||
(1 << 8) | (2 << 14) |
|
||||
(2 << 8) | (2 << 14) |
|
||||
(6 << 17) | (1 << 20) |
|
||||
(3 << 24) | (1 << 28);
|
||||
}
|
||||
|
|
|
@ -850,7 +850,7 @@
|
|||
#define AR_PHY_TPC_11_B1 (AR_SM1_BASE + 0x220)
|
||||
#define AR_PHY_PDADC_TAB_1 (AR_SM1_BASE + 0x240)
|
||||
#define AR_PHY_TX_IQCAL_STATUS_B1 (AR_SM1_BASE + 0x48c)
|
||||
#define AR_PHY_TX_IQCAL_CORR_COEFF_B1(_i) (AR_SM_BASE + 0x450 + ((_i) << 2))
|
||||
#define AR_PHY_TX_IQCAL_CORR_COEFF_B1(_i) (AR_SM1_BASE + 0x450 + ((_i) << 2))
|
||||
|
||||
/*
|
||||
* Channel 2 Register Map
|
||||
|
|
|
@ -795,9 +795,23 @@ static u64 supported_dma_mask(struct b43_wldev *dev)
|
|||
u32 tmp;
|
||||
u16 mmio_base;
|
||||
|
||||
tmp = b43_read32(dev, SSB_TMSHIGH);
|
||||
switch (dev->dev->bus_type) {
|
||||
#ifdef CONFIG_B43_BCMA
|
||||
case B43_BUS_BCMA:
|
||||
tmp = bcma_aread32(dev->dev->bdev, BCMA_IOST);
|
||||
if (tmp & BCMA_IOST_DMA64)
|
||||
return DMA_BIT_MASK(64);
|
||||
break;
|
||||
#endif
|
||||
#ifdef CONFIG_B43_SSB
|
||||
case B43_BUS_SSB:
|
||||
tmp = ssb_read32(dev->dev->sdev, SSB_TMSHIGH);
|
||||
if (tmp & SSB_TMSHIGH_DMA64)
|
||||
return DMA_BIT_MASK(64);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
mmio_base = b43_dmacontroller_base(0, 0);
|
||||
b43_write32(dev, mmio_base + B43_DMA32_TXCTL, B43_DMA32_TXADDREXT_MASK);
|
||||
tmp = b43_read32(dev, mmio_base + B43_DMA32_TXCTL);
|
||||
|
|
|
@ -921,6 +921,8 @@ static struct usb_device_id rt2800usb_device_table[] = {
|
|||
{ USB_DEVICE(0x07d1, 0x3c16) },
|
||||
/* Draytek */
|
||||
{ USB_DEVICE(0x07fa, 0x7712) },
|
||||
/* DVICO */
|
||||
{ USB_DEVICE(0x0fe9, 0xb307) },
|
||||
/* Edimax */
|
||||
{ USB_DEVICE(0x7392, 0x7711) },
|
||||
{ USB_DEVICE(0x7392, 0x7717) },
|
||||
|
|
|
@ -2420,6 +2420,7 @@ static struct usb_device_id rt73usb_device_table[] = {
|
|||
/* Buffalo */
|
||||
{ USB_DEVICE(0x0411, 0x00d8) },
|
||||
{ USB_DEVICE(0x0411, 0x00d9) },
|
||||
{ USB_DEVICE(0x0411, 0x00e6) },
|
||||
{ USB_DEVICE(0x0411, 0x00f4) },
|
||||
{ USB_DEVICE(0x0411, 0x0116) },
|
||||
{ USB_DEVICE(0x0411, 0x0119) },
|
||||
|
|
|
@ -281,6 +281,8 @@ static struct usb_device_id rtl8192c_usb_ids[] = {
|
|||
{RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x817d, rtl92cu_hal_cfg)},
|
||||
/* 8188CE-VAU USB minCard (b/g mode only) */
|
||||
{RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x817e, rtl92cu_hal_cfg)},
|
||||
/* 8188RU in Alfa AWUS036NHR */
|
||||
{RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x817f, rtl92cu_hal_cfg)},
|
||||
/* 8188 Combo for BC4 */
|
||||
{RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8754, rtl92cu_hal_cfg)},
|
||||
|
||||
|
@ -303,20 +305,23 @@ static struct usb_device_id rtl8192c_usb_ids[] = {
|
|||
{RTL_USB_DEVICE(0x0eb0, 0x9071, rtl92cu_hal_cfg)}, /*NO Brand - Etop*/
|
||||
/* HP - Lite-On ,8188CUS Slim Combo */
|
||||
{RTL_USB_DEVICE(0x103c, 0x1629, rtl92cu_hal_cfg)},
|
||||
{RTL_USB_DEVICE(0x13d3, 0x3357, rtl92cu_hal_cfg)}, /* AzureWave */
|
||||
{RTL_USB_DEVICE(0x2001, 0x3308, rtl92cu_hal_cfg)}, /*D-Link - Alpha*/
|
||||
{RTL_USB_DEVICE(0x2019, 0xab2a, rtl92cu_hal_cfg)}, /*Planex - Abocom*/
|
||||
{RTL_USB_DEVICE(0x2019, 0xed17, rtl92cu_hal_cfg)}, /*PCI - Edimax*/
|
||||
{RTL_USB_DEVICE(0x20f4, 0x648b, rtl92cu_hal_cfg)}, /*TRENDnet - Cameo*/
|
||||
{RTL_USB_DEVICE(0x7392, 0x7811, rtl92cu_hal_cfg)}, /*Edimax - Edimax*/
|
||||
{RTL_USB_DEVICE(0x3358, 0x13d3, rtl92cu_hal_cfg)}, /*Azwave 8188CE-VAU*/
|
||||
{RTL_USB_DEVICE(0x13d3, 0x3358, rtl92cu_hal_cfg)}, /*Azwave 8188CE-VAU*/
|
||||
/* Russian customer -Azwave (8188CE-VAU b/g mode only) */
|
||||
{RTL_USB_DEVICE(0x3359, 0x13d3, rtl92cu_hal_cfg)},
|
||||
{RTL_USB_DEVICE(0x13d3, 0x3359, rtl92cu_hal_cfg)},
|
||||
{RTL_USB_DEVICE(0x4855, 0x0090, rtl92cu_hal_cfg)}, /* Feixun */
|
||||
{RTL_USB_DEVICE(0x4855, 0x0091, rtl92cu_hal_cfg)}, /* NetweeN-Feixun */
|
||||
{RTL_USB_DEVICE(0x9846, 0x9041, rtl92cu_hal_cfg)}, /* Netgear Cameo */
|
||||
|
||||
/****** 8192CU ********/
|
||||
{RTL_USB_DEVICE(0x0586, 0x341f, rtl92cu_hal_cfg)}, /*Zyxel -Abocom*/
|
||||
{RTL_USB_DEVICE(0x07aa, 0x0056, rtl92cu_hal_cfg)}, /*ATKK-Gemtek*/
|
||||
{RTL_USB_DEVICE(0x07b8, 0x8178, rtl92cu_hal_cfg)}, /*Funai -Abocom*/
|
||||
{RTL_USB_DEVICE(0x07b8, 0x8178, rtl92cu_hal_cfg)}, /*Abocom -Abocom*/
|
||||
{RTL_USB_DEVICE(0x2001, 0x3307, rtl92cu_hal_cfg)}, /*D-Link-Cameo*/
|
||||
{RTL_USB_DEVICE(0x2001, 0x3309, rtl92cu_hal_cfg)}, /*D-Link-Alpha*/
|
||||
{RTL_USB_DEVICE(0x2001, 0x330a, rtl92cu_hal_cfg)}, /*D-Link-Alpha*/
|
||||
|
|
|
@ -140,8 +140,6 @@ int wl1251_acx_sleep_auth(struct wl1251 *wl, u8 sleep_auth)
|
|||
auth->sleep_auth = sleep_auth;
|
||||
|
||||
ret = wl1251_cmd_configure(wl, ACX_SLEEP_AUTH, auth, sizeof(*auth));
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
out:
|
||||
kfree(auth);
|
||||
|
@ -681,10 +679,8 @@ int wl1251_acx_cca_threshold(struct wl1251 *wl)
|
|||
|
||||
ret = wl1251_cmd_configure(wl, ACX_CCA_THRESHOLD,
|
||||
detection, sizeof(*detection));
|
||||
if (ret < 0) {
|
||||
if (ret < 0)
|
||||
wl1251_warning("failed to set cca threshold: %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
out:
|
||||
kfree(detection);
|
||||
|
|
|
@ -241,7 +241,7 @@ int wl1251_cmd_data_path(struct wl1251 *wl, u8 channel, bool enable)
|
|||
if (ret < 0) {
|
||||
wl1251_error("tx %s cmd for channel %d failed",
|
||||
enable ? "start" : "stop", channel);
|
||||
return ret;
|
||||
goto out;
|
||||
}
|
||||
|
||||
wl1251_debug(DEBUG_BOOT, "tx %s cmd channel %d",
|
||||
|
|
Загрузка…
Ссылка в новой задаче