Skip to contentSkip to conversation

mac80211 fixes for 2.6.22

PATCH New John W. Linville 3 participants 5 messages Jun 12, 2007 1 message not in the archive

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

Dave,

Here are a few mac80211 patches appropriate for 2.6.22.

Individual patches to follow, or you can pull at your leisure...

John

---

The following changes since commit 5ecd3100e695228ac5e0ce0e325e252c0f11806f:
Linus Torvalds (1):

        Linux 2.6.22-rc4

are found in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git mac80211-fixes

David Lamparter (1):
cfg80211: fix signed macaddress in sysfs

Johannes Berg (1):
mac80211: fix debugfs tx power reduction output

Mattias Nissler (1):
mac80211: Don't stop tx queue on master device while scanning.

 net/mac80211/debugfs.c       |    2 +-
 net/mac80211/ieee80211_sta.c |   12 ++++++++++++
 net/wireless/sysfs.c         |    2 +-
 3 files changed, 14 insertions(+), 2 deletions(-)
Signature · 2 lines
John W. Linville
[email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw

PATCH 1/1 cfg80211: fix signed macaddress in sysfs

From: David Lamparter <[email protected]>

Fix signedness mixup making mac addresses show up strangely (like 00:11:22:33:44:ffffffaa) in /sys/class/ieee80211/*/macaddress.

---
 net/wireless/sysfs.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/wireless/sysfs.c +1 -1
index 3ebae14..88aaacd 100644
@@ -33,7 +33,7 @@ static ssize_t _show_permaddr(struct device *dev,
 			      struct device_attribute *attr,
 			      char *buf)
 {
-	char *addr = dev_to_rdev(dev)->wiphy.perm_addr;
+	unsigned char *addr = dev_to_rdev(dev)->wiphy.perm_addr;
 
 	return sprintf(buf, "%.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
 		       addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
Signature · 5 lines
1.5.0.6

-- 
John W. Linville
[email protected]
#3 lore raw

PATCH 1/1 mac80211: fix debugfs tx power reduction output

From: Johannes Berg <[email protected]>

This patch fixes a typo in mac80211's debugfs.c.

---
 net/mac80211/debugfs.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/mac80211/debugfs.c +1 -1
index bb6c0fe..476c848 100644
@@ -112,7 +112,7 @@ DEBUGFS_READONLY_FILE(wep_iv, 20, "%#06x",
 		      local->wep_iv & 0xffffff);
 DEBUGFS_READONLY_FILE(tx_power_reduction, 20, "%d.%d dBm",
 		      local->hw.conf.tx_power_reduction / 10,
-		      local->hw.conf.tx_power_reduction & 10);
+		      local->hw.conf.tx_power_reduction % 10);
 DEBUGFS_READONLY_FILE(rate_ctrl_alg, 100, "%s",
 		      local->rate_ctrl ? local->rate_ctrl->ops->name : "<unset>");
 
Signature · 5 lines
1.5.0.6

-- 
John W. Linville
[email protected]
#4 lore raw

PATCH 1/1 mac80211: Don't stop tx queue on master device while scanning.

From: Mattias Nissler <[email protected]>

mac80211 stops the tx queues during scans. This is wrong with respect to the master deivce tx queue, since stopping it prevents any probes from being sent during the scan. Instead, they accumulate in the queue and are only sent after the scan is finished, which is obviously wrong.

---
 net/mac80211/ieee80211_sta.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
net/mac80211/ieee80211_sta.c +12 -0
index 9f30ae4..91b545c 100644
@@ -2592,11 +2592,17 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw)
 
 	read_lock(&local->sub_if_lock);
 	list_for_each_entry(sdata, &local->sub_if_list, list) {
+
+		/* No need to wake the master device. */
+		if (sdata->dev == local->mdev)
+			continue;
+
 		if (sdata->type == IEEE80211_IF_TYPE_STA) {
 			if (sdata->u.sta.associated)
 				ieee80211_send_nullfunc(local, sdata, 0);
 			ieee80211_sta_timer((unsigned long)sdata);
 		}
+
 		netif_wake_queue(sdata->dev);
 	}
 	read_unlock(&local->sub_if_lock);
@@ -2738,6 +2744,12 @@ static int ieee80211_sta_start_scan(struct net_device *dev,
 
 	read_lock(&local->sub_if_lock);
 	list_for_each_entry(sdata, &local->sub_if_list, list) {
+
+		/* Don't stop the master interface, otherwise we can't transmit
+		 * probes! */
+		if (sdata->dev == local->mdev)
+			continue;
+
 		netif_stop_queue(sdata->dev);
 		if (sdata->type == IEEE80211_IF_TYPE_STA &&
 		    sdata->u.sta.associated)
Signature · 5 lines
1.5.0.6

-- 
John W. Linville
[email protected]
maintainer
#5 lore raw
In reply to John W. Linville

From: "John W. Linville" <[email protected]>
Date: Mon, 11 Jun 2007 21:16:16 -0400

Quoted 3 lines

Here are a few mac80211 patches appropriate for 2.6.22.

Individual patches to follow, or you can pull at your leisure...

...

Quoted 1 line

git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git mac80211-fixes

Pulled, thanks John.