Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
This commit is contained in:
commit
02f1ce35be
|
@ -588,8 +588,6 @@ static void p54spi_op_stop(struct ieee80211_hw *dev)
|
||||||
|
|
||||||
WARN_ON(priv->fw_state != FW_STATE_READY);
|
WARN_ON(priv->fw_state != FW_STATE_READY);
|
||||||
|
|
||||||
cancel_work_sync(&priv->work);
|
|
||||||
|
|
||||||
p54spi_power_off(priv);
|
p54spi_power_off(priv);
|
||||||
spin_lock_irqsave(&priv->tx_lock, flags);
|
spin_lock_irqsave(&priv->tx_lock, flags);
|
||||||
INIT_LIST_HEAD(&priv->tx_pending);
|
INIT_LIST_HEAD(&priv->tx_pending);
|
||||||
|
@ -597,6 +595,8 @@ static void p54spi_op_stop(struct ieee80211_hw *dev)
|
||||||
|
|
||||||
priv->fw_state = FW_STATE_OFF;
|
priv->fw_state = FW_STATE_OFF;
|
||||||
mutex_unlock(&priv->mutex);
|
mutex_unlock(&priv->mutex);
|
||||||
|
|
||||||
|
cancel_work_sync(&priv->work);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit p54spi_probe(struct spi_device *spi)
|
static int __devinit p54spi_probe(struct spi_device *spi)
|
||||||
|
@ -656,6 +656,7 @@ static int __devinit p54spi_probe(struct spi_device *spi)
|
||||||
init_completion(&priv->fw_comp);
|
init_completion(&priv->fw_comp);
|
||||||
INIT_LIST_HEAD(&priv->tx_pending);
|
INIT_LIST_HEAD(&priv->tx_pending);
|
||||||
mutex_init(&priv->mutex);
|
mutex_init(&priv->mutex);
|
||||||
|
spin_lock_init(&priv->tx_lock);
|
||||||
SET_IEEE80211_DEV(hw, &spi->dev);
|
SET_IEEE80211_DEV(hw, &spi->dev);
|
||||||
priv->common.open = p54spi_op_start;
|
priv->common.open = p54spi_op_start;
|
||||||
priv->common.stop = p54spi_op_stop;
|
priv->common.stop = p54spi_op_stop;
|
||||||
|
|
|
@ -778,7 +778,7 @@ prism54_get_essid(struct net_device *ndev, struct iw_request_info *info,
|
||||||
dwrq->flags = 0;
|
dwrq->flags = 0;
|
||||||
dwrq->length = 0;
|
dwrq->length = 0;
|
||||||
}
|
}
|
||||||
essid->octets[essid->length] = '\0';
|
essid->octets[dwrq->length] = '\0';
|
||||||
memcpy(extra, essid->octets, dwrq->length);
|
memcpy(extra, essid->octets, dwrq->length);
|
||||||
kfree(essid);
|
kfree(essid);
|
||||||
|
|
||||||
|
|
|
@ -3771,7 +3771,7 @@ static void rt2800_efuse_read(struct rt2x00_dev *rt2x00dev, unsigned int i)
|
||||||
/* Apparently the data is read from end to start */
|
/* Apparently the data is read from end to start */
|
||||||
rt2800_register_read_lock(rt2x00dev, EFUSE_DATA3, ®);
|
rt2800_register_read_lock(rt2x00dev, EFUSE_DATA3, ®);
|
||||||
/* The returned value is in CPU order, but eeprom is le */
|
/* The returned value is in CPU order, but eeprom is le */
|
||||||
rt2x00dev->eeprom[i] = cpu_to_le32(reg);
|
*(u32 *)&rt2x00dev->eeprom[i] = cpu_to_le32(reg);
|
||||||
rt2800_register_read_lock(rt2x00dev, EFUSE_DATA2, ®);
|
rt2800_register_read_lock(rt2x00dev, EFUSE_DATA2, ®);
|
||||||
*(u32 *)&rt2x00dev->eeprom[i + 2] = cpu_to_le32(reg);
|
*(u32 *)&rt2x00dev->eeprom[i + 2] = cpu_to_le32(reg);
|
||||||
rt2800_register_read_lock(rt2x00dev, EFUSE_DATA1, ®);
|
rt2800_register_read_lock(rt2x00dev, EFUSE_DATA1, ®);
|
||||||
|
|
|
@ -274,9 +274,9 @@ static ssize_t sta_ht_capa_read(struct file *file, char __user *userbuf,
|
||||||
|
|
||||||
PRINT_HT_CAP((htc->cap & BIT(10)), "HT Delayed Block Ack");
|
PRINT_HT_CAP((htc->cap & BIT(10)), "HT Delayed Block Ack");
|
||||||
|
|
||||||
PRINT_HT_CAP((htc->cap & BIT(11)), "Max AMSDU length: "
|
|
||||||
"3839 bytes");
|
|
||||||
PRINT_HT_CAP(!(htc->cap & BIT(11)), "Max AMSDU length: "
|
PRINT_HT_CAP(!(htc->cap & BIT(11)), "Max AMSDU length: "
|
||||||
|
"3839 bytes");
|
||||||
|
PRINT_HT_CAP((htc->cap & BIT(11)), "Max AMSDU length: "
|
||||||
"7935 bytes");
|
"7935 bytes");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -260,7 +260,7 @@ static void ieee80211_add_tx_radiotap_header(struct ieee80211_supported_band
|
||||||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
|
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
|
||||||
struct ieee80211_radiotap_header *rthdr;
|
struct ieee80211_radiotap_header *rthdr;
|
||||||
unsigned char *pos;
|
unsigned char *pos;
|
||||||
__le16 txflags;
|
u16 txflags;
|
||||||
|
|
||||||
rthdr = (struct ieee80211_radiotap_header *) skb_push(skb, rtap_len);
|
rthdr = (struct ieee80211_radiotap_header *) skb_push(skb, rtap_len);
|
||||||
|
|
||||||
|
@ -290,13 +290,13 @@ static void ieee80211_add_tx_radiotap_header(struct ieee80211_supported_band
|
||||||
txflags = 0;
|
txflags = 0;
|
||||||
if (!(info->flags & IEEE80211_TX_STAT_ACK) &&
|
if (!(info->flags & IEEE80211_TX_STAT_ACK) &&
|
||||||
!is_multicast_ether_addr(hdr->addr1))
|
!is_multicast_ether_addr(hdr->addr1))
|
||||||
txflags |= cpu_to_le16(IEEE80211_RADIOTAP_F_TX_FAIL);
|
txflags |= IEEE80211_RADIOTAP_F_TX_FAIL;
|
||||||
|
|
||||||
if ((info->status.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) ||
|
if ((info->status.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) ||
|
||||||
(info->status.rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT))
|
(info->status.rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT))
|
||||||
txflags |= cpu_to_le16(IEEE80211_RADIOTAP_F_TX_CTS);
|
txflags |= IEEE80211_RADIOTAP_F_TX_CTS;
|
||||||
else if (info->status.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS)
|
else if (info->status.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS)
|
||||||
txflags |= cpu_to_le16(IEEE80211_RADIOTAP_F_TX_RTS);
|
txflags |= IEEE80211_RADIOTAP_F_TX_RTS;
|
||||||
|
|
||||||
put_unaligned_le16(txflags, pos);
|
put_unaligned_le16(txflags, pos);
|
||||||
pos += 2;
|
pos += 2;
|
||||||
|
|
|
@ -2037,6 +2037,10 @@ static int __set_regdom(const struct ieee80211_regdomain *rd)
|
||||||
}
|
}
|
||||||
|
|
||||||
request_wiphy = wiphy_idx_to_wiphy(last_request->wiphy_idx);
|
request_wiphy = wiphy_idx_to_wiphy(last_request->wiphy_idx);
|
||||||
|
if (!request_wiphy) {
|
||||||
|
reg_set_request_processed();
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
if (!last_request->intersect) {
|
if (!last_request->intersect) {
|
||||||
int r;
|
int r;
|
||||||
|
|
Loading…
Reference in New Issue