aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ipw2100.c6
-rw-r--r--drivers/net/wireless/ipw2200.c18
-rw-r--r--drivers/net/wireless/zd1211rw/zd_usb.c2
-rw-r--r--net/ieee80211/ieee80211_wx.c7
4 files changed, 15 insertions, 18 deletions
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
index 072ede71e575..8990585bd228 100644
--- a/drivers/net/wireless/ipw2100.c
+++ b/drivers/net/wireless/ipw2100.c
@@ -7868,10 +7868,10 @@ static int ipw2100_wx_set_powermode(struct net_device *dev,
7868 goto done; 7868 goto done;
7869 } 7869 }
7870 7870
7871 if ((mode < 1) || (mode > POWER_MODES)) 7871 if ((mode < 0) || (mode > POWER_MODES))
7872 mode = IPW_POWER_AUTO; 7872 mode = IPW_POWER_AUTO;
7873 7873
7874 if (priv->power_mode != mode) 7874 if (IPW_POWER_LEVEL(priv->power_mode) != mode)
7875 err = ipw2100_set_power_mode(priv, mode); 7875 err = ipw2100_set_power_mode(priv, mode);
7876 done: 7876 done:
7877 mutex_unlock(&priv->action_mutex); 7877 mutex_unlock(&priv->action_mutex);
@@ -7902,7 +7902,7 @@ static int ipw2100_wx_get_powermode(struct net_device *dev,
7902 break; 7902 break;
7903 case IPW_POWER_AUTO: 7903 case IPW_POWER_AUTO:
7904 snprintf(extra, MAX_POWER_STRING, 7904 snprintf(extra, MAX_POWER_STRING,
7905 "Power save level: %d (Auto)", 0); 7905 "Power save level: %d (Auto)", level);
7906 break; 7906 break;
7907 default: 7907 default:
7908 timeout = timeout_duration[level - 1] / 1000; 7908 timeout = timeout_duration[level - 1] / 1000;
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index aa32a97380ec..61497c467467 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -70,7 +70,7 @@
70#define VQ 70#define VQ
71#endif 71#endif
72 72
73#define IPW2200_VERSION "1.2.0" VK VD VM VP VR VQ 73#define IPW2200_VERSION "1.2.2" VK VD VM VP VR VQ
74#define DRV_DESCRIPTION "Intel(R) PRO/Wireless 2200/2915 Network Driver" 74#define DRV_DESCRIPTION "Intel(R) PRO/Wireless 2200/2915 Network Driver"
75#define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation" 75#define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation"
76#define DRV_VERSION IPW2200_VERSION 76#define DRV_VERSION IPW2200_VERSION
@@ -2506,7 +2506,7 @@ static int ipw_send_power_mode(struct ipw_priv *priv, u32 mode)
2506 break; 2506 break;
2507 } 2507 }
2508 2508
2509 param = cpu_to_le32(mode); 2509 param = cpu_to_le32(param);
2510 return ipw_send_cmd_pdu(priv, IPW_CMD_POWER_MODE, sizeof(param), 2510 return ipw_send_cmd_pdu(priv, IPW_CMD_POWER_MODE, sizeof(param),
2511 &param); 2511 &param);
2512} 2512}
@@ -9568,6 +9568,7 @@ static int ipw_wx_set_power(struct net_device *dev,
9568 priv->power_mode = IPW_POWER_ENABLED | IPW_POWER_BATTERY; 9568 priv->power_mode = IPW_POWER_ENABLED | IPW_POWER_BATTERY;
9569 else 9569 else
9570 priv->power_mode = IPW_POWER_ENABLED | priv->power_mode; 9570 priv->power_mode = IPW_POWER_ENABLED | priv->power_mode;
9571
9571 err = ipw_send_power_mode(priv, IPW_POWER_LEVEL(priv->power_mode)); 9572 err = ipw_send_power_mode(priv, IPW_POWER_LEVEL(priv->power_mode));
9572 if (err) { 9573 if (err) {
9573 IPW_DEBUG_WX("failed setting power mode.\n"); 9574 IPW_DEBUG_WX("failed setting power mode.\n");
@@ -9604,22 +9605,19 @@ static int ipw_wx_set_powermode(struct net_device *dev,
9604 struct ipw_priv *priv = ieee80211_priv(dev); 9605 struct ipw_priv *priv = ieee80211_priv(dev);
9605 int mode = *(int *)extra; 9606 int mode = *(int *)extra;
9606 int err; 9607 int err;
9608
9607 mutex_lock(&priv->mutex); 9609 mutex_lock(&priv->mutex);
9608 if ((mode < 1) || (mode > IPW_POWER_LIMIT)) { 9610 if ((mode < 1) || (mode > IPW_POWER_LIMIT))
9609 mode = IPW_POWER_AC; 9611 mode = IPW_POWER_AC;
9610 priv->power_mode = mode;
9611 } else {
9612 priv->power_mode = IPW_POWER_ENABLED | mode;
9613 }
9614 9612
9615 if (priv->power_mode != mode) { 9613 if (IPW_POWER_LEVEL(priv->power_mode) != mode) {
9616 err = ipw_send_power_mode(priv, mode); 9614 err = ipw_send_power_mode(priv, mode);
9617
9618 if (err) { 9615 if (err) {
9619 IPW_DEBUG_WX("failed setting power mode.\n"); 9616 IPW_DEBUG_WX("failed setting power mode.\n");
9620 mutex_unlock(&priv->mutex); 9617 mutex_unlock(&priv->mutex);
9621 return err; 9618 return err;
9622 } 9619 }
9620 priv->power_mode = IPW_POWER_ENABLED | mode;
9623 } 9621 }
9624 mutex_unlock(&priv->mutex); 9622 mutex_unlock(&priv->mutex);
9625 return 0; 9623 return 0;
@@ -10555,7 +10553,7 @@ static irqreturn_t ipw_isr(int irq, void *data)
10555 spin_lock(&priv->irq_lock); 10553 spin_lock(&priv->irq_lock);
10556 10554
10557 if (!(priv->status & STATUS_INT_ENABLED)) { 10555 if (!(priv->status & STATUS_INT_ENABLED)) {
10558 /* Shared IRQ */ 10556 /* IRQ is disabled */
10559 goto none; 10557 goto none;
10560 } 10558 }
10561 10559
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c
index 28d41a29d7b1..a9c339ef116a 100644
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
@@ -72,6 +72,8 @@ static struct usb_device_id usb_ids[] = {
72 { USB_DEVICE(0x0586, 0x3413), .driver_info = DEVICE_ZD1211B }, 72 { USB_DEVICE(0x0586, 0x3413), .driver_info = DEVICE_ZD1211B },
73 { USB_DEVICE(0x0053, 0x5301), .driver_info = DEVICE_ZD1211B }, 73 { USB_DEVICE(0x0053, 0x5301), .driver_info = DEVICE_ZD1211B },
74 { USB_DEVICE(0x0411, 0x00da), .driver_info = DEVICE_ZD1211B }, 74 { USB_DEVICE(0x0411, 0x00da), .driver_info = DEVICE_ZD1211B },
75 { USB_DEVICE(0x2019, 0x5303), .driver_info = DEVICE_ZD1211B },
76 { USB_DEVICE(0x129b, 0x1667), .driver_info = DEVICE_ZD1211B },
75 /* "Driverless" devices that need ejecting */ 77 /* "Driverless" devices that need ejecting */
76 { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER }, 78 { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER },
77 { USB_DEVICE(0x0ace, 0x20ff), .driver_info = DEVICE_INSTALLER }, 79 { USB_DEVICE(0x0ace, 0x20ff), .driver_info = DEVICE_INSTALLER },
diff --git a/net/ieee80211/ieee80211_wx.c b/net/ieee80211/ieee80211_wx.c
index 523a137d49dd..465b73d50532 100644
--- a/net/ieee80211/ieee80211_wx.c
+++ b/net/ieee80211/ieee80211_wx.c
@@ -90,14 +90,11 @@ static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
90 } 90 }
91 91
92 /* Add channel and frequency */ 92 /* Add channel and frequency */
93 /* Note : userspace automatically computes channel using iwrange */
93 iwe.cmd = SIOCGIWFREQ; 94 iwe.cmd = SIOCGIWFREQ;
94 iwe.u.freq.m = network->channel;
95 iwe.u.freq.e = 0;
96 iwe.u.freq.i = 0;
97 start = iwe_stream_add_event(start, stop, &iwe, IW_EV_FREQ_LEN);
98
99 iwe.u.freq.m = ieee80211_channel_to_freq(ieee, network->channel); 95 iwe.u.freq.m = ieee80211_channel_to_freq(ieee, network->channel);
100 iwe.u.freq.e = 6; 96 iwe.u.freq.e = 6;
97 iwe.u.freq.i = 0;
101 start = iwe_stream_add_event(start, stop, &iwe, IW_EV_FREQ_LEN); 98 start = iwe_stream_add_event(start, stop, &iwe, IW_EV_FREQ_LEN);
102 99
103 /* Add encryption capability */ 100 /* Add encryption capability */