Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH 2/2] compat: backport sdio_writeb_readb
From: Hauke Mehrtens @ 2010-06-13 19:56 UTC (permalink / raw)
  To: lrodriguez; +Cc: linux-wireless, mcgrof, Hauke Mehrtens
In-Reply-To: <1276459009-17168-1-git-send-email-hauke@hauke-m.de>

This is needed by wl1251_sdio.c
Use sdio_readb instead of sdio_writeb_readb as long as sdio_writeb_readb was not realy backported.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 include/linux/compat-2.6.35.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/linux/compat-2.6.35.h b/include/linux/compat-2.6.35.h
index 886815d..c6e7136 100644
--- a/include/linux/compat-2.6.35.h
+++ b/include/linux/compat-2.6.35.h
@@ -23,6 +23,8 @@ static inline wait_queue_head_t *sk_sleep(struct sock *sk)
 	return sk->sk_sleep;
 }
 
+#define sdio_writeb_readb(func, write_byte, addr, err_ret) sdio_readb(func, addr, err_ret)
+
 #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)) */
 
 #endif /* LINUX_26_35_COMPAT_H */
-- 
1.7.0.4


^ permalink raw reply related

* [PATCH 1/2] compat: backport dma_set_coherent_mask
From: Hauke Mehrtens @ 2010-06-13 19:56 UTC (permalink / raw)
  To: lrodriguez; +Cc: linux-wireless, mcgrof, Hauke Mehrtens


Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 include/linux/compat-2.6.34.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/include/linux/compat-2.6.34.h b/include/linux/compat-2.6.34.h
index b1c15a7..336c61b 100644
--- a/include/linux/compat-2.6.34.h
+++ b/include/linux/compat-2.6.34.h
@@ -216,6 +216,14 @@ do {							\
 #define dma_unmap_len_set(PTR, LEN_NAME, VAL)    do { } while (0)
 #endif
 
+static inline int dma_set_coherent_mask(struct device *dev, u64 mask)
+{
+	if (!dma_supported(dev, mask))
+		return -EIO;
+	dev->coherent_dma_mask = mask;
+	return 0;
+}
+
 #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)) */
 
 #endif /* LINUX_26_34_COMPAT_H */
-- 
1.7.0.4


^ permalink raw reply related

* [PATCH 2/2] rt2x00: Disable Mesh mode for USB drivers
From: Ivo van Doorn @ 2010-06-13 18:16 UTC (permalink / raw)
  To: John W. Linville; +Cc: rt2x00 Users List, linux-wireless, Johannes Berg
In-Reply-To: <201006132015.10629.IvDoorn@gmail.com>

bss_info_changed must be atomic in Mesh mode.
As a result it must be disabled for all USB drivers.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
 drivers/net/wireless/rt2x00/rt2x00dev.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index 7d30efd..8661ada 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -852,13 +852,22 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev)
 	 * beacon entries.
 	 */
 	rt2x00dev->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
-	if (rt2x00dev->ops->bcn->entry_num > 0)
+	if (rt2x00dev->ops->bcn->entry_num > 0) {
 		rt2x00dev->hw->wiphy->interface_modes |=
 		    BIT(NL80211_IFTYPE_ADHOC) |
 		    BIT(NL80211_IFTYPE_AP) |
-		    BIT(NL80211_IFTYPE_MESH_POINT) |
 		    BIT(NL80211_IFTYPE_WDS);
 
+		/*
+ 		 * The bss_info_changed() callback function is not
+ 		 * allowed to sleep in mesh mode. As a result, we
+ 		 * can't support Mesh mode for the USB drivers.
+ 		 */
+		if (!rt2x00_is_usb(rt2x00dev))
+			rt2x00dev->hw->wiphy->interface_modes |=
+			    BIT(NL80211_IFTYPE_MESH_POINT);
+	}
+
 	/*
 	 * Let the driver probe the device to detect the capabilities.
 	 */
-- 
1.6.6.1


^ permalink raw reply related

* [PATCH 1/2] mac80211: Fix bss_info_changed comment regarding sleeping
From: Ivo van Doorn @ 2010-06-13 18:15 UTC (permalink / raw)
  To: John W. Linville; +Cc: rt2x00 Users List, linux-wireless, Johannes Berg

The bss_info_changed callback function is allowed to sleep,
however when operating in Mesh mode, it can be used in
atomic context. Fixing it would seem to require major
locking changes in the mesh implementation.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
 include/net/mac80211.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index de22cbf..73cf3ad 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1533,7 +1533,8 @@ enum ieee80211_ampdu_mlme_action {
  *	This function should not be used if no BSS has been set, unless
  *	for association indication. The @changed parameter indicates which
  *	of the bss parameters has changed when a call is made. The callback
- *	can sleep.
+ *	can sleep except when operating in Mesh mode where the callback
+ *	must be atomic.
  *
  * @prepare_multicast: Prepare for multicast filter configuration.
  *	This callback is optional, and its return value is passed
-- 
1.6.6.1


^ permalink raw reply related

* DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 19
From: sundar mahadevan @ 2010-06-13 17:08 UTC (permalink / raw)
  To: linux-wireless

Hi All,
Greetings. I am on Oracle Enterprise Linux (OEL 5.5 x86_64) same as
Redhat 5.5. I must use OEL5.5 because of my software installation
requirements. NetworkManager detects my ssid but its just not getting
ip from my router assigned. I use a Belkin 54g router with WPA/WPA2
encryption. The other options available on my router are WPA2 only,
WEP and Disabled. I have spent more than 20 hours trying to get wifi
working but no luck. Your help is highly appreciated.

[root@localhost ~]$uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Mon Mar 29 22:10:29
EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost /etc/wpa_supplicant]$lspci | grep -i ath
04:00.0 Network controller: Atheros Communications Inc. AR928X
Wireless Network Adapter (PCI-Express) (rev 01)

[root@localhost /etc/wpa_supplicant]$cat wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel

network={
        ssid="any"
        key_mgmt=NONE
}

[root@localhost ~]$service network restart
Shutting down interface wlan0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:
Determining IP information for eth0...dhclient(5038) is already
running - exiting.
exiting.
 failed.
                                                           [FAILED]
Bringing up interface wlan0:  Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.

Determining IP information for wlan0... failed.
                                                           [FAILED]

[root@localhost /etc/sysconfig/network-scripts]$cat ifcfg-wlan0
# Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express)
DEVICE=wlan0
BOOTPROTO=dhcp
ONBOOT=yes
HWADDR=90:4c:e5:56:ce:14
NETMASK=
DHCP_HOSTNAME=
IPADDR=
BONDING_OPTS=
DOMAIN=
MASTER=
TYPE=Wireless
USERCTL=no
IPV6INIT=no
PEERDNS=yes
ESSID=suma
CHANNEL=9
MODE=Auto
SECURITYMODE=off
RATE=auto

[root@localhost ~]$tail -f /var/log/messages
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
starting connection 'Auto suma'
Jun 12 23:37:36 localhost NetworkManager: (info)  (wlan0): device
state change: 3 -> 4
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 1 of 5 (Device Prepare) scheduled...
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 1 of 5 (Device Prepare) started...
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 2 of 5 (Device Configure) scheduled...
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 1 of 5 (Device Prepare) complete.
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 2 of 5 (Device Configure) starting...
Jun 12 23:37:36 localhost NetworkManager: (info)  (wlan0): device
state change: 4 -> 5
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation
(wlan0/wireless): access point 'Auto suma' has security, but secrets
are required.
Jun 12 23:37:36 localhost NetworkManager: (info)  (wlan0): device
state change: 5 -> 6
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 2 of 5 (Device Configure) complete.
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 1 of 5 (Device Prepare) scheduled...
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 1 of 5 (Device Prepare) started...
Jun 12 23:37:36 localhost NetworkManager: (info)  (wlan0): device
state change: 6 -> 4
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 2 of 5 (Device Configure) scheduled...
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 1 of 5 (Device Prepare) complete.
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 2 of 5 (Device Configure) starting...
Jun 12 23:37:36 localhost NetworkManager: (info)  (wlan0): device
state change: 4 -> 5
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation
(wlan0/wireless): connection 'Auto suma' has security, and secrets
exist.  No new secrets needed.
Jun 12 23:37:36 localhost NetworkManager: (info)  Config: added 'ssid'
value 'suma'
Jun 12 23:37:36 localhost NetworkManager: (info)  Config: added
'scan_ssid' value '1'
Jun 12 23:37:36 localhost NetworkManager: (info)  Config: added
'key_mgmt' value 'WPA-PSK'
Jun 12 23:37:36 localhost NetworkManager: (info)  Config: added 'psk'
value '(omitted)'
Jun 12 23:37:36 localhost NetworkManager: (info)  Activation (wlan0)
Stage 2 of 5 (Device Configure) complete.
Jun 12 23:37:36 localhost NetworkManager: (info)  Config: set
interface ap_scan to 1
Jun 12 23:37:36 localhost NetworkManager: (info)  (wlan0): supplicant
connection state:  disconnected -> scanning
Jun 12 23:37:37 localhost NetworkManager: (info)  (wlan0): supplicant
connection state:  scanning -> associating
Jun 12 23:37:38 localhost NetworkManager: (info)  (wlan0): supplicant
connection state:  associating -> associated
Jun 12 23:37:40 localhost NetworkManager: (info)  (wlan0): supplicant
connection state:  associated -> 4-way handshake
Jun 12 23:37:40 localhost NetworkManager: (info)  (wlan0): supplicant
connection state:  4-way handshake -> group handshake
Jun 12 23:37:40 localhost NetworkManager: (info)  (wlan0): supplicant
connection state:  group handshake -> completed
Jun 12 23:37:40 localhost NetworkManager: (info)  Activation
(wlan0/wireless) Stage 2 of 5 (Device Configure) successful.
Connected to wireless network 'suma'.
Jun 12 23:37:40 localhost NetworkManager: (info)  Activation (wlan0)
Stage 3 of 5 (IP Configure Start) scheduled.
Jun 12 23:37:40 localhost NetworkManager: (info)  Activation (wlan0)
Stage 3 of 5 (IP Configure Start) started...
Jun 12 23:37:40 localhost NetworkManager: (info)  (wlan0): device
state change: 5 -> 7
Jun 12 23:37:40 localhost NetworkManager: (info)  Activation (wlan0)
Beginning DHCP transaction.
Jun 12 23:37:40 localhost NetworkManager: (info)  dhclient started with pid 4713
Jun 12 23:37:40 localhost NetworkManager: (info)  Activation (wlan0)
Stage 3 of 5 (IP Configure Start) complete.
Jun 12 23:37:40 localhost dhclient: Internet Systems Consortium DHCP
Client V3.0.5-RedHat
Jun 12 23:37:40 localhost dhclient: Copyright 2004-2006 Internet
Systems Consortium.
Jun 12 23:37:40 localhost dhclient: All rights reserved.
Jun 12 23:37:40 localhost dhclient: For info, please visit
http://www.isc.org/sw/dhcp/
Jun 12 23:37:40 localhost dhclient:
Jun 12 23:37:40 localhost NetworkManager: (info)  DHCP: device wlan0
state changed normal exit -> preinit
Jun 12 23:37:40 localhost dhclient: Listening on LPF/wlan0/90:4c:e5:56:ce:14
Jun 12 23:37:40 localhost dhclient: Sending on   LPF/wlan0/90:4c:e5:56:ce:14
Jun 12 23:37:40 localhost dhclient: Sending on   Socket/fallback
Jun 12 23:37:40 localhost dhclient: DHCPDISCOVER on wlan0 to
255.255.255.255 port 67 interval 3
Jun 12 23:37:43 localhost dhclient: DHCPDISCOVER on wlan0 to
255.255.255.255 port 67 interval 7
Jun 12 23:37:49 localhost dhclient: DHCPDISCOVER on wlan0 to
255.255.255.255 port 67 interval 20
Jun 12 23:38:10 localhost dhclient: DHCPDISCOVER on wlan0 to
255.255.255.255 port 67 interval 19
Jun 12 23:38:25 localhost NetworkManager: (info)  Device 'wlan0' DHCP
transaction took too long (>45s), stopping it.
Jun 12 23:38:25 localhost NetworkManager: (info)  wlan0: canceled DHCP
transaction, dhcp client pid 4713
Jun 12 23:38:25 localhost NetworkManager: (info)  Activation (wlan0)
Stage 4 of 5 (IP Configure Timeout) scheduled...
Jun 12 23:38:25 localhost NetworkManager: (info)  Activation (wlan0)
Stage 4 of 5 (IP Configure Timeout) started...
Jun 12 23:38:25 localhost NetworkManager: (info)  (wlan0): device
state change: 7 -> 9
Jun 12 23:38:25 localhost NetworkManager: (info)  Activation (wlan0)
failed for access point (suma)
Jun 12 23:38:25 localhost NetworkManager: (info)  Marking connection
'Auto suma' invalid.
Jun 12 23:38:25 localhost NetworkManager: (info)  Activation (wlan0) failed.
Jun 12 23:38:25 localhost NetworkManager: (info)  Activation (wlan0)
Stage 4 of 5 (IP Configure Timeout) complete.
Jun 12 23:38:25 localhost NetworkManager: (info)  (wlan0): device
state change: 9 -> 3
Jun 12 23:38:25 localhost NetworkManager: (info)  (wlan0):
deactivating device (reason: 0).

^ permalink raw reply

* Re: [rt2800pci] indirect register access failed
From: Markus Krainz @ 2010-06-13 16:41 UTC (permalink / raw)
  To: linux-wireless
In-Reply-To: <20100611001357.27b316ba@vlado.suse.cz>

Vladimir Botka <vbotka@...> writes:

> 
> Hallo,
> 
> with the wireless-testing kernel [1] and the ralink [1814:3090] I can
> not load the firmware [2]. Any idea ?
> 
> [1] 2.6.35-rc2-wl-wt-ralink+
> 
> [2]
> Jun 11 00:07:10 calpella kernel: [ 6828.735900] phy0 ->
rt2800pci_load_firmware: Error - PBF system
> register not ready.
> Jun 11 00:07:10 calpella kernel: [ 6828.736466] phy0 ->
rt2x00pci_regbusy_read: Error - Indirect
> register access failed: offset=0x00007010, value=0x55555555
> 
> Thank you,
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@...
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

Using Ubuntu 10.04 distro I upgraded from 2.6.32 to 2.6.34. Now I have the same
issue.

kernel: [ 2190.398394] phy0 -> rt2800pci_load_firmware: Error - PBF system
register not ready.
kernel: [ 2190.401983] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register
access failed: offset=0x00007010, value=0xd53ac0a5

Help is greatly appreciated.


^ permalink raw reply

* 2.6.35-rc3: Reported regressions 2.6.33 -> 2.6.34
From: Rafael J. Wysocki @ 2010-06-13 14:45 UTC (permalink / raw)
  To: Linux Kernel Mailing List
  Cc: Maciej Rutecki, Andrew Morton, Linus Torvalds,
	Kernel Testers List, Network Development, Linux ACPI,
	Linux PM List, Linux SCSI List, Linux Wireless List, DRI

[NOTES:
 * This report has been delayed, because I had to go through all of the
   entries and filter out the fixed ones, invalid ones etc.  Of course, I might
   have missed some, but hopefully not too many.
 * E-mail reports from the last 7 days are not included.]

This message contains a list of some post-2.6.33 regressions introduced before
2.6.34, for which there are no fixes in the mainline known to the tracking team.
If any of them have been fixed already, please let us know.

If you know of any other unresolved post-2.6.33 regressions, please let us know
either and we'll add them to the list.  Also, please let us know if any
of the entries below are invalid.

Each entry from the list will be sent additionally in an automatic reply to
this message with CCs to the people involved in reporting and handling the
issue.


Listed regressions statistics:

  Date          Total  Pending  Unresolved
  ----------------------------------------
  2010-06-13      111       40          34
  2010-05-09       80       27          24
  2010-05-04       76       26          22
  2010-04-20       64       35          34
  2010-04-07       48       35          33
  2010-03-21       15       13          10


Unresolved regressions
----------------------

Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16170
Subject		: Leadtek Winfast DTV Dongle (STK7700P based) is not working in 2.6.34
Submitter	: macjariel <macjariel@gmail.com>
Date		: 2010-06-09 11:11 (5 days old)


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16162
Subject		: SSD + sata_nv + btrfs oops
Submitter	: Dave Airlie <airlied@gmail.com>
Date		: 2010-06-01 3:04 (13 days old)
Message-ID	: <AANLkTilqsIdlzZgUf7TMLHYKqHDZoVkcs42vcG8wXKEr@mail.gmail.com>
References	: http://marc.info/?l=linux-kernel&m=127536149022333&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16158
Subject		: winxp guest hangs after idle for ~30 minutes
Submitter	: brimhall <brimhall@pobox.com>
Date		: 2010-06-08 17:52 (6 days old)


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16139
Subject		: wait_even_interruptible_timeout(), signal, spin_lock() = system hang
Submitter	: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Date		: 2010-05-28 16:44 (17 days old)
Message-ID	: <AANLkTiliRFydAhxH2-Dp1RKuz6sq7vgWIcMvLMi68ftg@mail.gmail.com>
References	: http://marc.info/?l=linux-kernel&m=127506510328758&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16137
Subject		: Ooops in BTRFS in 2.6.34 / x86_64 when mounting subvolume by name
Submitter	: armin walland <a.walland@focusmr.com>
Date		: 2010-05-27 12:27 (18 days old)
Message-ID	: <201005271428.01239.a.walland@focusmr.com>
References	: http://marc.info/?l=linux-kernel&m=127496434110736&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16136
Subject		: Linux 2.6.34 causes system lockup on Compaq Presario 2200 Laptop
Submitter	: Jeffrey Merkey <jeffmerkey@gmail.com>
Date		: 2010-05-27 18:08 (18 days old)
Message-ID	: <AANLkTil6GGSoc8TpzRacr1LZBZS3ee3H1ejYDSqfdul4@mail.gmail.com>
References	: http://marc.info/?l=linux-kernel&m=127498375415689&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16135
Subject		: [BUG] kacpi_notify goes into an infinite loop (luckly it calls cond_resched)
Submitter	: Steven Rostedt <rostedt@goodmis.org>
Date		: 2010-05-29 1:01 (16 days old)
First-Bad-Commit: http://git.kernel.org/linus/fa80945269f312bc609e8384302f58b03c916e12
Message-ID	: <1275094882.22648.607.camel@gandalf.stny.rr.com>
References	: http://marc.info/?l=linux-kernel&m=127509490405845&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16134
Subject		: 2.6.34 hard lock ppp/do_tty_hangup, regression
Submitter	: Richard Zidlicky <rz@linux-m68k.org>
Date		: 2010-05-26 8:48 (19 days old)
Message-ID	: <20100526084811.GA5890@linux-m68k.org>
References	: http://marc.info/?l=linux-kernel&m=127486354023473&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16111
Subject		: hostap_pci: infinite registered netdevice wifi0
Submitter	: Petr Pisar <petr.pisar@atlas.cz>
Date		: 2010-06-02 20:55 (12 days old)


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16097
Subject		: 2.6.34 on Samsung P460: reset after "Waiting for /dev to be fully populated"
Submitter	: Harald Dunkel <harald.dunkel@aixigo.de>
Date		: 2010-05-25 9:12 (20 days old)
Message-ID	: <4BFB947E.9080509@aixigo.de>
References	: http://marc.info/?l=linux-kernel&m=127477877432254&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16084
Subject		: iwl3945 bug in 2.6.34
Submitter	: Satish Eerpini <eerpini@gmail.com>
Date		: 2010-05-23 6:37 (22 days old)
Message-ID	: <AANLkTik_7rxDBc0TKlAfoYyM5S6Cf_Hyxbr4W5ORnTsq@mail.gmail.com>
References	: http://marc.info/?l=linux-kernel&m=127459596015626&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16082
Subject		: host panic on kernel 2.6.34
Submitter	: Hao, Xudong <xudong.hao@intel.com>
Date		: 2010-05-24 8:23 (21 days old)
Message-ID	: <BC00F5384FCFC9499AF06F92E8B78A9E04DCCCE242@shsmsx502.ccr.corp.intel.com>
References	: http://marc.info/?l=linux-kernel&m=127468951208864&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16054
Subject		: UML broken for CONFIG_SLAB
Submitter	: Parag Warudkar <parag.lkml@gmail.com>
Date		: 2010-05-23 21:40 (22 days old)
Message-ID	: <alpine.DEB.2.00.1005231149100.605@parag-laptop>
References	: http://marc.info/?l=linux-kernel&m=127465083806617&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16050
Subject		: The ibmcam driver is not working
Submitter	: Bill Davidsen <davidsen@tmr.com>
Date		: 2010-05-25 23:02 (20 days old)


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16040
Subject		: kacpid consumes ~40% of cpu all the time beginning with 2.6.34
Submitter	: Mehmet Giritli <mehmet@giritli.eu>
Date		: 2010-05-24 07:32 (21 days old)


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16035
Subject		: Incorrect initial resolution of (external) vga monitor with KMS
Submitter	: andreas.eckstein <andreas.eckstein@gmx.net>
Date		: 2010-05-23 12:28 (22 days old)


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16034
Subject		: 2.6.34: dlm: possible circular locking dependency detected
Submitter	: CaT <cat@zip.com.au>
Date		: 2010-05-21 6:59 (24 days old)
Message-ID	: <20100521065933.GH2657@zip.com.au>
References	: http://marc.info/?l=linux-kernel&m=127442519608471&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15977
Subject		: WARNING: at lib/dma-debug.c:866 check_for_stack
Submitter	: Zdenek Kabelac <zdenek.kabelac@gmail.com>
Date		: 2010-05-14 8:56 (31 days old)
Message-ID	: <AANLkTikyx2eaxaiUCFDSfpmn1UG0t2GOxArz6F4wp1LJ@mail.gmail.com>
References	: http://marc.info/?l=linux-kernel&m=127382742729825&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15970
Subject		: BUG: amd64-agp (2.6.34-rc7)
Submitter	: Randy Dunlap <randy.dunlap@oracle.com>
Date		: 2010-05-11 20:56 (34 days old)
Message-ID	: <4BE9C469.2020901@oracle.com>
References	: http://marc.info/?l=linux-kernel&m=127361149610881&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15951
Subject		: commit 9630bdd9 changes behavior of the poweroff
Submitter	: Michal Hocko <mhocko@suse.cz>
Date		: 2010-04-01 13:39 (74 days old)
First-Bad-Commit: http://git.kernel.org/linus/9630bdd9b15d2f489c646d8bc04b60e53eb5ec78
Message-ID	: <20100401133923.GA4104@tiehlicka.suse.cz>
References	: http://marc.info/?l=linux-kernel&m=127012918316305&w=4
Handled-By	: Rafael J. Wysocki <rjw@sisk.pl>


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15936
Subject		: Suspicious rcu_dereference_check() usage detected during 2.6.34-rc6 boot on PPC64/p5 processor
Submitter	: Subrata Modak <subrata@linux.vnet.ibm.com>
Date		: 2010-05-06 7:29 (39 days old)
Message-ID	: <1273130279.4898.5.camel@subratamodak.linux.ibm.com>
References	: http://marc.info/?l=linux-kernel&m=127313031922395&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15924
Subject		: kacpid consumes ~100% CPU, system freezes randomly
Submitter	: Jaroslav Kameník <jaroslav@kamenik.cz>
Date		: 2010-05-06 21:12 (39 days old)


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15862
Subject		: 2.6.34-rc4/5: iwlagn unusable until reload
Submitter	: Nico Schottelius <nico-linux-20100427@schottelius.org>
Date		: 2010-04-27 7:49 (48 days old)
Message-ID	: <20100427074934.GB3261@ikn.schottelius.org>
References	: http://marc.info/?l=linux-kernel&m=127235784004839&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15858
Subject		: [2.6.34-rc5] bad page state copying to/from HFS+ filesystem...
Submitter	: Daniel J Blueman <daniel.blueman@gmail.com>
Date		: 2010-04-25 21:14 (50 days old)
Message-ID	: <v2k6278d2221004251414kbbcc41baw78b86120d81dce7d@mail.gmail.com>
References	: http://marc.info/?l=linux-kernel&m=127223008621881&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15805
Subject		: reiserfs locking
Submitter	: Alexander Beregalov <a.beregalov@gmail.com>
Date		: 2010-04-15 21:02 (60 days old)
Message-ID	: <t2ka4423d671004151402n7b2dc425mdc9c6bb9640d63fb@mail.gmail.com>
References	: http://marc.info/?l=linux-kernel&m=127136535323933&w=2
Handled-By	: Frederic Weisbecker <fweisbec@gmail.com>


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15717
Subject		: bluetooth oops
Submitter	: Pavel Machek <pavel@ucw.cz>
Date		: 2010-03-14 20:14 (92 days old)
Message-ID	: <20100314201434.GE22059@elf.ucw.cz>
References	: http://marc.info/?l=linux-kernel&m=126859771528426&w=4
Handled-By	: Marcel Holtmann <marcel@holtmann.org>


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15713
Subject		: hackbench regression due to commit 9dfc6e68bfe6e
Submitter	: Alex Shi <alex.shi@intel.com>
Date		: 2010-03-25 8:40 (81 days old)
First-Bad-Commit: http://git.kernel.org/linus/9dfc6e68bfe6ee452efb1a4e9ca26a9007f2b864
Message-ID	: <1269506457.4513.141.camel@alexs-hp.sh.intel.com>
References	: http://marc.info/?l=linux-kernel&m=126950632920682&w=4
Handled-By	: Christoph Lameter <cl@linux-foundation.org>
		  Pekka Enberg <penberg@cs.helsinki.fi>


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15712
Subject		: [regression] 2.6.34-rc1 to -rc3 on zaurus: no longer boots
Submitter	: Pavel Machek <pavel@ucw.cz>
Date		: 2010-04-01 6:06 (74 days old)
Message-ID	: <20100401060624.GA1329@ucw.cz>
References	: http://marc.info/?l=linux-kernel&m=127010200817402&w=2
Handled-By	: Eric Miao <eric.y.miao@gmail.com>


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15704
Subject		: [r8169] WARNING: at net/sched/sch_generic.c
Submitter	: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Date		: 2010-03-31 10:21 (75 days old)
Message-ID	: <20100331102142.GA3294@swordfish.minsk.epam.com>
References	: http://marc.info/?l=linux-kernel&m=127003090406108&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15673
Subject		: 2.6.34-rc2: "ima_dec_counts: open/free imbalance"?
Submitter	: Thomas Meyer <thomas@m3y3r.de>
Date		: 2010-03-28 11:31 (78 days old)
Message-ID	: <1269775909.5301.4.camel@localhost.localdomain>
References	: http://marc.info/?l=linux-kernel&m=126977593326800&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15671
Subject		: intel graphic card hanging (Hangcheck timer elapsed... GPU hung)
Submitter	: Norbert Preining <preining@logic.at>
Date		: 2010-03-27 16:11 (79 days old)
Message-ID	: <20100327161104.GA12043@gamma.logic.tuwien.ac.at>
References	: http://marc.info/?l=linux-kernel&m=126970883105262&w=2
Handled-By	: Jesse Barnes <jbarnes@virtuousgeek.org>


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15669
Subject		: INFO: suspicious rcu_dereference_check()
Submitter	: Zdenek Kabelac <zdenek.kabelac@gmail.com>
Date		: 2010-03-08 1:26 (98 days old)
Message-ID	: <c4e36d111003250348q678eb2e6w4f3e8133e7fd6e58@mail.gmail.com>
References	: http://marc.info/?l=linux-kernel&m=126801163107713&w=2


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15664
Subject		: Graphics hang and kernel backtrace when starting Azureus with Compiz enabled
Submitter	: Alex Villacis Lasso <avillaci@ceibo.fiec.espol.edu.ec>
Date		: 2010-04-01 01:09 (74 days old)


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15659
Subject		: [Regresion] [2.6.34-rc1] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
Submitter	: Maciej Rutecki <maciej.rutecki@gmail.com>
Date		: 2010-03-25 20:04 (81 days old)
Message-ID	: <201003252104.24965.maciej.rutecki@gmail.com>
References	: http://marc.info/?l=linux-kernel&m=126954749618319&w=2
Handled-By	: Chris Wilson <chris@chris-wilson.co.uk>


Regressions with patches
------------------------

Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16147
Subject		: ksoftirq hogs the CPU
Submitter	: Thomas Jarosch <thomas.jarosch@intra2net.com>
Date		: 2010-06-07 15:17 (7 days old)
First-Bad-Commit: http://git.kernel.org/linus/ae74e823cb7d4cd476f623fce9a38f625f6c09a8
Handled-By	: Martin Wilck <martin.wilck@ts.fujitsu.com>
Patch		: https://bugzilla.kernel.org/attachment.cgi?id=26732


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16138
Subject		: PCMCIA regression
Submitter	: Mikulas Patocka <mpatocka@redhat.com>
Date		: 2010-05-25 20:25 (20 days old)
Message-ID	: <Pine.LNX.4.64.1005251619020.12278@hs20-bc2-1.build.redhat.com>
References	: http://marc.info/?l=linux-kernel&m=127481913909672&w=2
Handled-By	: Dominik Brodowski <linux@brodo.de>
Patch		: https://bugzilla.kernel.org/attachment.cgi?id=26685


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=16007
Subject		: x86/pci Oops with CONFIG_SND_HDA_INTEL
Submitter	: Graham Ramsey <ramsey.graham@ntlworld.com>
Date		: 2010-05-19 17:09 (26 days old)
Handled-By	: Yinghai Lu <yinghai@kernel.org>
Patch		: https://patchwork.kernel.org/patch/105662/


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15909
Subject		: open("a/",O_NOFOLLOW) fails with ELOOP if "a" is a symbolic link to a directory.
Submitter	: Marius Tolzmann <tolzmann@molgen.mpg.de>
Date		: 2010-05-05 13:01 (40 days old)
Handled-By	: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
		  Jan Kara <jack@suse.cz>
Patch		: https://patchwork.kernel.org/patch/99291/


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15863
Subject		: 2.6.34-rc5-git7 (plus all patches) -- another suspicious rcu_dereference_check() usage.
Submitter	: Miles Lane <miles.lane@gmail.com>
Date		: 2010-04-27 0:51 (48 days old)
Message-ID	: <h2ya44ae5cd1004261751waa5cb65ei3d139cbcfa2cc5cf@mail.gmail.com>
References	: http://marc.info/?l=linux-kernel&m=127232949104878&w=2
Handled-By	: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Patch		: https://patchwork.kernel.org/patch/96096/


Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=15589
Subject		: 2.6.34-rc1: Badness at fs/proc/generic.c:316
Submitter	: Christian Kujau <lists@nerdbynature.de>
Date		: 2010-03-13 23:53 (93 days old)
Message-ID	: <<alpine.DEB.2.01.1003131544340.5493@bogon.housecafe.de>>
References	: http://marc.info/?l=linux-kernel&m=126852442903680&w=2
Handled-By	: Michael Ellerman <michael@ellerman.id.au>
Patch		: http://patchwork.ozlabs.org/patch/52978/


For details, please visit the bug entries and follow the links given in
references.

As you can see, there is a Bugzilla entry for each of the listed regressions.
There also is a Bugzilla entry used for tracking the regressions introduced
between 2.6.33 and 2.6.34, unresolved as well as resolved, at:

http://bugzilla.kernel.org/show_bug.cgi?id=15310

Please let the tracking teak know if there are any Bugzilla entries that
should be added to the list in there.

Thanks!


^ permalink raw reply

* [PATCH 2.6.35 V2] p54pci: add Symbol AP-300 minipci adapters pciid
From: Christian Lamparter @ 2010-06-13 12:22 UTC (permalink / raw)
  To: linux-wireless; +Cc: Joerg Albert, John W Linville

From: Joerg Albert <jal2@gmx.de>

Cc: stable@kernel.org
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
---
> On Sunday 13 June 2010, Joerg Albert wrote:
>
> BTW, the 2.4 GHz card in the AP-300 has the same id
---
diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c
index 791e2ae..4357e69 100644
--- a/drivers/net/wireless/p54/p54pci.c
+++ b/drivers/net/wireless/p54/p54pci.c
@@ -42,6 +42,8 @@ static DEFINE_PCI_DEVICE_TABLE(p54p_table) = {
 	{ PCI_DEVICE(0x1260, 0x3877) },
 	/* Intersil PRISM Javelin/Xbow Wireless LAN adapter */
 	{ PCI_DEVICE(0x1260, 0x3886) },
+	/* Intersil PRISM Xbow Wireless LAN adapter (Symbol AP-300) */
+	{ PCI_DEVICE(0x1260, 0xffff) },
 	{ },
 };
 

^ permalink raw reply related

* [PATCH] zd1211rw: ignore unknown regulatory domain.
From: Kouhei Sutou @ 2010-06-13  5:52 UTC (permalink / raw)
  To: linux-wireless

[-- Attachment #1: Type: Text/Plain, Size: 1570 bytes --]

Hi,

I'm using PLANEX GW-US54GXS (2019:5303) and it works with
the attached patch. Could you consider to merge the attached
patch?

Problem: GW-US54GXS uses zd1211rw but zd1211rw doesn't have
a regulatory domain reported by GW-US54GXS (0x49).

Solutions:

  (1) add a new regulatory domain (0x49). Here is a patch to
      use the approach:

----
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c
index 163a8a0..faf45f1 100644
--- a/drivers/net/wireless/zd1211rw/zd_mac.c
+++ b/drivers/net/wireless/zd1211rw/zd_mac.c
@@ -43,6 +43,7 @@ static struct zd_reg_alpha2_map reg_alpha2_map[] = {
 	{ ZD_REGDOMAIN_ETSI, "DE" }, /* Generic ETSI, use most restrictive */
 	{ ZD_REGDOMAIN_JAPAN, "JP" },
 	{ ZD_REGDOMAIN_JAPAN_ADD, "JP" },
+	{ ZD_REGDOMAIN_JAPAN_GW_US54GXS, "JP" },
 	{ ZD_REGDOMAIN_SPAIN, "ES" },
 	{ ZD_REGDOMAIN_FRANCE, "FR" },
 };
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.h b/drivers/net/wireless/zd1211rw/zd_mac.h
index 630c298..7ab19d5 100644
--- a/drivers/net/wireless/zd1211rw/zd_mac.h
+++ b/drivers/net/wireless/zd1211rw/zd_mac.h
@@ -214,6 +214,7 @@ struct zd_mac {
 #define ZD_REGDOMAIN_FRANCE	0x32
 #define ZD_REGDOMAIN_JAPAN_ADD	0x40
 #define ZD_REGDOMAIN_JAPAN	0x41
+#define ZD_REGDOMAIN_JAPAN_GW_US54GXS	0x49
 
 enum {
 	MIN_CHANNEL24 = 1,
----

  (2) just ignore unknown regulatory domain. (the attached
      patch approach)


It seems that (2) is a better solution because we can change
regulatory domain by CRDA (*).
(*) http://wireless.kernel.org/en/developers/Regulatory/CRDA


Thanks,
--
kou

[-- Attachment #2: 0001-zd1211rw-ignore-unknown-regulatory-domain.patch --]
[-- Type: Text/X-Patch, Size: 1353 bytes --]

>From c230320db45e9261814b69e7596d4f641c3c8aad Mon Sep 17 00:00:00 2001
From: Kouhei Sutou <kou@clear-code.com>
Date: Sun, 13 Jun 2010 14:37:54 +0900
Subject: [PATCH] zd1211rw: ignore unknown regulatory domain.

Zd1211rw supports 7 regulatory domains (ZD_REGDOMAIN_*) but they
aren't cover all regulatory domains. For example, PLANEX
GW-US54GXS (2019:5303) uses 0x49 for its regulatory domain.

If zd1211rw can't convert a regulatory domain to alpha2, it
reports that initialization is failed. But we can change
regulatory domain by another way (CRDA). So it seems that zd1211rw
can ignore unknown regulatory domain.

Signed-off-by: Kouhei Sutou <kou@clear-code.com>
---
 drivers/net/wireless/zd1211rw/zd_mac.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c
index 163a8a0..8b04d93 100644
--- a/drivers/net/wireless/zd1211rw/zd_mac.c
+++ b/drivers/net/wireless/zd1211rw/zd_mac.c
@@ -198,11 +198,9 @@ int zd_mac_init_hw(struct ieee80211_hw *hw)
 	if (r)
 		goto disable_int;
 
-	r = zd_reg2alpha2(mac->regdomain, alpha2);
-	if (r)
-		goto disable_int;
+	if (zd_reg2alpha2(mac->regdomain, alpha2))
+		r = regulatory_hint(hw->wiphy, alpha2);
 
-	r = regulatory_hint(hw->wiphy, alpha2);
 disable_int:
 	zd_chip_disable_int(chip);
 out:
-- 
1.7.1


^ permalink raw reply related

* [PATCH] p54pci: add Symbol AP-300 5GHz minipci adapter pciid
From: Christian Lamparter @ 2010-06-12 22:54 UTC (permalink / raw)
  To: linux-wireless; +Cc: Joerg Albert, John W Linville

From: Joerg Albert <jal2@gmx.de>

Cc: stable@kernel.org
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
---
diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c
index 791e2ae..4357e69 100644
--- a/drivers/net/wireless/p54/p54pci.c
+++ b/drivers/net/wireless/p54/p54pci.c
@@ -42,6 +42,8 @@ static DEFINE_PCI_DEVICE_TABLE(p54p_table) = {
 	{ PCI_DEVICE(0x1260, 0x3877) },
 	/* Intersil PRISM Javelin/Xbow Wireless LAN adapter */
 	{ PCI_DEVICE(0x1260, 0x3886) },
+	/* Intersil PRISM Xbow Wireless LAN adapter (Symbol AP-300 5GHz) */
+	{ PCI_DEVICE(0x1260, 0xffff) },
 	{ },
 };
 

^ permalink raw reply related

* Re: [PATCH v2] mac80211: Use a separate CCMP PN receive counter for management frames
From: Pavel Roskin @ 2010-06-12 17:58 UTC (permalink / raw)
  To: Johannes Berg; +Cc: Jouni Malinen, John W. Linville, linux-wireless
In-Reply-To: <1276364839.7894.2.camel@jlt3.sipsolutions.net>

On Sat, 2010-06-12 at 19:47 +0200, Johannes Berg wrote:
> On Sat, 2010-06-12 at 13:34 -0400, Pavel Roskin wrote:
> > On Fri, 2010-06-11 at 10:27 -0700, Jouni Malinen wrote:
> > 
> > > -		for (i = 0; i < NUM_RX_DATA_QUEUES; i++) {
> > > +		for (i = 0; i < NUM_RX_DATA_QUEUES + 1; i++) {
> > 
> > Perhaps we could have a define for NUM_RX_DATA_QUEUES + 1, e.g.
> > NUM_RX_ALL_QUEUES
> 
> I kinda disagree. Yes, this is tricky code, but adding a define wouldn't
> make it clearer. In fact, it isn't really related to queues to start
> with, and ALL_QUEUES would just strengthen that mostly wrong notion.

That's certainly not my intention to strengthen wrong notions.

> I guess it really should be renamed to TIDs with the last two being
> special for non-QoS (so no TID) traffic + mgmt traffic. But then
> sequence numbers are allocated from the same counter (so there we just
> have 17 possibilities) while PNs have 18 counters...

Then let's replace QUEUE with TID in all RX defines.  Two special TIDs
could be used for non-QoS traffic and management frames when
appropriate.

-- 
Regards,
Pavel Roskin

^ permalink raw reply

* Re: Compilation problems with Linux-2.6.34 and compat-wireless
From: Pavel Roskin @ 2010-06-12 17:51 UTC (permalink / raw)
  To: Jaroslav Fojtik; +Cc: linux-wireless
In-Reply-To: <4C108B0F.12989.BAFA3@jafojtik.seznam.cz>

On Thu, 2010-06-10 at 08:49 +0200, Jaroslav Fojtik wrote:
> Dear John W. Linville,
> 
> > I'm guessing you need CONFIG_WIRELESS_EXT in /usr/src/linux-2.6.34/.config ?
> I do not know how to turn CONFIG_WIRELESS_EXT in linux 2.6.34. 
> This option no longer exists.

Try enabling an older driver like ipw2100.  That should enable wireless
extensions.

> I guess that:
> CONFIG_WIRELESS_EXT=y  has been renamed to 
> CONFIG_WIRELESS_WEXT=y

I don't see any references to WIRELESS_WEXT in the kernel.  I think your
guess is wrong.

-- 
Regards,
Pavel Roskin

^ permalink raw reply

* Re: [PATCH v2] mac80211: Use a separate CCMP PN receive counter for management frames
From: Johannes Berg @ 2010-06-12 17:47 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: Jouni Malinen, John W. Linville, linux-wireless
In-Reply-To: <1276364067.2625.12.camel@ct>

On Sat, 2010-06-12 at 13:34 -0400, Pavel Roskin wrote:
> On Fri, 2010-06-11 at 10:27 -0700, Jouni Malinen wrote:
> 
> > -		for (i = 0; i < NUM_RX_DATA_QUEUES; i++) {
> > +		for (i = 0; i < NUM_RX_DATA_QUEUES + 1; i++) {
> 
> Perhaps we could have a define for NUM_RX_DATA_QUEUES + 1, e.g.
> NUM_RX_ALL_QUEUES

I kinda disagree. Yes, this is tricky code, but adding a define wouldn't
make it clearer. In fact, it isn't really related to queues to start
with, and ALL_QUEUES would just strengthen that mostly wrong notion.

I guess it really should be renamed to TIDs with the last two being
special for non-QoS (so no TID) traffic + mgmt traffic. But then
sequence numbers are allocated from the same counter (so there we just
have 17 possibilities) while PNs have 18 counters...

johannes


^ permalink raw reply

* Re: [PATCH 4/7] ath9k_hw: remove ATH9K_CAP_TKIP_SPLIT
From: Pavel Roskin @ 2010-06-12 17:46 UTC (permalink / raw)
  To: Felix Fietkau; +Cc: linux-wireless, lrodriguez, linville
In-Reply-To: <4C13C5B5.3080609@openwrt.org>

On Sat, 2010-06-12 at 19:36 +0200, Felix Fietkau wrote:
> On 2010-06-12 7:28 PM, Pavel Roskin wrote:
> > On Sat, 2010-06-12 at 17:22 +0200, Felix Fietkau wrote:
> >> This is only used as a workaround for an issue in one specific hw revision.
> > 
> > Is that workaround needed for both PCI and USB?  If not,
> > common->splitmic should not be needed and further cleanup should be
> > possible.
> It's only needed for PCI.

Oh, I see that common->splitmic is used in common.c where misc_mode is
not available.  Then further simplification would not be as trivial as I
though.  Sorry for the noise.

-- 
Regards,
Pavel Roskin

^ permalink raw reply

* Re: [PATCH 4/7] ath9k_hw: remove ATH9K_CAP_TKIP_SPLIT
From: Felix Fietkau @ 2010-06-12 17:36 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: linux-wireless, lrodriguez, linville
In-Reply-To: <1276363723.2625.7.camel@ct>

On 2010-06-12 7:28 PM, Pavel Roskin wrote:
> On Sat, 2010-06-12 at 17:22 +0200, Felix Fietkau wrote:
>> This is only used as a workaround for an issue in one specific hw revision.
> 
> Is that workaround needed for both PCI and USB?  If not,
> common->splitmic should not be needed and further cleanup should be
> possible.
It's only needed for PCI.

- Felix

^ permalink raw reply

* Re: [PATCH v2] mac80211: Use a separate CCMP PN receive counter for management frames
From: Pavel Roskin @ 2010-06-12 17:34 UTC (permalink / raw)
  To: Jouni Malinen; +Cc: John W. Linville, Johannes Berg, linux-wireless
In-Reply-To: <20100611172733.GA21347@jm.kir.nu>

On Fri, 2010-06-11 at 10:27 -0700, Jouni Malinen wrote:

> -		for (i = 0; i < NUM_RX_DATA_QUEUES; i++) {
> +		for (i = 0; i < NUM_RX_DATA_QUEUES + 1; i++) {

Perhaps we could have a define for NUM_RX_DATA_QUEUES + 1, e.g.
NUM_RX_ALL_QUEUES

> +			int queue = ieee80211_is_mgmt(fc) ?
> +				NUM_RX_DATA_QUEUES : rx->queue;

Again, it would be nice to add a define for readability, e.g.
#define NUM_RX_MGMT_QUEUE NUM_RX_DATA_QUEUES

-- 
Regards,
Pavel Roskin

^ permalink raw reply

* Re: [PATCH 4/7] ath9k_hw: remove ATH9K_CAP_TKIP_SPLIT
From: Pavel Roskin @ 2010-06-12 17:28 UTC (permalink / raw)
  To: Felix Fietkau; +Cc: linux-wireless, lrodriguez, linville
In-Reply-To: <1276356154-66545-4-git-send-email-nbd@openwrt.org>

On Sat, 2010-06-12 at 17:22 +0200, Felix Fietkau wrote:
> This is only used as a workaround for an issue in one specific hw revision.

Is that workaround needed for both PCI and USB?  If not,
common->splitmic should not be needed and further cleanup should be
possible.

-- 
Regards,
Pavel Roskin

^ permalink raw reply

* Warning on cfg80211 mlme.c
From: Luis R. Rodriguez @ 2010-06-12 17:21 UTC (permalink / raw)
  To: linux-wireless; +Cc: Johannes Berg

I left iperf running overnight and 8 of these in the morning.

68:7f:74:3b:b1:0f is a E3000 AP but on 2.4 GHz I have it running in legacy mode.
68:7f:74:3b:b1:10 would be its 5 GHz radio but its not listed below.

[16684.356665] wlan32: authenticate with 68:7f:74:3b:b1:0f (try 1)
[16684.365649] wlan32: authenticated
[16684.365714] ------------[ cut here ]------------
[16684.365751] WARNING: at
/home/mcgrof/tmp/compat-wireless-2010-06-12-pc/net/wireless/mlme.c:47
cfg80211_send_rx_auth+0x97/0x140 [cfg80211]()
[16684.365758] Hardware name: 7660A14
[16684.365762] Modules linked in: ath9k mac80211 compat ath9k_common
ath9k_hw ath cfg80211 cryptd aes_x86_64 aes_generic arc4 ecb ufs qnx4
hfsplus hfs minix ntfs vfat msdos fat jfs xfs exportfs reiserfs
binfmt_misc ppdev joydev snd_hda_codec_analog snd_hda_intel
snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss pcmcia bridge
snd_pcm stp snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi
snd_seq_midi_event snd_seq iptable_filter snd_timer ip_tables
snd_seq_device yenta_socket rsrc_nonstatic psmouse x_tables
pcmcia_core serio_raw snd soundcore snd_page_alloc heci(C)
thinkpad_acpi led_class lp nvram parport dm_raid45 xor fbcon tileblit
font bitblit softcursor i915 drm i2c_algo_bit ohci1394 ieee1394 e1000e
video output intel_agp [last unloaded: cfg80211]
[16684.365911] Pid: 22513, comm: phy0 Tainted: G         C
2.6.31-22-generic #60-Ubuntu
[16684.365917] Call Trace:
[16684.365937]  [<ffffffff8105e6c8>] warn_slowpath_common+0x78/0xb0
[16684.365941]  [<ffffffff8105e70f>] warn_slowpath_null+0xf/0x20
[16684.365951]  [<ffffffffa0567f57>] cfg80211_send_rx_auth+0x97/0x140 [cfg80211]
[16684.365968]  [<ffffffffa05e8fda>]
ieee80211_probe_auth_done+0x7a/0xa0 [mac80211]
[16684.365980]  [<ffffffffa05eb558>] ieee80211_work_work+0x2d8/0x1260 [mac80211]
[16684.365985]  [<ffffffff81036419>] ? default_spin_lock_flags+0x9/0x10
[16684.365990]  [<ffffffff81431b72>] ? skb_dequeue+0x62/0x80
[16684.365995]  [<ffffffff8152cbb9>] ? mutex_lock+0x19/0x50
[16684.366006]  [<ffffffffa05e9a93>] ? ieee80211_sta_work+0x3a3/0x680 [mac80211]
[16684.366018]  [<ffffffffa05eb280>] ? ieee80211_work_work+0x0/0x1260 [mac80211]
[16684.366023]  [<ffffffff81073705>] run_workqueue+0x95/0x170
[16684.366027]  [<ffffffff81073884>] worker_thread+0xa4/0x120
[16684.366031]  [<ffffffff81078a30>] ? autoremove_wake_function+0x0/0x40
[16684.366034]  [<ffffffff810737e0>] ? worker_thread+0x0/0x120
[16684.366037]  [<ffffffff81078646>] kthread+0xa6/0xb0
[16684.366041]  [<ffffffff8101316a>] child_rip+0xa/0x20
[16684.366044]  [<ffffffff810785a0>] ? kthread+0x0/0xb0
[16684.366047]  [<ffffffff81013160>] ? child_rip+0x0/0x20
[16684.366049] ---[ end trace 30217dfe73b4cc91 ]---
[16697.171455] wlan32: authenticate with 68:7f:74:3b:b1:0f (try 1)
[16697.174468] wlan32: authenticated
[16697.186935] wlan32: associate with 68:7f:74:3b:b1:0f (try 1)
[16697.380098] wlan32: associate with 68:7f:74:3b:b1:0f (try 2)
[16697.383324] wlan32: RX AssocResp from 68:7f:74:3b:b1:0f
(capab=0x411 status=0 aid=1)
[16697.383333] wlan32: associated

^ permalink raw reply

* [PATCH 4/7] ath9k_hw: remove ATH9K_CAP_TKIP_SPLIT
From: Felix Fietkau @ 2010-06-12 15:22 UTC (permalink / raw)
  To: linux-wireless; +Cc: lrodriguez, linville
In-Reply-To: <1276356154-66545-3-git-send-email-nbd@openwrt.org>

This is only used as a workaround for an issue in one specific hw revision.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
 drivers/net/wireless/ath/ath9k/htc_drv_init.c |    9 ---------
 drivers/net/wireless/ath/ath9k/hw.c           |    3 ---
 drivers/net/wireless/ath/ath9k/hw.h           |    1 -
 drivers/net/wireless/ath/ath9k/init.c         |    2 +-
 4 files changed, 1 insertions(+), 14 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index 03100e3..5190a88 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -570,15 +570,6 @@ static void ath9k_init_crypto(struct ath9k_htc_priv *priv)
 	for (i = 0; i < common->keymax; i++)
 		ath9k_hw_keyreset(priv->ah, (u16) i);
 
-	/*
-	 * Check whether the separate key cache entries
-	 * are required to handle both tx+rx MIC keys.
-	 * With split mic keys the number of stations is limited
-	 * to 27 otherwise 59.
-	 */
-	if (ath9k_hw_getcapability(priv->ah, ATH9K_CAP_TKIP_SPLIT, 0, NULL))
-		common->splitmic = 1;
-
 	/* turn on mcast key search if possible */
 	if (!ath9k_hw_getcapability(priv->ah, ATH9K_CAP_MCAST_KEYSRCH, 0, NULL))
 		(void)ath9k_hw_setcapability(priv->ah, ATH9K_CAP_MCAST_KEYSRCH,
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index f1d9918..a5203b1 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2259,9 +2259,6 @@ bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
 			    u32 capability, u32 *result)
 {
 	switch (type) {
-	case ATH9K_CAP_TKIP_SPLIT:
-		return (ah->misc_mode & AR_PCU_MIC_NEW_LOC_ENA) ?
-			false : true;
 	case ATH9K_CAP_MCAST_KEYSRCH:
 		switch (capability) {
 		case 0:
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 5574daa..28fca9d 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -207,7 +207,6 @@ enum ath9k_hw_caps {
 };
 
 enum ath9k_capability_type {
-	ATH9K_CAP_TKIP_SPLIT,
 	ATH9K_CAP_MCAST_KEYSRCH,
 	ATH9K_CAP_DS
 };
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index f66b357..4bdf8c8 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -385,7 +385,7 @@ static void ath9k_init_crypto(struct ath_softc *sc)
 	 * With split mic keys the number of stations is limited
 	 * to 27 otherwise 59.
 	 */
-	if (ath9k_hw_getcapability(sc->sc_ah, ATH9K_CAP_TKIP_SPLIT, 0, NULL))
+	if (!(sc->sc_ah->misc_mode & AR_PCU_MIC_NEW_LOC_ENA))
 		common->splitmic = 1;
 
 	/* turn on mcast key search if possible */
-- 
1.6.4.2


^ permalink raw reply related

* [PATCH 2/7] ath9k_hw: remove ATH9K_CAP_TXPOW
From: Felix Fietkau @ 2010-06-12 15:22 UTC (permalink / raw)
  To: linux-wireless; +Cc: lrodriguez, linville
In-Reply-To: <1276356154-66545-1-git-send-email-nbd@openwrt.org>

replace calls that read this capability with accesses to ath9k_hw's
regulatory data.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |    4 +---
 drivers/net/wireless/ath/ath9k/hw.c           |   16 ----------------
 drivers/net/wireless/ath/ath9k/hw.h           |    1 -
 drivers/net/wireless/ath/ath9k/main.c         |    4 +---
 4 files changed, 2 insertions(+), 23 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index c4d022a..312ff1b 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -27,13 +27,11 @@ static struct dentry *ath9k_debugfs_root;
 static void ath_update_txpow(struct ath9k_htc_priv *priv)
 {
 	struct ath_hw *ah = priv->ah;
-	u32 txpow;
 
 	if (priv->curtxpow != priv->txpowlimit) {
 		ath9k_hw_set_txpowerlimit(ah, priv->txpowlimit);
 		/* read back in case value is clamped */
-		ath9k_hw_getcapability(ah, ATH9K_CAP_TXPOW, 1, &txpow);
-		priv->curtxpow = txpow;
+		priv->curtxpow = ath9k_hw_regulatory(ah)->power_limit;
 	}
 }
 
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 94f1258..d908f78 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2258,7 +2258,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
 bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
 			    u32 capability, u32 *result)
 {
-	struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah);
 	switch (type) {
 	case ATH9K_CAP_TKIP_MIC:
 		switch (capability) {
@@ -2286,21 +2285,6 @@ bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
 			}
 		}
 		return false;
-	case ATH9K_CAP_TXPOW:
-		switch (capability) {
-		case 0:
-			return 0;
-		case 1:
-			*result = regulatory->power_limit;
-			return 0;
-		case 2:
-			*result = regulatory->max_power_level;
-			return 0;
-		case 3:
-			*result = regulatory->tp_scale;
-			return 0;
-		}
-		return false;
 	case ATH9K_CAP_DS:
 		return (AR_SREV_9280_20_OR_LATER(ah) &&
 			(ah->eep_ops->get_eeprom(ah, EEP_RC_CHAIN_MASK) == 1))
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index cc01dc8..7456850 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -209,7 +209,6 @@ enum ath9k_hw_caps {
 enum ath9k_capability_type {
 	ATH9K_CAP_TKIP_MIC,
 	ATH9K_CAP_TKIP_SPLIT,
-	ATH9K_CAP_TXPOW,
 	ATH9K_CAP_MCAST_KEYSRCH,
 	ATH9K_CAP_DS
 };
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 7b2f4a7..69b2e3b 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -51,13 +51,11 @@ static void ath_cache_conf_rate(struct ath_softc *sc,
 static void ath_update_txpow(struct ath_softc *sc)
 {
 	struct ath_hw *ah = sc->sc_ah;
-	u32 txpow;
 
 	if (sc->curtxpow != sc->config.txpowlimit) {
 		ath9k_hw_set_txpowerlimit(ah, sc->config.txpowlimit);
 		/* read back in case value is clamped */
-		ath9k_hw_getcapability(ah, ATH9K_CAP_TXPOW, 1, &txpow);
-		sc->curtxpow = txpow;
+		sc->curtxpow = ath9k_hw_regulatory(ah)->power_limit;
 	}
 }
 
-- 
1.6.4.2


^ permalink raw reply related

* [PATCH 5/7] ath9k_hw: remove ATH9K_CAP_MCAST_KEYSRCH
From: Felix Fietkau @ 2010-06-12 15:22 UTC (permalink / raw)
  To: linux-wireless; +Cc: lrodriguez, linville
In-Reply-To: <1276356154-66545-4-git-send-email-nbd@openwrt.org>

The driver always sets this to enabled, but this can be simplified with
a small change to ah->sta_id1_defaults instead.
This change also removes the now-obsolete ath9k_hw_setcapability function.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
 drivers/net/wireless/ath/ath9k/htc_drv_init.c |    5 ----
 drivers/net/wireless/ath/ath9k/hw.c           |   33 ++----------------------
 drivers/net/wireless/ath/ath9k/hw.h           |    3 --
 drivers/net/wireless/ath/ath9k/init.c         |    6 ----
 4 files changed, 3 insertions(+), 44 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index 5190a88..d339e5f 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -569,11 +569,6 @@ static void ath9k_init_crypto(struct ath9k_htc_priv *priv)
 	 */
 	for (i = 0; i < common->keymax; i++)
 		ath9k_hw_keyreset(priv->ah, (u16) i);
-
-	/* turn on mcast key search if possible */
-	if (!ath9k_hw_getcapability(priv->ah, ATH9K_CAP_MCAST_KEYSRCH, 0, NULL))
-		(void)ath9k_hw_setcapability(priv->ah, ATH9K_CAP_MCAST_KEYSRCH,
-					     1, 1, NULL);
 }
 
 static void ath9k_init_channels_rates(struct ath9k_htc_priv *priv)
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index a5203b1..9321931 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -425,7 +425,9 @@ static void ath9k_hw_init_defaults(struct ath_hw *ah)
 		ah->ah_flags = AH_USE_EEPROM;
 
 	ah->atim_window = 0;
-	ah->sta_id1_defaults = AR_STA_ID1_CRPT_MIC_ENABLE;
+	ah->sta_id1_defaults =
+		AR_STA_ID1_CRPT_MIC_ENABLE |
+		AR_STA_ID1_MCAST_KSRCH;
 	ah->beacon_interval = 100;
 	ah->enable_32kHz_clock = DONT_USE_32KHZ;
 	ah->slottime = (u32) -1;
@@ -2259,20 +2261,6 @@ bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
 			    u32 capability, u32 *result)
 {
 	switch (type) {
-	case ATH9K_CAP_MCAST_KEYSRCH:
-		switch (capability) {
-		case 0:
-			return true;
-		case 1:
-			if (REG_READ(ah, AR_STA_ID1) & AR_STA_ID1_ADHOC) {
-				return false;
-			} else {
-				return (ah->sta_id1_defaults &
-					AR_STA_ID1_MCAST_KSRCH) ? true :
-					false;
-			}
-		}
-		return false;
 	case ATH9K_CAP_DS:
 		return (AR_SREV_9280_20_OR_LATER(ah) &&
 			(ah->eep_ops->get_eeprom(ah, EEP_RC_CHAIN_MASK) == 1))
@@ -2283,21 +2271,6 @@ bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
 }
 EXPORT_SYMBOL(ath9k_hw_getcapability);
 
-bool ath9k_hw_setcapability(struct ath_hw *ah, enum ath9k_capability_type type,
-			    u32 capability, u32 setting, int *status)
-{
-	switch (type) {
-	case ATH9K_CAP_MCAST_KEYSRCH:
-		if (setting)
-			ah->sta_id1_defaults |= AR_STA_ID1_MCAST_KSRCH;
-		else
-			ah->sta_id1_defaults &= ~AR_STA_ID1_MCAST_KSRCH;
-		return true;
-	default:
-		return false;
-	}
-}
-EXPORT_SYMBOL(ath9k_hw_setcapability);
 
 /****************************/
 /* GPIO / RFKILL / Antennae */
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 28fca9d..16b35cd 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -207,7 +207,6 @@ enum ath9k_hw_caps {
 };
 
 enum ath9k_capability_type {
-	ATH9K_CAP_MCAST_KEYSRCH,
 	ATH9K_CAP_DS
 };
 
@@ -855,8 +854,6 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
 int ath9k_hw_fill_cap_info(struct ath_hw *ah);
 bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
 			    u32 capability, u32 *result);
-bool ath9k_hw_setcapability(struct ath_hw *ah, enum ath9k_capability_type type,
-			    u32 capability, u32 setting, int *status);
 u32 ath9k_regd_get_ctl(struct ath_regulatory *reg, struct ath9k_channel *chan);
 
 /* Key Cache Management */
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 4bdf8c8..514a401 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -387,12 +387,6 @@ static void ath9k_init_crypto(struct ath_softc *sc)
 	 */
 	if (!(sc->sc_ah->misc_mode & AR_PCU_MIC_NEW_LOC_ENA))
 		common->splitmic = 1;
-
-	/* turn on mcast key search if possible */
-	if (!ath9k_hw_getcapability(sc->sc_ah, ATH9K_CAP_MCAST_KEYSRCH, 0, NULL))
-		(void)ath9k_hw_setcapability(sc->sc_ah, ATH9K_CAP_MCAST_KEYSRCH,
-					     1, 1, NULL);
-
 }
 
 static int ath9k_init_btcoex(struct ath_softc *sc)
-- 
1.6.4.2


^ permalink raw reply related

* [PATCH 3/7] ath9k_hw: remove ATH9K_CAP_TKIP_MIC
From: Felix Fietkau @ 2010-06-12 15:22 UTC (permalink / raw)
  To: linux-wireless; +Cc: lrodriguez, linville
In-Reply-To: <1276356154-66545-2-git-send-email-nbd@openwrt.org>

TKIP MIC support is always enabled anyway.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
 drivers/net/wireless/ath/ath9k/htc_drv_init.c |    8 --------
 drivers/net/wireless/ath/ath9k/hw.c           |   17 -----------------
 drivers/net/wireless/ath/ath9k/hw.h           |    1 -
 drivers/net/wireless/ath/ath9k/init.c         |    8 --------
 4 files changed, 0 insertions(+), 34 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index a26bc56..03100e3 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -571,14 +571,6 @@ static void ath9k_init_crypto(struct ath9k_htc_priv *priv)
 		ath9k_hw_keyreset(priv->ah, (u16) i);
 
 	/*
-	 * Whether we should enable h/w TKIP MIC.
-	 * XXX: if we don't support WME TKIP MIC, then we wouldn't
-	 * report WMM capable, so it's always safe to turn on
-	 * TKIP MIC in this case.
-	 */
-	ath9k_hw_setcapability(priv->ah, ATH9K_CAP_TKIP_MIC, 0, 1, NULL);
-
-	/*
 	 * Check whether the separate key cache entries
 	 * are required to handle both tx+rx MIC keys.
 	 * With split mic keys the number of stations is limited
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index d908f78..f1d9918 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2259,15 +2259,6 @@ bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
 			    u32 capability, u32 *result)
 {
 	switch (type) {
-	case ATH9K_CAP_TKIP_MIC:
-		switch (capability) {
-		case 0:
-			return true;
-		case 1:
-			return (ah->sta_id1_defaults &
-				AR_STA_ID1_CRPT_MIC_ENABLE) ? true :
-			false;
-		}
 	case ATH9K_CAP_TKIP_SPLIT:
 		return (ah->misc_mode & AR_PCU_MIC_NEW_LOC_ENA) ?
 			false : true;
@@ -2299,14 +2290,6 @@ bool ath9k_hw_setcapability(struct ath_hw *ah, enum ath9k_capability_type type,
 			    u32 capability, u32 setting, int *status)
 {
 	switch (type) {
-	case ATH9K_CAP_TKIP_MIC:
-		if (setting)
-			ah->sta_id1_defaults |=
-				AR_STA_ID1_CRPT_MIC_ENABLE;
-		else
-			ah->sta_id1_defaults &=
-				~AR_STA_ID1_CRPT_MIC_ENABLE;
-		return true;
 	case ATH9K_CAP_MCAST_KEYSRCH:
 		if (setting)
 			ah->sta_id1_defaults |= AR_STA_ID1_MCAST_KSRCH;
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 7456850..5574daa 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -207,7 +207,6 @@ enum ath9k_hw_caps {
 };
 
 enum ath9k_capability_type {
-	ATH9K_CAP_TKIP_MIC,
 	ATH9K_CAP_TKIP_SPLIT,
 	ATH9K_CAP_MCAST_KEYSRCH,
 	ATH9K_CAP_DS
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 8bb866d..f66b357 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -380,14 +380,6 @@ static void ath9k_init_crypto(struct ath_softc *sc)
 		ath9k_hw_keyreset(sc->sc_ah, (u16) i);
 
 	/*
-	 * Whether we should enable h/w TKIP MIC.
-	 * XXX: if we don't support WME TKIP MIC, then we wouldn't
-	 * report WMM capable, so it's always safe to turn on
-	 * TKIP MIC in this case.
-	 */
-	ath9k_hw_setcapability(sc->sc_ah, ATH9K_CAP_TKIP_MIC, 0, 1, NULL);
-
-	/*
 	 * Check whether the separate key cache entries
 	 * are required to handle both tx+rx MIC keys.
 	 * With split mic keys the number of stations is limited
-- 
1.6.4.2


^ permalink raw reply related

* [PATCH 7/7] ath9k_hw: remove ATH9K_CAP_DS
From: Felix Fietkau @ 2010-06-12 15:22 UTC (permalink / raw)
  To: linux-wireless; +Cc: lrodriguez, linville
In-Reply-To: <1276356154-66545-6-git-send-email-nbd@openwrt.org>

This capability check is no longer used, so it can be removed along with
the now-obsolete ath9k_hw_getcapability function.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
 drivers/net/wireless/ath/ath9k/hw.c |   15 ---------------
 drivers/net/wireless/ath/ath9k/hw.h |    6 ------
 2 files changed, 0 insertions(+), 21 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 9321931..62597f4 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2257,21 +2257,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
 	return 0;
 }
 
-bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
-			    u32 capability, u32 *result)
-{
-	switch (type) {
-	case ATH9K_CAP_DS:
-		return (AR_SREV_9280_20_OR_LATER(ah) &&
-			(ah->eep_ops->get_eeprom(ah, EEP_RC_CHAIN_MASK) == 1))
-			? false : true;
-	default:
-		return false;
-	}
-}
-EXPORT_SYMBOL(ath9k_hw_getcapability);
-
-
 /****************************/
 /* GPIO / RFKILL / Antennae */
 /****************************/
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 16b35cd..5ecbfcf 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -206,10 +206,6 @@ enum ath9k_hw_caps {
 	ATH9K_HW_CAP_PAPRD			= BIT(22),
 };
 
-enum ath9k_capability_type {
-	ATH9K_CAP_DS
-};
-
 struct ath9k_hw_capabilities {
 	u32 hw_caps; /* ATH9K_HW_CAP_* from ath9k_hw_caps */
 	DECLARE_BITMAP(wireless_modes, ATH9K_MODE_MAX); /* ATH9K_MODE_* */
@@ -852,8 +848,6 @@ int ath9k_hw_init(struct ath_hw *ah);
 int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
 		   bool bChannelChange);
 int ath9k_hw_fill_cap_info(struct ath_hw *ah);
-bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
-			    u32 capability, u32 *result);
 u32 ath9k_regd_get_ctl(struct ath_regulatory *reg, struct ath9k_channel *chan);
 
 /* Key Cache Management */
-- 
1.6.4.2


^ permalink raw reply related

* [PATCH 6/7] ath9k/ath9k_htc: remove redundand checks for dual-stream tx support
From: Felix Fietkau @ 2010-06-12 15:22 UTC (permalink / raw)
  To: linux-wireless; +Cc: lrodriguez, linville
In-Reply-To: <1276356154-66545-5-git-send-email-nbd@openwrt.org>

mac80211 already masks the HT sta capabilities based on hardware support

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |    7 ++-----
 drivers/net/wireless/ath/ath9k/rc.c           |    7 ++-----
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index 312ff1b..c0aafa7 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -362,11 +362,8 @@ static void ath9k_htc_setup_rate(struct ath9k_htc_priv *priv,
 		trate->rates.ht_rates.rs_nrates = j;
 
 		caps = WLAN_RC_HT_FLAG;
-		if (priv->ah->caps.tx_chainmask != 1 &&
-		    ath9k_hw_getcapability(priv->ah, ATH9K_CAP_DS, 0, NULL)) {
-			if (sta->ht_cap.mcs.rx_mask[1])
-				caps |= WLAN_RC_DS_FLAG;
-		}
+		if (sta->ht_cap.mcs.rx_mask[1])
+			caps |= WLAN_RC_DS_FLAG;
 		if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40)
 			caps |= WLAN_RC_40_FLAG;
 		if (conf_is_ht40(&priv->hw->conf) &&
diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
index 02b6052..600ee0b 100644
--- a/drivers/net/wireless/ath/ath9k/rc.c
+++ b/drivers/net/wireless/ath/ath9k/rc.c
@@ -1203,11 +1203,8 @@ static u8 ath_rc_build_ht_caps(struct ath_softc *sc, struct ieee80211_sta *sta,
 
 	if (sta->ht_cap.ht_supported) {
 		caps = WLAN_RC_HT_FLAG;
-		if (sc->sc_ah->caps.tx_chainmask != 1 &&
-		    ath9k_hw_getcapability(sc->sc_ah, ATH9K_CAP_DS, 0, NULL)) {
-			if (sta->ht_cap.mcs.rx_mask[1])
-				caps |= WLAN_RC_DS_FLAG;
-		}
+		if (sta->ht_cap.mcs.rx_mask[1])
+			caps |= WLAN_RC_DS_FLAG;
 		if (is_cw40)
 			caps |= WLAN_RC_40_FLAG;
 		if (is_sgi)
-- 
1.6.4.2


^ permalink raw reply related

* [PATCH 1/7] ath9k_hw: remove ATH9K_CAP_CIPHER
From: Felix Fietkau @ 2010-06-12 15:22 UTC (permalink / raw)
  To: linux-wireless; +Cc: lrodriguez, linville

All of the ciphers that are tested for are always supported

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
 drivers/net/wireless/ath/ath9k/htc_drv_init.c |   24 ++++++++----------------
 drivers/net/wireless/ath/ath9k/hw.c           |   12 ------------
 drivers/net/wireless/ath/ath9k/hw.h           |    1 -
 drivers/net/wireless/ath/ath9k/init.c         |   24 ++++++++----------------
 4 files changed, 16 insertions(+), 45 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index 947de70..a26bc56 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -570,16 +570,13 @@ static void ath9k_init_crypto(struct ath9k_htc_priv *priv)
 	for (i = 0; i < common->keymax; i++)
 		ath9k_hw_keyreset(priv->ah, (u16) i);
 
-	if (ath9k_hw_getcapability(priv->ah, ATH9K_CAP_CIPHER,
-				   ATH9K_CIPHER_TKIP, NULL)) {
-		/*
-		 * Whether we should enable h/w TKIP MIC.
-		 * XXX: if we don't support WME TKIP MIC, then we wouldn't
-		 * report WMM capable, so it's always safe to turn on
-		 * TKIP MIC in this case.
-		 */
-		ath9k_hw_setcapability(priv->ah, ATH9K_CAP_TKIP_MIC, 0, 1, NULL);
-	}
+	/*
+	 * Whether we should enable h/w TKIP MIC.
+	 * XXX: if we don't support WME TKIP MIC, then we wouldn't
+	 * report WMM capable, so it's always safe to turn on
+	 * TKIP MIC in this case.
+	 */
+	ath9k_hw_setcapability(priv->ah, ATH9K_CAP_TKIP_MIC, 0, 1, NULL);
 
 	/*
 	 * Check whether the separate key cache entries
@@ -587,12 +584,7 @@ static void ath9k_init_crypto(struct ath9k_htc_priv *priv)
 	 * With split mic keys the number of stations is limited
 	 * to 27 otherwise 59.
 	 */
-	if (ath9k_hw_getcapability(priv->ah, ATH9K_CAP_CIPHER,
-				   ATH9K_CIPHER_TKIP, NULL)
-	    && ath9k_hw_getcapability(priv->ah, ATH9K_CAP_CIPHER,
-				      ATH9K_CIPHER_MIC, NULL)
-	    && ath9k_hw_getcapability(priv->ah, ATH9K_CAP_TKIP_SPLIT,
-				      0, NULL))
+	if (ath9k_hw_getcapability(priv->ah, ATH9K_CAP_TKIP_SPLIT, 0, NULL))
 		common->splitmic = 1;
 
 	/* turn on mcast key search if possible */
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 5a2e72a..94f1258 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2260,18 +2260,6 @@ bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
 {
 	struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah);
 	switch (type) {
-	case ATH9K_CAP_CIPHER:
-		switch (capability) {
-		case ATH9K_CIPHER_AES_CCM:
-		case ATH9K_CIPHER_AES_OCB:
-		case ATH9K_CIPHER_TKIP:
-		case ATH9K_CIPHER_WEP:
-		case ATH9K_CIPHER_MIC:
-		case ATH9K_CIPHER_CLR:
-			return true;
-		default:
-			return false;
-		}
 	case ATH9K_CAP_TKIP_MIC:
 		switch (capability) {
 		case 0:
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index d60472b..cc01dc8 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -207,7 +207,6 @@ enum ath9k_hw_caps {
 };
 
 enum ath9k_capability_type {
-	ATH9K_CAP_CIPHER = 0,
 	ATH9K_CAP_TKIP_MIC,
 	ATH9K_CAP_TKIP_SPLIT,
 	ATH9K_CAP_TXPOW,
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index e1fa268..8bb866d 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -379,16 +379,13 @@ static void ath9k_init_crypto(struct ath_softc *sc)
 	for (i = 0; i < common->keymax; i++)
 		ath9k_hw_keyreset(sc->sc_ah, (u16) i);
 
-	if (ath9k_hw_getcapability(sc->sc_ah, ATH9K_CAP_CIPHER,
-				   ATH9K_CIPHER_TKIP, NULL)) {
-		/*
-		 * Whether we should enable h/w TKIP MIC.
-		 * XXX: if we don't support WME TKIP MIC, then we wouldn't
-		 * report WMM capable, so it's always safe to turn on
-		 * TKIP MIC in this case.
-		 */
-		ath9k_hw_setcapability(sc->sc_ah, ATH9K_CAP_TKIP_MIC, 0, 1, NULL);
-	}
+	/*
+	 * Whether we should enable h/w TKIP MIC.
+	 * XXX: if we don't support WME TKIP MIC, then we wouldn't
+	 * report WMM capable, so it's always safe to turn on
+	 * TKIP MIC in this case.
+	 */
+	ath9k_hw_setcapability(sc->sc_ah, ATH9K_CAP_TKIP_MIC, 0, 1, NULL);
 
 	/*
 	 * Check whether the separate key cache entries
@@ -396,12 +393,7 @@ static void ath9k_init_crypto(struct ath_softc *sc)
 	 * With split mic keys the number of stations is limited
 	 * to 27 otherwise 59.
 	 */
-	if (ath9k_hw_getcapability(sc->sc_ah, ATH9K_CAP_CIPHER,
-				   ATH9K_CIPHER_TKIP, NULL)
-	    && ath9k_hw_getcapability(sc->sc_ah, ATH9K_CAP_CIPHER,
-				      ATH9K_CIPHER_MIC, NULL)
-	    && ath9k_hw_getcapability(sc->sc_ah, ATH9K_CAP_TKIP_SPLIT,
-				      0, NULL))
+	if (ath9k_hw_getcapability(sc->sc_ah, ATH9K_CAP_TKIP_SPLIT, 0, NULL))
 		common->splitmic = 1;
 
 	/* turn on mcast key search if possible */
-- 
1.6.4.2


^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox