diff options
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 5 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-devtrace.c | 26 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-devtrace.h | 26 | ||||
| -rw-r--r-- | drivers/net/wireless/iwmc3200wifi/commands.c | 4 | ||||
| -rw-r--r-- | drivers/net/wireless/iwmc3200wifi/commands.h | 1 | ||||
| -rw-r--r-- | drivers/net/wireless/p54/p54pci.c | 8 | ||||
| -rw-r--r-- | drivers/net/wireless/zd1211rw/zd_usb.c | 1 | ||||
| -rw-r--r-- | net/mac80211/cfg.c | 3 | ||||
| -rw-r--r-- | net/mac80211/rc80211_pid_algo.c | 2 | ||||
| -rw-r--r-- | net/wireless/sme.c | 1 |
10 files changed, 76 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index 33a5866538e7..de45f308b744 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
| @@ -1598,6 +1598,7 @@ struct iwl_cfg iwl5300_agn_cfg = { | |||
| 1598 | .use_bsm = false, | 1598 | .use_bsm = false, |
| 1599 | .ht_greenfield_support = true, | 1599 | .ht_greenfield_support = true, |
| 1600 | .led_compensation = 51, | 1600 | .led_compensation = 51, |
| 1601 | .use_rts_for_ht = true, /* use rts/cts protection */ | ||
| 1601 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, | 1602 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, |
| 1602 | .sm_ps_mode = WLAN_HT_CAP_SM_PS_DISABLED, | 1603 | .sm_ps_mode = WLAN_HT_CAP_SM_PS_DISABLED, |
| 1603 | }; | 1604 | }; |
| @@ -1622,6 +1623,7 @@ struct iwl_cfg iwl5100_bgn_cfg = { | |||
| 1622 | .use_bsm = false, | 1623 | .use_bsm = false, |
| 1623 | .ht_greenfield_support = true, | 1624 | .ht_greenfield_support = true, |
| 1624 | .led_compensation = 51, | 1625 | .led_compensation = 51, |
| 1626 | .use_rts_for_ht = true, /* use rts/cts protection */ | ||
| 1625 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, | 1627 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, |
| 1626 | }; | 1628 | }; |
| 1627 | 1629 | ||
| @@ -1667,6 +1669,7 @@ struct iwl_cfg iwl5100_agn_cfg = { | |||
| 1667 | .use_bsm = false, | 1669 | .use_bsm = false, |
| 1668 | .ht_greenfield_support = true, | 1670 | .ht_greenfield_support = true, |
| 1669 | .led_compensation = 51, | 1671 | .led_compensation = 51, |
| 1672 | .use_rts_for_ht = true, /* use rts/cts protection */ | ||
| 1670 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, | 1673 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, |
| 1671 | .sm_ps_mode = WLAN_HT_CAP_SM_PS_DISABLED, | 1674 | .sm_ps_mode = WLAN_HT_CAP_SM_PS_DISABLED, |
| 1672 | }; | 1675 | }; |
| @@ -1691,6 +1694,7 @@ struct iwl_cfg iwl5350_agn_cfg = { | |||
| 1691 | .use_bsm = false, | 1694 | .use_bsm = false, |
| 1692 | .ht_greenfield_support = true, | 1695 | .ht_greenfield_support = true, |
| 1693 | .led_compensation = 51, | 1696 | .led_compensation = 51, |
| 1697 | .use_rts_for_ht = true, /* use rts/cts protection */ | ||
| 1694 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, | 1698 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, |
| 1695 | .sm_ps_mode = WLAN_HT_CAP_SM_PS_DISABLED, | 1699 | .sm_ps_mode = WLAN_HT_CAP_SM_PS_DISABLED, |
| 1696 | }; | 1700 | }; |
| @@ -1715,6 +1719,7 @@ struct iwl_cfg iwl5150_agn_cfg = { | |||
| 1715 | .use_bsm = false, | 1719 | .use_bsm = false, |
| 1716 | .ht_greenfield_support = true, | 1720 | .ht_greenfield_support = true, |
| 1717 | .led_compensation = 51, | 1721 | .led_compensation = 51, |
| 1722 | .use_rts_for_ht = true, /* use rts/cts protection */ | ||
| 1718 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, | 1723 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, |
| 1719 | .sm_ps_mode = WLAN_HT_CAP_SM_PS_DISABLED, | 1724 | .sm_ps_mode = WLAN_HT_CAP_SM_PS_DISABLED, |
| 1720 | }; | 1725 | }; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-devtrace.c b/drivers/net/wireless/iwlwifi/iwl-devtrace.c index e7d88d1da15d..83cc4e500a96 100644 --- a/drivers/net/wireless/iwlwifi/iwl-devtrace.c +++ b/drivers/net/wireless/iwlwifi/iwl-devtrace.c | |||
| @@ -1,3 +1,29 @@ | |||
| 1 | /****************************************************************************** | ||
| 2 | * | ||
| 3 | * Copyright(c) 2009 - 2010 Intel Corporation. All rights reserved. | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify it | ||
| 6 | * under the terms of version 2 of the GNU General Public License as | ||
| 7 | * published by the Free Software Foundation. | ||
| 8 | * | ||
| 9 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
| 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
| 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
| 12 | * more details. | ||
| 13 | * | ||
| 14 | * You should have received a copy of the GNU General Public License along with | ||
| 15 | * this program; if not, write to the Free Software Foundation, Inc., | ||
| 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA | ||
| 17 | * | ||
| 18 | * The full GNU General Public License is included in this distribution in the | ||
| 19 | * file called LICENSE. | ||
| 20 | * | ||
| 21 | * Contact Information: | ||
| 22 | * Intel Linux Wireless <ilw@linux.intel.com> | ||
| 23 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 | ||
| 24 | * | ||
| 25 | *****************************************************************************/ | ||
| 26 | |||
| 1 | #include <linux/module.h> | 27 | #include <linux/module.h> |
| 2 | 28 | ||
| 3 | /* sparse doesn't like tracepoint macros */ | 29 | /* sparse doesn't like tracepoint macros */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-devtrace.h b/drivers/net/wireless/iwlwifi/iwl-devtrace.h index 21361968ab7e..d9c7363b1bbb 100644 --- a/drivers/net/wireless/iwlwifi/iwl-devtrace.h +++ b/drivers/net/wireless/iwlwifi/iwl-devtrace.h | |||
| @@ -1,3 +1,29 @@ | |||
| 1 | /****************************************************************************** | ||
| 2 | * | ||
| 3 | * Copyright(c) 2009 - 2010 Intel Corporation. All rights reserved. | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify it | ||
| 6 | * under the terms of version 2 of the GNU General Public License as | ||
| 7 | * published by the Free Software Foundation. | ||
| 8 | * | ||
| 9 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
| 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
| 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
| 12 | * more details. | ||
| 13 | * | ||
| 14 | * You should have received a copy of the GNU General Public License along with | ||
| 15 | * this program; if not, write to the Free Software Foundation, Inc., | ||
| 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA | ||
| 17 | * | ||
| 18 | * The full GNU General Public License is included in this distribution in the | ||
| 19 | * file called LICENSE. | ||
| 20 | * | ||
| 21 | * Contact Information: | ||
| 22 | * Intel Linux Wireless <ilw@linux.intel.com> | ||
| 23 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 | ||
| 24 | * | ||
| 25 | *****************************************************************************/ | ||
| 26 | |||
| 1 | #if !defined(__IWLWIFI_DEVICE_TRACE) || defined(TRACE_HEADER_MULTI_READ) | 27 | #if !defined(__IWLWIFI_DEVICE_TRACE) || defined(TRACE_HEADER_MULTI_READ) |
| 2 | #define __IWLWIFI_DEVICE_TRACE | 28 | #define __IWLWIFI_DEVICE_TRACE |
| 3 | 29 | ||
diff --git a/drivers/net/wireless/iwmc3200wifi/commands.c b/drivers/net/wireless/iwmc3200wifi/commands.c index 777584d76a88..1e41ad0fcad5 100644 --- a/drivers/net/wireless/iwmc3200wifi/commands.c +++ b/drivers/net/wireless/iwmc3200wifi/commands.c | |||
| @@ -973,6 +973,10 @@ int iwm_send_pmkid_update(struct iwm_priv *iwm, | |||
| 973 | 973 | ||
| 974 | memset(&update, 0, sizeof(struct iwm_umac_pmkid_update)); | 974 | memset(&update, 0, sizeof(struct iwm_umac_pmkid_update)); |
| 975 | 975 | ||
| 976 | update.hdr.oid = UMAC_WIFI_IF_CMD_PMKID_UPDATE; | ||
| 977 | update.hdr.buf_size = cpu_to_le16(sizeof(struct iwm_umac_pmkid_update) - | ||
| 978 | sizeof(struct iwm_umac_wifi_if)); | ||
| 979 | |||
| 976 | update.command = cpu_to_le32(command); | 980 | update.command = cpu_to_le32(command); |
| 977 | if (pmksa->bssid) | 981 | if (pmksa->bssid) |
| 978 | memcpy(&update.bssid, pmksa->bssid, ETH_ALEN); | 982 | memcpy(&update.bssid, pmksa->bssid, ETH_ALEN); |
diff --git a/drivers/net/wireless/iwmc3200wifi/commands.h b/drivers/net/wireless/iwmc3200wifi/commands.h index 06af0552cd75..3dfd9f0e9003 100644 --- a/drivers/net/wireless/iwmc3200wifi/commands.h +++ b/drivers/net/wireless/iwmc3200wifi/commands.h | |||
| @@ -463,6 +463,7 @@ struct iwm_umac_cmd_stop_resume_tx { | |||
| 463 | #define IWM_CMD_PMKID_FLUSH 3 | 463 | #define IWM_CMD_PMKID_FLUSH 3 |
| 464 | 464 | ||
| 465 | struct iwm_umac_pmkid_update { | 465 | struct iwm_umac_pmkid_update { |
| 466 | struct iwm_umac_wifi_if hdr; | ||
| 466 | __le32 command; | 467 | __le32 command; |
| 467 | u8 bssid[ETH_ALEN]; | 468 | u8 bssid[ETH_ALEN]; |
| 468 | __le16 reserved; | 469 | __le16 reserved; |
diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c index a15962a19b2a..a72f7c2577de 100644 --- a/drivers/net/wireless/p54/p54pci.c +++ b/drivers/net/wireless/p54/p54pci.c | |||
| @@ -197,6 +197,14 @@ static void p54p_check_rx_ring(struct ieee80211_hw *dev, u32 *index, | |||
| 197 | i %= ring_limit; | 197 | i %= ring_limit; |
| 198 | continue; | 198 | continue; |
| 199 | } | 199 | } |
| 200 | |||
| 201 | if (unlikely(len > priv->common.rx_mtu)) { | ||
| 202 | if (net_ratelimit()) | ||
| 203 | dev_err(&priv->pdev->dev, "rx'd frame size " | ||
| 204 | "exceeds length threshold.\n"); | ||
| 205 | |||
| 206 | len = priv->common.rx_mtu; | ||
| 207 | } | ||
| 200 | skb_put(skb, len); | 208 | skb_put(skb, len); |
| 201 | 209 | ||
| 202 | if (p54_rx(dev, skb)) { | 210 | if (p54_rx(dev, skb)) { |
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c index ac19ecd19cfe..72d3e437e190 100644 --- a/drivers/net/wireless/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/zd1211rw/zd_usb.c | |||
| @@ -62,6 +62,7 @@ static struct usb_device_id usb_ids[] = { | |||
| 62 | { USB_DEVICE(0x6891, 0xa727), .driver_info = DEVICE_ZD1211 }, | 62 | { USB_DEVICE(0x6891, 0xa727), .driver_info = DEVICE_ZD1211 }, |
| 63 | /* ZD1211B */ | 63 | /* ZD1211B */ |
| 64 | { USB_DEVICE(0x0053, 0x5301), .driver_info = DEVICE_ZD1211B }, | 64 | { USB_DEVICE(0x0053, 0x5301), .driver_info = DEVICE_ZD1211B }, |
| 65 | { USB_DEVICE(0x0409, 0x0248), .driver_info = DEVICE_ZD1211B }, | ||
| 65 | { USB_DEVICE(0x0411, 0x00da), .driver_info = DEVICE_ZD1211B }, | 66 | { USB_DEVICE(0x0411, 0x00da), .driver_info = DEVICE_ZD1211B }, |
| 66 | { USB_DEVICE(0x0471, 0x1236), .driver_info = DEVICE_ZD1211B }, | 67 | { USB_DEVICE(0x0471, 0x1236), .driver_info = DEVICE_ZD1211B }, |
| 67 | { USB_DEVICE(0x0471, 0x1237), .driver_info = DEVICE_ZD1211B }, | 68 | { USB_DEVICE(0x0471, 0x1237), .driver_info = DEVICE_ZD1211B }, |
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 6dc3579c0ac5..9ae1a4760b58 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
| @@ -1331,6 +1331,9 @@ static int ieee80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *dev, | |||
| 1331 | struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); | 1331 | struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); |
| 1332 | struct ieee80211_conf *conf = &local->hw.conf; | 1332 | struct ieee80211_conf *conf = &local->hw.conf; |
| 1333 | 1333 | ||
| 1334 | if (sdata->vif.type != NL80211_IFTYPE_STATION) | ||
| 1335 | return -EOPNOTSUPP; | ||
| 1336 | |||
| 1334 | if (!(local->hw.flags & IEEE80211_HW_SUPPORTS_PS)) | 1337 | if (!(local->hw.flags & IEEE80211_HW_SUPPORTS_PS)) |
| 1335 | return -EOPNOTSUPP; | 1338 | return -EOPNOTSUPP; |
| 1336 | 1339 | ||
diff --git a/net/mac80211/rc80211_pid_algo.c b/net/mac80211/rc80211_pid_algo.c index 699d3ed869c4..29bc4c516238 100644 --- a/net/mac80211/rc80211_pid_algo.c +++ b/net/mac80211/rc80211_pid_algo.c | |||
| @@ -190,7 +190,7 @@ static void rate_control_pid_sample(struct rc_pid_info *pinfo, | |||
| 190 | rate_control_pid_normalize(pinfo, sband->n_bitrates); | 190 | rate_control_pid_normalize(pinfo, sband->n_bitrates); |
| 191 | 191 | ||
| 192 | /* Compute the proportional, integral and derivative errors. */ | 192 | /* Compute the proportional, integral and derivative errors. */ |
| 193 | err_prop = (pinfo->target << RC_PID_ARITH_SHIFT) - pf; | 193 | err_prop = (pinfo->target - pf) << RC_PID_ARITH_SHIFT; |
| 194 | 194 | ||
| 195 | err_avg = spinfo->err_avg_sc >> pinfo->smoothing_shift; | 195 | err_avg = spinfo->err_avg_sc >> pinfo->smoothing_shift; |
| 196 | spinfo->err_avg_sc = spinfo->err_avg_sc - err_avg + err_prop; | 196 | spinfo->err_avg_sc = spinfo->err_avg_sc - err_avg + err_prop; |
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 2333d78187e4..dc0fc4989d54 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c | |||
| @@ -655,6 +655,7 @@ void __cfg80211_disconnected(struct net_device *dev, const u8 *ie, | |||
| 655 | memset(&wrqu, 0, sizeof(wrqu)); | 655 | memset(&wrqu, 0, sizeof(wrqu)); |
| 656 | wrqu.ap_addr.sa_family = ARPHRD_ETHER; | 656 | wrqu.ap_addr.sa_family = ARPHRD_ETHER; |
| 657 | wireless_send_event(dev, SIOCGIWAP, &wrqu, NULL); | 657 | wireless_send_event(dev, SIOCGIWAP, &wrqu, NULL); |
| 658 | wdev->wext.connect.ssid_len = 0; | ||
| 658 | #endif | 659 | #endif |
| 659 | } | 660 | } |
| 660 | 661 | ||
