diff options
-rw-r--r-- | drivers/net/wireless/ipw2100.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 18 | ||||
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_usb.c | 2 | ||||
-rw-r--r-- | net/ieee80211/ieee80211_wx.c | 7 |
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 | ¶m); | 2511 | ¶m); |
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 */ |