Linux wireless drivers development
 help / color / mirror / Atom feed
* compat-wireless-2009-08-13 - connection problems
From: Bringfried Stecklum @ 2009-08-14 17:46 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless
In-Reply-To: <43e72e890908121902g11b136e8y3f1cd30e6c607c08@mail.gmail.com>

Hi,

compilation of compat-wireless-2009-08-13 on my Ubuntu 8.10 kernel 2.6.27-12 
x86_64 system went fine. I noticed however, that upon resuming from 
standby/hibernate and unloading/loading iwlagn persistent connection problems 
occur which were not present with compat-wireless-2009-06-30 (the version I used 
until now). Here are the excerpts from /var/log/messages which illustrate the case

compat-wireless-2009-08-13
--------------------------
> 2009/08/14 18:29:44 :: No wired connection present, attempting to autoconnect to wireless network
> 2009/08/14 18:29:45 :: Unable to autoconnect, you'll have to manually connect
> 2009/08/14 18:29:50 :: No wired connection present, attempting to autoconnect to wireless network
> 2009/08/14 18:29:50 :: trying to automatically connect to...NET2NET
> 2009/08/14 18:29:50 :: Connecting to wireless network NET2NET
> 2009/08/14 18:29:50 :: Putting interface down
> 2009/08/14 18:29:50 :: Releasing DHCP leases...
> 2009/08/14 18:29:51 :: Setting false IP...
> 2009/08/14 18:29:52 :: Stopping wpa_supplicant and any DHCP clients
> 2009/08/14 18:29:52 :: Flushing the routing table...
> 2009/08/14 18:29:52 :: Generating psk...
> 2009/08/14 18:29:52 :: Attempting to authenticate...
> 2009/08/14 18:29:53 :: Putting interface up...
> 2009/08/14 18:29:55 :: Running DHCP
> 2009/08/14 18:29:55 :: Internet Systems Consortium DHCP Client V3.1.1
> 2009/08/14 18:29:55 :: Copyright 2004-2008 Internet Systems Consortium.
> 2009/08/14 18:29:55 :: All rights reserved.
> 2009/08/14 18:29:55 :: For info, please visit http://www.isc.org/sw/dhcp/
> 2009/08/14 18:29:55 :: 
> 2009/08/14 18:29:57 :: Listening on LPF/wlan0/00:21:5c:a0:ee:f7
> 2009/08/14 18:29:57 :: Sending on   LPF/wlan0/00:21:5c:a0:ee:f7
> 2009/08/14 18:29:57 :: Sending on   Socket/fallback
> 2009/08/14 18:30:00 :: DHCPREQUEST of 192.168.178.37 on wlan0 to 255.255.255.255 port 67
> 2009/08/14 18:30:08 :: DHCPREQUEST of 192.168.178.37 on wlan0 to 255.255.255.255 port 67
> 2009/08/14 18:30:28 :: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 4
> 2009/08/14 18:30:32 :: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
> 2009/08/14 18:30:37 :: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
> 2009/08/14 18:30:45 :: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
> 2009/08/14 18:31:00 :: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 13
> 2009/08/14 18:31:13 :: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 16
> 2009/08/14 18:31:29 :: No DHCPOFFERS received.
> 2009/08/14 18:31:29 :: Trying recorded lease 192.168.178.37
> 2009/08/14 18:31:32 :: PING 192.168.178.1 (192.168.178.1) 56(84) bytes of data.
> 2009/08/14 18:31:32 :: 
> 2009/08/14 18:31:32 :: --- 192.168.178.1 ping statistics ---
> 2009/08/14 18:31:32 :: 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
> 2009/08/14 18:31:32 :: 
> 2009/08/14 18:31:32 :: Trying recorded lease 192.168.2.105
> 2009/08/14 18:31:35 :: PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
> 2009/08/14 18:31:35 :: 
> 2009/08/14 18:31:35 :: --- 192.168.2.1 ping statistics ---
> 2009/08/14 18:31:35 :: 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
> 2009/08/14 18:31:35 :: 
> 2009/08/14 18:31:35 :: No working leases in persistent database - sleeping.
> 2009/08/14 18:31:35 :: DHCP connection failed
> 2009/08/14 18:31:35 :: exiting connection thread
> 2009/08/14 18:31:39 :: No wired connection present, attempting to autoconnect to wireless network
> 2009/08/14 18:31:39 :: trying to automatically connect to...NET2NET
> 2009/08/14 18:31:39 :: Connecting to wireless network NET2NET
> 2009/08/14 18:31:39 :: Putting interface down
> 2009/08/14 18:31:39 :: Releasing DHCP leases...
> 2009/08/14 18:31:39 :: Setting false IP...
> 2009/08/14 18:31:40 :: Stopping wpa_supplicant and any DHCP clients
> 2009/08/14 18:31:40 :: Flushing the routing table...
> 2009/08/14 18:31:40 :: Generating psk...
> 2009/08/14 18:31:40 :: Attempting to authenticate...
> 2009/08/14 18:31:40 :: Putting interface up...
> 2009/08/14 18:31:41 :: Running DHCP
> 2009/08/14 18:31:41 :: Internet Systems Consortium DHCP Client V3.1.1
> 2009/08/14 18:31:41 :: Copyright 2004-2008 Internet Systems Consortium.
> 2009/08/14 18:31:41 :: All rights reserved.
> 2009/08/14 18:31:41 :: For info, please visit http://www.isc.org/sw/dhcp/
> 2009/08/14 18:31:42 :: Listening on LPF/wlan0/00:21:5c:a0:ee:f7
> 2009/08/14 18:31:42 :: Sending on   LPF/wlan0/00:21:5c:a0:ee:f7
> 2009/08/14 18:31:42 :: Sending on   Socket/fallback
> 2009/08/14 18:31:42 :: DHCPREQUEST of 192.168.178.37 on wlan0 to 255.255.255.255 port 67
> 2009/08/14 18:31:42 :: DHCPACK of 192.168.178.37 from 192.168.178.1
> 2009/08/14 18:31:42 :: bound to 192.168.178.37 -- renewal in 349940 seconds.
> 2009/08/14 18:31:42 :: DHCP connection successful
> 2009/08/14 18:31:42 :: Connecting thread exiting.


compat-wireless-2009-06-30
--------------------------
> 2009/08/14 19:30:16 :: No wired connection present, attempting to autoconnect to wireless network
> 2009/08/14 19:30:16 :: Unable to autoconnect, you'll have to manually connect
> 2009/08/14 19:30:22 :: No wired connection present, attempting to autoconnect to wireless network
> 2009/08/14 19:30:22 :: trying to automatically connect to...NET2NET
> 2009/08/14 19:30:22 :: Connecting to wireless network NET2NET
> 2009/08/14 19:30:22 :: Putting interface down
> 2009/08/14 19:30:22 :: Releasing DHCP leases...
> 2009/08/14 19:30:23 :: Setting false IP...
> 2009/08/14 19:30:23 :: Stopping wpa_supplicant and any DHCP clients
> 2009/08/14 19:30:23 :: Flushing the routing table...
> 2009/08/14 19:30:23 :: Generating psk...
> 2009/08/14 19:30:23 :: Attempting to authenticate...
> 2009/08/14 19:30:23 :: Putting interface up...
> 2009/08/14 19:30:32 :: Running DHCP
> 2009/08/14 19:30:32 :: Internet Systems Consortium DHCP Client V3.1.1
> 2009/08/14 19:30:32 :: Copyright 2004-2008 Internet Systems Consortium.
> 2009/08/14 19:30:32 :: All rights reserved.
> 2009/08/14 19:30:32 :: For info, please visit http://www.isc.org/sw/dhcp/
> 2009/08/14 19:30:32 :: 
> 2009/08/14 19:30:33 :: Listening on LPF/wlan0/00:21:5c:a0:ee:f7
> 2009/08/14 19:30:33 :: Sending on   LPF/wlan0/00:21:5c:a0:ee:f7
> 2009/08/14 19:30:33 :: Sending on   Socket/fallback
> 2009/08/14 19:30:37 :: DHCPREQUEST of 192.168.178.37 on wlan0 to 255.255.255.255 port 67
> 2009/08/14 19:30:37 :: DHCPACK of 192.168.178.37 from 192.168.178.1
> 2009/08/14 19:30:37 :: bound to 192.168.178.37 -- renewal in 347388 seconds.
> 2009/08/14 19:30:37 :: DHCP connection successful
> 2009/08/14 19:30:37 :: Connecting thread exiting.

Regards,

	Bringfried



^ permalink raw reply

* Re: Spare warnings - wireless drivers
From: Dave @ 2009-08-14 17:30 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless
In-Reply-To: <43e72e890908131331q371320a3gf1ab53ea27574549@mail.gmail.com>

Luis R. Rodriguez wrote:
> Orinoco:
> 
>   CHECK   drivers/net/wireless/orinoco/wext.c
> drivers/net/wireless/orinoco/wext.c:1294:9: warning: context imbalance
> in 'orinoco_ioctl_setibssport' - unexpected unlock

Thanks for the heads up.

I've been staring at setibssport for 5 minutes, and can't see the
alleged imbalance. False positive?

I can't see why sparse picked on setibssport either - half the other
functions in that file do exactly the same.


Dave.

---
PS. since it's short, the full function is:

static int orinoco_ioctl_setibssport(struct net_device *dev,
				     struct iw_request_info *info,
				     void *wrqu,
				     char *extra)
{
	struct orinoco_private *priv = ndev_priv(dev);
	int val = *((int *) extra);
	unsigned long flags;

	if (orinoco_lock(priv, &flags) != 0)
		return -EBUSY;

	priv->ibss_port = val ;

	/* Actually update the mode we are using */
	set_port_type(priv);

	orinoco_unlock(priv, &flags);
	return -EINPROGRESS;		/* Call commit handler */
}

... and there's no (un)locking in set_port_type

^ permalink raw reply

* Re: Spare warnings - wireless drivers
From: Kalle Valo @ 2009-08-14 17:21 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless
In-Reply-To: <43e72e890908131331q371320a3gf1ab53ea27574549@mail.gmail.com>

"Luis R. Rodriguez" <mcgrof@gmail.com> writes:

> TI:
>
>   CHECK   drivers/net/wireless/wl12xx/wl1251_boot.c
> drivers/net/wireless/wl12xx/wl1251_boot.c:227:22: warning: symbol
> 'interrupt' shadows an earlier one
> /home/mcgrof/wireless-testing/arch/x86/include/asm/hw_irq.h:120:13:
> originally declared here
>
>   CHECK   drivers/net/wireless/wl12xx/wl1251_sdio.c
> drivers/net/wireless/wl12xx/wl1251_sdio.c:68:6: warning: symbol
> 'wl1251_sdio_read' was not declared. Should it be static?
> drivers/net/wireless/wl12xx/wl1251_sdio.c:80:6: warning: symbol
> 'wl1251_sdio_write' was not declared. Should it be static?
> drivers/net/wireless/wl12xx/wl1251_sdio.c:92:6: warning: symbol
> 'wl1251_sdio_reset' was not declared. Should it be static?
> drivers/net/wireless/wl12xx/wl1251_sdio.c:114:6: warning: symbol
> 'wl1251_sdio_set_power' was not declared. Should it be static?
> drivers/net/wireless/wl12xx/wl1251_sdio.c:118:29: warning: symbol
> 'wl1251_sdio_ops' was not declared. Should it be static?
> drivers/net/wireless/wl12xx/wl1251_sdio.c:126:5: warning: symbol
> 'wl1251_sdio_probe' was not declared. Should it be static?

Thanks. I'll fix these.

-- 
Kalle Valo

^ permalink raw reply

* Re: [PATCH 16/16] iwlwifi: disable powersave mode
From: Kalle Valo @ 2009-08-14 17:20 UTC (permalink / raw)
  To: reinette chatre
  Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org,
	ipw3945-devel@lists.sourceforge.net, Guy, Wey-Yi W
In-Reply-To: <1250114006.30019.6030.camel@rc-desk>

reinette chatre <reinette.chatre@intel.com> writes:

>> What I'm worried is the complexity of the driver interfaces and
>> configuration methods. For iwlwifi power save, after this patch, we have
>> now:
>> 
>> o Wireless Extensions
>> o sysfs
>> o CONFIG_CFG80211_DEFAULT_PS Kconfig parameter
>
> We could not see how any of the current measures can be used to
> accomplish out goal. Fortunately Johannes implemented something that now
> can be used to accomplish this.

Yes, Johannes' idea is a perfect compromise. Thank you both.

-- 
Kalle Valo

^ permalink raw reply

* Re: Deauthentications with p54usb
From: Kalle Valo @ 2009-08-14 17:17 UTC (permalink / raw)
  To: Chunkeey; +Cc: Larry Finger, wireless
In-Reply-To: <1763718213@web.de>

Chunkeey@web.de writes:

> "Larry Finger" <Larry.Finger@lwfinger.net> wrote:
>> 
>> I'll try to collect a dump.
>> 
> Any news regarding that dump?
> Or are you too busy reviewing b43's LP code? :)
>
> It looks like more drivers are affected. 
>  - Luis reported some deauth (reasons=7) for ath9k with a cisco ap.
>  - Kalle has the same issues with wl1271 with a ?Zyxel? AP.

Actually that was with wl1251. It was a bug in the driver, I'll send a
patch within few days.

-- 
Kalle Valo

^ permalink raw reply

* Re: [PATCH] cfg80211: allow driver to override PS default
From: Kalle Valo @ 2009-08-14 17:15 UTC (permalink / raw)
  To: Johannes Berg; +Cc: John Linville, linux-wireless
In-Reply-To: <1250112800.12285.0.camel@johannes.local>

Johannes Berg <johannes@sipsolutions.net> writes:

> Sometimes drivers might have a good reason to override
> the PS default, like iwlwifi right now where it affects
> RX performance significantly at this point. This will
> allow them to override the default, if desired, in a
> way that users can still change it according to their
> trade-off choices, not the driver's, like would happen
> if the driver just disabled PS completely then.

This is a good idea. Thank you for finding a solution.

-- 
Kalle Valo

^ permalink raw reply

* Re: [RFT] ar9170: downgrade BUG_ON() on unexpected mdpu
From: Kalle Valo @ 2009-08-14 17:11 UTC (permalink / raw)
  To: Christian Lamparter; +Cc: Luis R. Rodriguez, linux-wireless
In-Reply-To: <200908141150.54153.chunkeey@web.de>

Christian Lamparter <chunkeey@web.de> writes:

>> -		BUG_ON(1);
>> -		break;
>> +		if (ar9170_nag_limiter(ar))
>> +			printk(KERN_ERR "%s: rx'd unexpected "
>> +			       "type of MPDU.\n",
>> +			       wiphy_name(ar->hw->wiphy));
>> +		return;
>>  	}
>
> no, this is really impossible! really!

A network driver should not have a BUG_ON(), stalling the whole system
is not acceptable. For example, with my current setup I would have no
idea why the system even crashed. WARN_ON() should be enough here.

-- 
Kalle Valo

^ permalink raw reply

* Re: [PATCH v2 00/25] wireless: cleanup and reorganize kconfig
From: Luis R. Rodriguez @ 2009-08-14 16:14 UTC (permalink / raw)
  To: Holger Schurig; +Cc: Luis Rodriguez, linux-wireless@vger.kernel.org
In-Reply-To: <200908141000.46793.hs4233@mail.mn-solutions.de>

On Fri, Aug 14, 2009 at 01:00:46AM -0700, Holger Schurig wrote:
> On Friday 14 August 2009 02:42:39 Luis R. Rodriguez wrote:
> 
> Could you also post one combined patch for all of this?

Sure, it seems I have to respin once more so will do after that.

  Luis

^ permalink raw reply

* Re: [PATCH v2 11/25] wireless: clarify rndis_wlan is not broadcom specific
From: Jussi Kivilinna @ 2009-08-14 16:07 UTC (permalink / raw)
  To: Gábor Stefanik
  Cc: Luis R. Rodriguez, linville, linux-wireless, Michael Buesch,
	Johannes Berg
In-Reply-To: <69e28c910908140313p7d138635q51ee71c362aaa7f6@mail.gmail.com>

Quoting "Gábor Stefanik" <netrolller.3d@gmail.com>:

> On Fri, Aug 14, 2009 at 2:42 AM, Luis R.
> Rodriguez<lrodriguez@atheros.com> wrote:
>> Cc: Michael Buesch <mb@bu3sch.de>
>> Cc: Gábor Stefanik <netrolller.3d@gmail.com>
>> Cc: Johannes Berg <johannes@sipsolutions.net>
>> Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
>> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
>> ---
>>  drivers/net/wireless/Kconfig |    4 +++-
>>  1 files changed, 3 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
>> index cb5aae6..a1bdb51 100644
>> --- a/drivers/net/wireless/Kconfig
>> +++ b/drivers/net/wireless/Kconfig
>> @@ -403,7 +403,9 @@ config USB_NET_RNDIS_WLAN
>>          BUFFALO WLI-USB-G54
>>
>>          All of these devices are based on Broadcom 4320 chip which is the
>> -         only wireless RNDIS chip known to date.
>> +         only wireless RNDIS chip known to date. Technically RNDIS follows
>> +         a specification and although only Broadcom currently supports this
>> +         other vendors could technically follow the implementation as well.
>
> To the aforementioned "other vendors" - please do not follow this
> brain-dead, Microsoft-based spec! :-)
>

Agreed!

-Jussi


^ permalink raw reply

* Re: [PATCH] cfg80211: set SME state machine correctly for roam event
From: Jussi Kivilinna @ 2009-08-14 16:05 UTC (permalink / raw)
  To: Johannes Berg; +Cc: Zhu Yi, linville, linux-wireless
In-Reply-To: <1250157249.21250.0.camel@johannes.local>

Quoting "Johannes Berg" <johannes@sipsolutions.net>:

> On Thu, 2009-08-13 at 17:23 +0800, Zhu Yi wrote:
>> When we receive a successful status in CFG80211_SME_CONNECTED state,
>> it is a roam event. We should mark it as a success result.
>
> But there's a cfg80211_roamed() call for that? Can the driver not tell
> the difference? It also sends a different event (ROAMED rather than
> CONNECTED) to userspace.
>

rndis sends 'media connect' indication when device  
associates/reassociates/"roams and associates with new AP". Specs also  
say that "must not make a media disconnect indication when  
reassociating or roaming".

-Jussi


^ permalink raw reply

* Re: [RFT] ar9170: downgrade BUG_ON() on unexpected mdpu
From: Luis R. Rodriguez @ 2009-08-14 15:30 UTC (permalink / raw)
  To: Christian Lamparter; +Cc: linux-wireless
In-Reply-To: <200908141150.54153.chunkeey@web.de>

On Fri, Aug 14, 2009 at 2:50 AM, Christian Lamparter<chunkeey@web.de> wrote:
> On Friday 14 August 2009 04:01:35 Luis R. Rodriguez wrote:
>> If someone pulls the harware out while RX'ing a lot of traffic
>> I would funky data may be passed, BUG_ON() seems pretty extreme
>> so lets just drop the frame as we do when the length does not
>> meet our criteria for processing.
>>
>> Cc: Christian Lamparter <chunkeey@web.de>
>> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
>> ---
>>
>> This one depends on my previous patch.
>>
>>  drivers/net/wireless/ath/ar9170/main.c |    7 +++++--
>>  1 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ar9170/main.c b/drivers/net/wireless/ath/ar9170/main.c
>> index 75c317d..0bbbc36 100644
>> --- a/drivers/net/wireless/ath/ar9170/main.c
>> +++ b/drivers/net/wireless/ath/ar9170/main.c
>> @@ -1068,8 +1068,11 @@ static void ar9170_handle_mpdu(struct ar9170 *ar, u8 *buf, int len)
>>               break;
>>
>>       default:
>> -             BUG_ON(1);
>> -             break;
>> +             if (ar9170_nag_limiter(ar))
>> +                     printk(KERN_ERR "%s: rx'd unexpected "
>> +                            "type of MPDU.\n",
>> +                            wiphy_name(ar->hw->wiphy));
>> +             return;
>>       }
>
> no, this is really impossible! really!
>
> But let's take a closer look why should be so:
>
> the switch goes like this:
>> switch (mac->status & AR9170_RX_STATUS_MPDU_MASK) {
> mac->status is a u8 and AND with AR9170_RX_STATUS_MPDU_MASK.
>
> AR9170_RX_STATUS_MPDU_MASK (etc.) is #define in hw.h
> and it's a 0x30 _mask_.
>
> This leaves only four possibilities: 0x00, 0x10, 0x20, 0x30.
>
>>case AR9170_RX_STATUS_MPDU_FIRST: (case 0x20:)
>>case AR9170_RX_STATUS_MPDU_LAST: (case 0x10:)
>>case AR9170_RX_STATUS_MPDU_MIDDLE: (case 0x30:)
>>case AR9170_RX_STATUS_MPDU_SINGLE: (case 0x00:)
>
> so the default case is a deadly dead code path here ;-).
> And the reason why you see it was because some checker tool kept
> complaining about unlikely _corner_ cases.

heh thanks!

  Luis

^ permalink raw reply

* Re: [PATCH] b43: Add LP-PHY firmware loading support
From: Gábor Stefanik @ 2009-08-14 15:26 UTC (permalink / raw)
  To: Larry Finger
  Cc: John Linville, Michael Buesch, Mark Huijgen, Broadcom Wireless,
	linux-wireless
In-Reply-To: <4A85678E.6080205@lwfinger.net>

(Restored CCs.)

2009/8/14 Larry Finger <Larry.Finger@lwfinger.net>:
> Gábor Stefanik wrote:
>>
>> On http://bu3sch.de/gitweb?p=b43-tools.git;a=blob;f=fwcutter/fwcutter_list.h;hb=HEAD,
>> it doesn't look like v4.150.10.5 contains rev16 - there is one version
>> that does have it, but the link to that file is dead.
>
> The rev 16 firmware definitely is in driver 4.174.64.19, but not in
> 4.150.10.5. I'll have to figure out where I got it, and what
> modifications are needed in fwcutter to make it available.
>
> I suggest that you do the mods to the firmware loading. If Broadcom
> has it in their driver, there must be hardware that needs it.
>
> Larry

I would say that's a goal for later - the FIFO sizes are different, so
it would clearly need more work than just loading the firmware  to
support rev16 devices.

-- 
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

^ permalink raw reply

* Re: [PATCH] cfg80211: set SME state machine correctly for roam event
From: Johannes Berg @ 2009-08-14 14:54 UTC (permalink / raw)
  To: Zhu Yi; +Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org
In-Reply-To: <1250222301.4972.31.camel@debian>

[-- Attachment #1: Type: text/plain, Size: 1414 bytes --]

On Fri, 2009-08-14 at 11:58 +0800, Zhu Yi wrote:

> The device notifies both when it begins to roam and after the new
> association is made. Yes, I think I missed the cfg80211_roamed call for
> the real roam event. But there is still a reassociation path that the
> above situation could happen (__cfg80211_connect_result is called while
> in CFG80211_SME_CONNECTED state). Or do you think we should suppress
> reassoc event from driver?

Would that be after a disconnect event?

I think that after a DISCONNECTED event the device should go to sleep
completely and wait for userspace instructions. Otherwise we end up
having a weird situation _again_ where userspace has no idea what the
device is doing. I suppose if the device just keeps trying you just have
to tell it to stop after a bit if it doesn't find a new connections.

Otherwise, if you're roaming, you still get a disconnect/reassoc or
something like that? Those together should form a ROAMED event.

> Actually, the code in __cfg80211_connect_result() has already handled
> the (wdev->sme_state == CFG80211_SME_CONNECTED) case. The problem is
> wdev->current_bss is set to NULL but leaves wdev->sme_state still as
> CFG80211_SME_CONNECTED. So I think the patch is still valid, but needs a
> better description.

I don't think I understand?

Why would you ever have a connect_result() while already connected?

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply

* pull request: wireless-2.6 2009-08-14
From: John W. Linville @ 2009-08-14 14:12 UTC (permalink / raw)
  To: davem; +Cc: linux-wireless, netdev

Dave,

A couple more squeakers for 2.6.31...one avoids a panic related to
802.11n, the other avoids some memory corruption with rt2x00 devices.

Please let me know if there are problems!

John

---

Individual patches are available here:

	http://www.kernel.org/pub/linux/kernel/people/linville/wireless-2.6/

---

The following changes since commit 839d1624b9dcf31fdc02e47359043bb7bd71d6ca:
  Francois Romieu (1):
        8139cp: balance dma_map_single vs dma_unmap_single pair

are available in the git repository at:

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

Luis R. Rodriguez (1):
      mac80211: fix panic when splicing unprepared TIDs

Pavel Roskin (1):
      rt2x00: fix memory corruption in rf cache, add a sanity check

 drivers/net/wireless/rt2x00/rt2x00.h |    6 ++++--
 net/mac80211/agg-tx.c                |    8 ++++++++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h
index a498dde..49c9e2c 100644
--- a/drivers/net/wireless/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
@@ -849,13 +849,15 @@ struct rt2x00_dev {
 static inline void rt2x00_rf_read(struct rt2x00_dev *rt2x00dev,
 				  const unsigned int word, u32 *data)
 {
-	*data = rt2x00dev->rf[word];
+	BUG_ON(word < 1 || word > rt2x00dev->ops->rf_size / sizeof(u32));
+	*data = rt2x00dev->rf[word - 1];
 }
 
 static inline void rt2x00_rf_write(struct rt2x00_dev *rt2x00dev,
 				   const unsigned int word, u32 data)
 {
-	rt2x00dev->rf[word] = data;
+	BUG_ON(word < 1 || word > rt2x00dev->ops->rf_size / sizeof(u32));
+	rt2x00dev->rf[word - 1] = data;
 }
 
 /*
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
index 9e5762a..a24e598 100644
--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -381,6 +381,14 @@ static void ieee80211_agg_splice_packets(struct ieee80211_local *local,
 		&local->hw, queue,
 		IEEE80211_QUEUE_STOP_REASON_AGGREGATION);
 
+	if (!(sta->ampdu_mlme.tid_state_tx[tid] & HT_ADDBA_REQUESTED_MSK))
+		return;
+
+	if (WARN(!sta->ampdu_mlme.tid_tx[tid],
+		 "TID %d gone but expected when splicing aggregates from"
+		 "the pending queue\n", tid))
+		return;
+
 	if (!skb_queue_empty(&sta->ampdu_mlme.tid_tx[tid]->pending)) {
 		spin_lock_irqsave(&local->queue_stop_reason_lock, flags);
 		/* mark queue as pending, it is stopped already */
-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

^ permalink raw reply related

* pull request: wireless-next-2.6 2009-08-14
From: John W. Linville @ 2009-08-14 14:13 UTC (permalink / raw)
  To: davem; +Cc: linux-wireless, netdev

Dave,

Yet another round of updates intended for 2.6.32...

-- sdio support fo wl1251
-- other wl1251 fixes
-- new driver for wl1271
-- some orinoco fixes
-- some work on LP-PHY support for b43 (finally...hooray!)
-- add new FIF_PSPOLL filter flag
-- mesh mode fixes
-- ath9k, ath5k, mac80211 updates, etc...

Please let me know if there are problems!

Thanks,

John

---

Individual patches are available here:

	http://www.kernel.org/pub/linux/kernel/people/linville/wireless-next-2.6/

---

The following changes since commit c458bc50e31631f7e9333ea6f1832fc54d4e2c1e:
  Eilon Greenstein (1):
        bnx2x: update version to 1.52.1

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6.git master

Andrey Yurovsky (1):
      mac80211: Use correct sign for mesh active path refresh.

Bob Copeland (8):
      wl1251: separate bus i/o code into io.c
      wl1251: use wiphy_dev instead of wl->spi->dev
      wl1251: introduce wl1251_if_operations struct
      wl1251: make wl1251_set_partition bus agnostic
      wl1251: move module probe methods into spi.c
      wl1251: split spi interface into separate module
      wl1251: add sdio support
      wl1251: make irq handling interface specific

Christian Lamparter (2):
      p54: Write outside array bounds
      p54: implement rfkill

Daniel Mack (1):
      libertas: name the network device wlan%d

David Kilroy (6):
      orinoco: prefer_port3 can be a single bit
      orinoco: use local types for auth alg and sequence length
      orinoco: pass orinoco_set_tkip_key the sequence lengths
      orinoco: move disassociation to hw.c
      orinoco: add function to retrieve current bssid
      orinoco: consolidate storage of WEP and TKIP keys

David Woo (2):
      mac80211: Mark a destination sequence number as valid when a PREQ is received.
      mac80211: Fix invalid length passed to IE parser for PLINK CONFIRM frames

Gábor Stefanik (12):
      b43: Add LP 2063 radio init
      b43: Typo fixes & minor cleanup
      b43: Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change.
      b43: LP-PHY: Implement STX synchronization
      b43: Implement LP-PHY baseband table initialization
      b43: Update LP-PHY rev2+ baseband init to match the specs
      ssb: Implement the remaining rev.8 SPROM vars needed for LP-PHY
      b43: Fix a typo in the sync_stx routine
      b43: LP-PHY: Implement reading band SPROM
      b43: Implement RC calibration for rev.2+ LP PHYs
      b43: LP-PHY: Refactor TX gain table I/O
      b43: Implement RC calibration for rev.0/1 LP-PHYs

Igor Perminov (3):
      rt2x00: Fix for race condition while update beacon
      rt2x00: FIF_PSPOLL filter flag support
      rt2x00: Fix beacon de-synchronization while update beacon

Ivo van Doorn (3):
      rt2x00: Remove usage of deprecated radio_enabled & IEEE80211_CONF_CHANGE_RADIO_ENABLED
      rt2x00: Use IEEE80211_TX_CTL_MORE_FRAMES flag
      rt2x00: Align ieee80211 header to 4-byte boundary for PCI devices

Javier Cardona (7):
      mac80211: Improve dequeing from mpath frame queue.
      mac80211: Use 3-address format for mesh broadcast frames.
      mac80211: Update the station failed frames average when minstrel is used.
      mac80211: Early detection of broken mesh paths when using minstrel.
      mac80211: Assign a default mesh beaconing interval.
      mac80211: Move mpath and mpp growth to mesh workqueue.
      mac80211: Fix unresolved mesh frames queued without valid control.vif

Joe Perches (1):
      MAINTAINERS: NETWORKING [WIRELESS] additional patterns

Joerg Albert (1):
      ath5k: fix missing output in monitor mode after ifconfig up

Johannes Berg (19):
      mac80211: stay authenticated after disassoc
      cfg80211: fix nl80211 disconnected events
      cfg80211: fix SME association after disassociation
      cfg80211: validate channel settings across interfaces
      cfg80211: use reassociation when possible
      nl80211: add generation number to all dumps
      mac80211: explain TX retry and status
      mac80211: document TX powersave filter requirements
      mac80211: allow DMA optimisation
      cfg80211: fix alignment problem in scan request
      iwlwifi: refactor some thermal throttle code
      iwlwifi: automatically adjust sleep level
      cfg80211: fix locking for SIWFREQ
      cfg80211: add missing device list locking
      mac80211: take statistics before encryption
      mac80211: sequence number micro-optimisation
      mac80211: small tx code cleanup
      cfg80211: check for and abort dangling scan requests
      cfg80211: allow driver to override PS default

Julia Lawall (1):
      drivers/net/wireless/ath/ath5k: Change constant name

Jussi Kivilinna (1):
      usbnet: add rx queue pausing

Kalle Valo (18):
      wl1251: remove fixed address support from spi commands
      wl1251: remove wl1251_ops
      wl1251: reorder wl1251_cmd_join() arguments
      wl1251: use beacon interval and dtim period provided by mac80211
      wl1251: remove wait parameter from wl1251_cmd_join()
      wl1251: initialise default channel to zero
      wl1251: add channel to wl1251_cmd_join() parameters
      wl1251: create wl1251_join()
      wl1251: fix channel setting in wl1251_op_config()
      wl1251: move wl1251_acx_wake_up_conditions() to wl1251_ps_set_mode()
      wl1251: use workqueue provided by mac80211
      wl1251: rename reg.h to wl1251_reg.h
      wl1251: remove Luciano as maintainer
      wl1251: add hw scan completed debug message
      wl1251: hack to disable filters for fixing association
      iwl3945: fix compilation error in iwl3945_pass_packet_to_mac80211()
      wl1251: remove wl1251_ops.c
      wl1251: remove unused definitions from wl1251_reg.h

Lars Ericsson (2):
      rt2x00: Fix quality houskeeping for software diversity
      rt2x00: Fix rounding errors in RSSI average calculation

Luciano Coelho (4):
      wl1271: add wl1271 driver files
      wl1271: add wl1271 to Kconfig and the Makefile
      MAINTAINERS: add information for wl1271 wireless driver
      wl1271: fix compiler warnings on 64 bit archs

Luis R. Rodriguez (8):
      ath9k: use new FIF_PSPOLL configure filter
      zd1211rw: make it clear we don't use leds.h LED stuff
      mac80211: fix compilation of mesh (although its disabled)
      ath9k: Fix regression on receiving PS poll frames
      ath: add common ath_rxbuf_alloc() and make ath9k use it
      ath5k: use common ath.ko ath_rxbuf_alloc()
      ath5k: use bit shift operators for cache line size
      ath9k: update kconfig to indicate support for AR9002 family

Michael Buesch (2):
      b43: Fix hardware key index handling
      rtl818x: Add some documentation to the TX desc flags

Nick Kossifidis (5):
      ath5k: Check EEPROM before tweaking SERDES
      ath5k: Linear PCDAC code fixes
      ath5k: Wakeup fixes
      ath5k: Preserve pcicfg bits during attach
      ath5k: Use SWI to trigger calibration

Pat Erley (1):
      mac80211: remove max_bandwidth

Pavel Roskin (1):
      cfg80211: fix disassociation warning due to misuse of wdev->current_bss

Reinette Chatre (3):
      iwlwifi: re-introduce per device debugging
      iwlwifi: revert uCode Alive notification with timeout
      iwlwifi: fix missing EXPORT_SYMBOL

Samuel Ortiz (1):
      cfg80211: Set WEP ciphers

Sujith (15):
      ath9k: Remove unneeded assignment of protocol field
      ath9k: Cleanup function return types
      ath9k: Try to fix whitespace damage
      ath9k: Remove a few DEBUG mesages
      ath9k: Split eeprom.c into manageable pieces
      ath9k: Cleanup ath9k_hw_4k_set_gain() interface
      ath9k: Add macros for Antenna Diversity
      ath9k: Clean antenna configuration for 4K EEPROM chips
      ath9k: Cleanup TX power calculation for 4K chips
      ath9k: Remove local chainmask variable
      ath9k: Update beacon RSSI
      ath9k: Remove has_hw_phycounters
      ath9k: Remove duplicate variables
      ath9k: Fix bug in PCI resume
      ath9k: Set HW state properly

Thadeu Lima de Souza Cascardo (1):
      trivial: remove duplicate "different" from comment

Wey-Yi Guy (10):
      iwlwifi: name changed from "fat" to "ht40"
      iwlwifi: new debugging feature for dumping data traffic
      iwlwifi: Traffic type and counter for debugFs
      iwlwifi: tx/rx queue pointer information
      iwlwifi: uCode statistics notification counter
      iwlwifi: Display sensitivity and chain noise information
      iwlwifi: fix thermal throttling locking problem
      iwlwifi: fix legacy thermal throttling power index
      iwlwifi: handle the case when set power fail
      iwlwifi: display correct critical temperature infomation

Zhu Yi (1):
      wireless: display wext SSID when connected by cfg80211

gregor kowski (1):
      b43: remove wrong probe_resp_plcp write

 MAINTAINERS                                        |   14 +-
 drivers/net/usb/usbnet.c                           |   44 +-
 drivers/net/wireless/ath/Kconfig                   |    4 +-
 drivers/net/wireless/ath/ath.h                     |   30 +
 drivers/net/wireless/ath/ath5k/ath5k.h             |   17 +
 drivers/net/wireless/ath/ath5k/attach.c            |   60 +-
 drivers/net/wireless/ath/ath5k/base.c              |  138 +-
 drivers/net/wireless/ath/ath5k/base.h              |    6 +-
 drivers/net/wireless/ath/ath5k/eeprom.c            |   10 +
 drivers/net/wireless/ath/ath5k/eeprom.h            |    4 +
 drivers/net/wireless/ath/ath5k/phy.c               |   47 +-
 drivers/net/wireless/ath/ath5k/qcu.c               |    2 +-
 drivers/net/wireless/ath/ath5k/reset.c             |  155 +-
 drivers/net/wireless/ath/ath9k/Kconfig             |    8 +-
 drivers/net/wireless/ath/ath9k/Makefile            |    3 +
 drivers/net/wireless/ath/ath9k/ani.c               |  195 +-
 drivers/net/wireless/ath/ath9k/ani.h               |    1 -
 drivers/net/wireless/ath/ath9k/ath9k.h             |    4 +-
 drivers/net/wireless/ath/ath9k/eeprom.c            | 3870 +-------------------
 drivers/net/wireless/ath/ath9k/eeprom.h            |  245 +-
 drivers/net/wireless/ath/ath9k/eeprom_4k.c         | 1186 ++++++
 drivers/net/wireless/ath/ath9k/eeprom_9287.c       | 1183 ++++++
 drivers/net/wireless/ath/ath9k/eeprom_def.c        | 1385 +++++++
 drivers/net/wireless/ath/ath9k/hw.c                |   11 +-
 drivers/net/wireless/ath/ath9k/hw.h                |   19 +-
 drivers/net/wireless/ath/ath9k/mac.c               |   17 +-
 drivers/net/wireless/ath/ath9k/mac.h               |    8 +-
 drivers/net/wireless/ath/ath9k/main.c              |    7 +-
 drivers/net/wireless/ath/ath9k/pci.c               |    4 +-
 drivers/net/wireless/ath/ath9k/phy.c               |   12 +-
 drivers/net/wireless/ath/ath9k/phy.h               |   21 +-
 drivers/net/wireless/ath/ath9k/recv.c              |   48 +-
 drivers/net/wireless/ath/main.c                    |   36 +
 drivers/net/wireless/b43/b43.h                     |   11 +-
 drivers/net/wireless/b43/main.c                    |  210 +-
 drivers/net/wireless/b43/phy_lp.c                  |  768 ++++-
 drivers/net/wireless/b43/phy_lp.h                  |   19 +
 drivers/net/wireless/b43/tables_lpphy.c            | 2151 +++++++++++-
 drivers/net/wireless/b43/tables_lpphy.h            |   13 +
 drivers/net/wireless/b43/xmit.c                    |    4 +-
 drivers/net/wireless/iwlwifi/iwl-1000.c            |    4 +-
 drivers/net/wireless/iwlwifi/iwl-3945-hw.h         |    2 +-
 drivers/net/wireless/iwlwifi/iwl-3945.c            |   13 +-
 drivers/net/wireless/iwlwifi/iwl-4965-hw.h         |    6 +-
 drivers/net/wireless/iwlwifi/iwl-4965.c            |   72 +-
 drivers/net/wireless/iwlwifi/iwl-5000.c            |   10 +-
 drivers/net/wireless/iwlwifi/iwl-6000.c            |    4 +-
 drivers/net/wireless/iwlwifi/iwl-agn-rs.c          |   81 +-
 drivers/net/wireless/iwlwifi/iwl-agn.c             |  129 +-
 drivers/net/wireless/iwlwifi/iwl-calib.c           |    2 +-
 drivers/net/wireless/iwlwifi/iwl-commands.h        |   29 +-
 drivers/net/wireless/iwlwifi/iwl-core.c            |  354 ++-
 drivers/net/wireless/iwlwifi/iwl-core.h            |   54 +-
 drivers/net/wireless/iwlwifi/iwl-debug.h           |   28 +-
 drivers/net/wireless/iwlwifi/iwl-debugfs.c         |  951 +++++-
 drivers/net/wireless/iwlwifi/iwl-dev.h             |  104 +-
 drivers/net/wireless/iwlwifi/iwl-eeprom.c          |   54 +-
 drivers/net/wireless/iwlwifi/iwl-eeprom.h          |   34 +-
 drivers/net/wireless/iwlwifi/iwl-hcmd.c            |    2 -
 drivers/net/wireless/iwlwifi/iwl-led.c             |    3 +-
 drivers/net/wireless/iwlwifi/iwl-power.c           |  496 ++--
 drivers/net/wireless/iwlwifi/iwl-power.h           |   80 +-
 drivers/net/wireless/iwlwifi/iwl-rx.c              |   21 +-
 drivers/net/wireless/iwlwifi/iwl-sta.c             |    8 +-
 drivers/net/wireless/iwlwifi/iwl-tx.c              |   16 +-
 drivers/net/wireless/iwlwifi/iwl3945-base.c        |  101 +-
 drivers/net/wireless/libertas/main.c               |    3 +-
 drivers/net/wireless/orinoco/hw.c                  |  120 +-
 drivers/net/wireless/orinoco/hw.h                  |    7 +-
 drivers/net/wireless/orinoco/main.c                |   35 +-
 drivers/net/wireless/orinoco/orinoco.h             |   16 +-
 drivers/net/wireless/orinoco/wext.c                |  173 +-
 drivers/net/wireless/p54/fwio.c                    |    5 +-
 drivers/net/wireless/p54/main.c                    |    7 +-
 drivers/net/wireless/p54/txrx.c                    |    6 +
 drivers/net/wireless/rndis_wlan.c                  |   13 +-
 drivers/net/wireless/rt2x00/rt2400pci.c            |    2 -
 drivers/net/wireless/rt2x00/rt2500pci.c            |    2 -
 drivers/net/wireless/rt2x00/rt2500usb.c            |   15 +-
 drivers/net/wireless/rt2x00/rt2800usb.c            |   11 +-
 drivers/net/wireless/rt2x00/rt2x00.h               |   33 +-
 drivers/net/wireless/rt2x00/rt2x00config.c         |   22 +-
 drivers/net/wireless/rt2x00/rt2x00dev.c            |   14 +-
 drivers/net/wireless/rt2x00/rt2x00link.c           |  154 +-
 drivers/net/wireless/rt2x00/rt2x00mac.c            |   72 +-
 drivers/net/wireless/rt2x00/rt2x00queue.c          |   30 +-
 drivers/net/wireless/rt2x00/rt61pci.c              |   10 +-
 drivers/net/wireless/rt2x00/rt73usb.c              |   10 +-
 drivers/net/wireless/rtl818x/rtl818x.h             |   14 +-
 drivers/net/wireless/wl12xx/Kconfig                |   38 +-
 drivers/net/wireless/wl12xx/Makefile               |   13 +-
 drivers/net/wireless/wl12xx/wl1251.h               |   78 +-
 drivers/net/wireless/wl12xx/wl1251_acx.c           |   84 +-
 drivers/net/wireless/wl12xx/wl1251_acx.h           |  146 +
 drivers/net/wireless/wl12xx/wl1251_boot.c          |  266 ++-
 drivers/net/wireless/wl12xx/wl1251_boot.h          |    1 +
 drivers/net/wireless/wl12xx/wl1251_cmd.c           |   62 +-
 drivers/net/wireless/wl12xx/wl1251_cmd.h           |    4 +-
 drivers/net/wireless/wl12xx/wl1251_event.c         |    7 +-
 drivers/net/wireless/wl12xx/wl1251_init.c          |  213 ++
 drivers/net/wireless/wl12xx/wl1251_init.h          |    2 +
 drivers/net/wireless/wl12xx/wl1251_io.c            |  196 +
 drivers/net/wireless/wl12xx/wl1251_io.h            |   64 +
 drivers/net/wireless/wl12xx/wl1251_main.c          |  375 ++-
 drivers/net/wireless/wl12xx/wl1251_ops.c           |  728 ----
 drivers/net/wireless/wl12xx/wl1251_ops.h           |  165 -
 drivers/net/wireless/wl12xx/wl1251_ps.c            |   18 +-
 .../net/wireless/wl12xx/{reg.h => wl1251_reg.h}    |  100 -
 drivers/net/wireless/wl12xx/wl1251_rx.c            |    9 +-
 drivers/net/wireless/wl12xx/wl1251_sdio.c          |  205 ++
 drivers/net/wireless/wl12xx/wl1251_spi.c           |  327 +-
 drivers/net/wireless/wl12xx/wl1251_spi.h           |   56 +-
 drivers/net/wireless/wl12xx/wl1251_tx.c            |   64 +-
 drivers/net/wireless/wl12xx/wl1271.h               |  407 ++
 drivers/net/wireless/wl12xx/wl1271_acx.c           |  961 +++++
 drivers/net/wireless/wl12xx/wl1271_acx.h           | 1221 ++++++
 drivers/net/wireless/wl12xx/wl1271_boot.c          |  541 +++
 drivers/net/wireless/wl12xx/wl1271_boot.h          |   72 +
 drivers/net/wireless/wl12xx/wl1271_cmd.c           |  813 ++++
 drivers/net/wireless/wl12xx/wl1271_cmd.h           |  464 +++
 drivers/net/wireless/wl12xx/wl1271_debugfs.c       |  518 +++
 drivers/net/wireless/wl12xx/wl1271_debugfs.h       |   33 +
 drivers/net/wireless/wl12xx/wl1271_event.c         |  125 +
 drivers/net/wireless/wl12xx/wl1271_event.h         |  110 +
 drivers/net/wireless/wl12xx/wl1271_init.c          |  397 ++
 drivers/net/wireless/wl12xx/wl1271_init.h          |  115 +
 drivers/net/wireless/wl12xx/wl1271_main.c          | 1397 +++++++
 drivers/net/wireless/wl12xx/wl1271_ps.c            |  142 +
 drivers/net/wireless/wl12xx/wl1271_ps.h            |   35 +
 .../net/wireless/wl12xx/{reg.h => wl1271_reg.h}    |  222 +-
 drivers/net/wireless/wl12xx/wl1271_rx.c            |  200 +
 drivers/net/wireless/wl12xx/wl1271_rx.h            |  121 +
 drivers/net/wireless/wl12xx/wl1271_spi.c           |  382 ++
 drivers/net/wireless/wl12xx/wl1271_spi.h           |  113 +
 drivers/net/wireless/wl12xx/wl1271_tx.c            |  378 ++
 drivers/net/wireless/wl12xx/wl1271_tx.h            |  130 +
 drivers/net/wireless/zd1211rw/zd_chip.c            |    6 +-
 drivers/net/wireless/zd1211rw/zd_chip.h            |    6 +-
 drivers/net/wireless/zd1211rw/zd_mac.c             |    4 +-
 drivers/ssb/pci.c                                  |   53 +-
 include/linux/nl80211.h                            |   17 +-
 include/linux/ssb/ssb.h                            |   44 +-
 include/linux/ssb/ssb_regs.h                       |   66 +-
 include/linux/usb/usbnet.h                         |    6 +
 include/net/cfg80211.h                             |   26 +-
 include/net/mac80211.h                             |   29 +-
 net/mac80211/Kconfig                               |    8 +-
 net/mac80211/cfg.c                                 |    4 +
 net/mac80211/ieee80211_i.h                         |    6 +-
 net/mac80211/main.c                                |   16 +-
 net/mac80211/mesh.c                                |  145 +-
 net/mac80211/mesh.h                                |   30 +-
 net/mac80211/mesh_hwmp.c                           |   17 +-
 net/mac80211/mesh_pathtbl.c                        |  151 +-
 net/mac80211/mesh_plink.c                          |    2 +-
 net/mac80211/mlme.c                                |   31 +-
 net/mac80211/rc80211_minstrel.c                    |   16 +-
 net/mac80211/rx.c                                  |   45 +-
 net/mac80211/scan.c                                |   10 +-
 net/mac80211/sta_info.c                            |    2 +
 net/mac80211/tx.c                                  |  158 +-
 net/wireless/Makefile                              |    3 +-
 net/wireless/chan.c                                |   89 +
 net/wireless/core.c                                |   21 +-
 net/wireless/core.h                                |   14 +-
 net/wireless/ibss.c                                |   61 +-
 net/wireless/mlme.c                                |   17 +-
 net/wireless/nl80211.c                             |   88 +-
 net/wireless/reg.c                                 |    5 +-
 net/wireless/scan.c                                |   31 +-
 net/wireless/sme.c                                 |  104 +-
 net/wireless/util.c                                |   16 +-
 net/wireless/wext-compat.c                         |   55 +-
 net/wireless/wext-compat.h                         |    3 +-
 net/wireless/wext-sme.c                            |   83 +-
 175 files changed, 21316 insertions(+), 7692 deletions(-)
 create mode 100644 drivers/net/wireless/ath/ath.h
 create mode 100644 drivers/net/wireless/ath/ath9k/eeprom_4k.c
 create mode 100644 drivers/net/wireless/ath/ath9k/eeprom_9287.c
 create mode 100644 drivers/net/wireless/ath/ath9k/eeprom_def.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1251_io.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1251_io.h
 delete mode 100644 drivers/net/wireless/wl12xx/wl1251_ops.c
 delete mode 100644 drivers/net/wireless/wl12xx/wl1251_ops.h
 copy drivers/net/wireless/wl12xx/{reg.h => wl1251_reg.h} (81%)
 create mode 100644 drivers/net/wireless/wl12xx/wl1251_sdio.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271.h
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_acx.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_acx.h
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_boot.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_boot.h
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_cmd.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_cmd.h
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_debugfs.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_debugfs.h
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_event.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_event.h
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_init.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_init.h
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_main.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_ps.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_ps.h
 rename drivers/net/wireless/wl12xx/{reg.h => wl1271_reg.h} (93%)
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_rx.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_rx.h
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_spi.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_spi.h
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_tx.c
 create mode 100644 drivers/net/wireless/wl12xx/wl1271_tx.h
 create mode 100644 net/wireless/chan.c

Omnibus patch available here:

	http://www.kernel.org/pub/linux/kernel/people/linville/wireless-next-2.6-2009-08-14.patch.bz2

-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

^ permalink raw reply

* Re: [PATCH] b43: Add LP-PHY firmware loading support
From: Larry Finger @ 2009-08-14 13:10 UTC (permalink / raw)
  To: Gábor Stefanik
  Cc: John Linville, Michael Buesch, Mark Huijgen, Broadcom Wireless,
	linux-wireless
In-Reply-To: <69e28c910908140602x3873f30bt95b5c148305a5e1e@mail.gmail.com>

Gábor Stefanik wrote:
> 
> Is rev.16 firmware available anywhere?
> 

finger@larrylap:~/wireless-testing> ls /lib/firmware/b43
a0b0bsinitvals4.fw   a0g1bsinitvals5.fw   b0g0initvals13.fw
lp0initvals13.fw    n0initvals16.fw        ucode15.fw
a0b0gsinitvals5.fw   a0g1bsinitvals9.fw   b0g0initvals13.fw_save
lp0initvals14.fw    pcm4.fw                ucode16.fw
a0g0bsinitvals4.fw   a0g1initvals13.fw    b0g0initvals4.fw
lp0initvals15.fw    pcm5.fw                ucode4.fw
a0g0bsinitvals5.fw   a0g1initvals5.fw     b0g0initvals5.fw
lp0initvals16.fw    sslpn0bsinitvals16.fw  ucode5.fw
a0g0bsinitvals9.fw   a0g1initvals9.fw     b0g0initvals9.fw
n0absinitvals11.fw  sslpn0initvals16.fw    ucode9.fw
a0g0initvals4.fw     b0g0bsinitvals13.fw  lp0bsinitvals13.fw
n0absinitvals13.fw  ucode11.fw
a0g0initvals5.fw     b0g0bsinitvals4.fw   lp0bsinitvals14.fw
n0bsinitvals11.fw   ucode13.fw
a0g0initvals9.fw     b0g0bsinitvals5.fw   lp0bsinitvals15.fw
n0bsinitvals16.fw   ucode13.fw_save
a0g1bsinitvals13.fw  b0g0bsinitvals9.fw   lp0bsinitvals16.fw
n0initvals11.fw     ucode14.fw

I installed my firmware using openSUSE's script called
/usr/sbin/install_bcm43xx_firmware, which uses the driver file
broadcom-wl-4.150.10.5.tar.bz2, and rev 16 firmware is there.

Larry




^ permalink raw reply

* Re: [PATCH] b43: Add LP-PHY firmware loading support
From: Gábor Stefanik @ 2009-08-14 13:02 UTC (permalink / raw)
  To: Larry Finger
  Cc: John Linville, Michael Buesch, Mark Huijgen, Broadcom Wireless,
	linux-wireless
In-Reply-To: <4A855FEA.7030907@lwfinger.net>

2009/8/14 Larry Finger <Larry.Finger@lwfinger.net>:
> Gábor Stefanik wrote:
>> Add support for loading LP-PHY firmware to b43_try_request_fw.
>>
>> Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
>> ---
>> For anyone hoping that the channel switch patches will make their LP
>> card work - this is also definitely required.
>>
>> Mark, this doesn't fix your problem specifically, but it will be needed
>> after your problem is fixed.
>>
>> drivers/net/wireless/b43/main.c |   24 +++++++++++++++++++++++-
>> 1 files changed, 23 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/net/wireless/b43/main.c
>> b/drivers/net/wireless/b43/main.c
>> index fbcbe4f..1e657fe 100644
>> --- a/drivers/net/wireless/b43/main.c
>> +++ b/drivers/net/wireless/b43/main.c
>> @@ -2062,8 +2062,12 @@ static int b43_try_request_fw(struct
>> b43_request_fw_context *ctx)
>>         filename = "ucode5";
>>     else if ((rev >= 11) && (rev <= 12))
>>         filename = "ucode11";
>> -    else if (rev >= 13)
>> +    else if (rev == 13)
>>         filename = "ucode13";
>> +    else if (rev == 14)
>> +        filename = "ucode14";
>> +    else if (rev >= 15)
>> +        filename = "ucode15";
>
> As shown by http://bcm-v4.sipsolutions.net/802.11/Init/Firmware, one
> should also have "ucode16".
>
>>     else
>>         goto err_no_ucode;
>>     err = b43_do_request_fw(ctx, filename, &fw->ucode);
>> @@ -2111,6 +2115,15 @@ static int b43_try_request_fw(struct
>> b43_request_fw_context *ctx)
>>         else
>>             goto err_no_initvals;
>>         break;
>> +    case B43_PHYTYPE_LP:
>> +        if (rev == 13)
>> +            filename = "lp0initvals13";
>> +        else if (rev == 14)
>> +            filename = "lp0initvals14";
>> +        else if (rev >= 15)
>> +            filename = "lp0initvals15";
>> +        else
>
> Same for lp0initvals16.
>
>> +            goto err_no_initvals;
>>     default:
>>         goto err_no_initvals;
>>     }
>> @@ -2145,6 +2158,15 @@ static int b43_try_request_fw(struct
>> b43_request_fw_context *ctx)
>>         else
>>             goto err_no_initvals;
>>         break;
>> +    case B43_PHYTYPE_LP:
>> +        if (rev == 13)
>> +            filename = "lp0bsinitvals13";
>> +        else if (rev == 14)
>> +            filename = "lp0bsinitvals14";
>> +        else if (rev >= 15)
>> +            filename = "lp0bsinitvals15";
>
> and lp0bsinitvals16.
>
>> +        else
>> +            goto err_no_initvals;
>>     default:
>>         goto err_no_initvals;
>>     }
>
> Larry
>

Is rev.16 firmware available anywhere?

-- 
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

^ permalink raw reply

* Re: [PATCH] b43: Add LP-PHY firmware loading support
From: Larry Finger @ 2009-08-14 13:00 UTC (permalink / raw)
  To: Gábor Stefanik
  Cc: John Linville, Michael Buesch, Mark Huijgen, Broadcom Wireless,
	linux-wireless
In-Reply-To: <4A854FDF.5020208@gmail.com>

Gábor Stefanik wrote:
> Add support for loading LP-PHY firmware to b43_try_request_fw.
> 
> Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
> ---
> For anyone hoping that the channel switch patches will make their LP
> card work - this is also definitely required.
> 
> Mark, this doesn't fix your problem specifically, but it will be needed
> after your problem is fixed.
> 
> drivers/net/wireless/b43/main.c |   24 +++++++++++++++++++++++-
> 1 files changed, 23 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/wireless/b43/main.c
> b/drivers/net/wireless/b43/main.c
> index fbcbe4f..1e657fe 100644
> --- a/drivers/net/wireless/b43/main.c
> +++ b/drivers/net/wireless/b43/main.c
> @@ -2062,8 +2062,12 @@ static int b43_try_request_fw(struct
> b43_request_fw_context *ctx)
>         filename = "ucode5";
>     else if ((rev >= 11) && (rev <= 12))
>         filename = "ucode11";
> -    else if (rev >= 13)
> +    else if (rev == 13)
>         filename = "ucode13";
> +    else if (rev == 14)
> +        filename = "ucode14";
> +    else if (rev >= 15)
> +        filename = "ucode15";

As shown by http://bcm-v4.sipsolutions.net/802.11/Init/Firmware, one
should also have "ucode16".

>     else
>         goto err_no_ucode;
>     err = b43_do_request_fw(ctx, filename, &fw->ucode);
> @@ -2111,6 +2115,15 @@ static int b43_try_request_fw(struct
> b43_request_fw_context *ctx)
>         else
>             goto err_no_initvals;
>         break;
> +    case B43_PHYTYPE_LP:
> +        if (rev == 13)
> +            filename = "lp0initvals13";
> +        else if (rev == 14)
> +            filename = "lp0initvals14";
> +        else if (rev >= 15)
> +            filename = "lp0initvals15";
> +        else

Same for lp0initvals16.

> +            goto err_no_initvals;
>     default:
>         goto err_no_initvals;
>     }
> @@ -2145,6 +2158,15 @@ static int b43_try_request_fw(struct
> b43_request_fw_context *ctx)
>         else
>             goto err_no_initvals;
>         break;
> +    case B43_PHYTYPE_LP:
> +        if (rev == 13)
> +            filename = "lp0bsinitvals13";
> +        else if (rev == 14)
> +            filename = "lp0bsinitvals14";
> +        else if (rev >= 15)
> +            filename = "lp0bsinitvals15";

and lp0bsinitvals16.

> +        else
> +            goto err_no_initvals;
>     default:
>         goto err_no_initvals;
>     }

Larry

^ permalink raw reply

* [PATCH] b43: Make LP-PHY testable
From: Gábor Stefanik @ 2009-08-14 12:54 UTC (permalink / raw)
  To: John Linville, Michael Buesch, Larry Finger, Mark Huijgen
  Cc: Broadcom Wireless, linux-wireless

-Enable rate memory init for LP-PHY (same as G and N-PHY).
-Mark rev.2 LP-PHYs with the B2063 radio as supported.
-Allow using the 5GHz band on LP-PHYs.

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
---
 drivers/net/wireless/b43/main.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 3ca3e93..5559b22 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -2674,6 +2674,7 @@ static void b43_rate_memory_init(struct b43_wldev *dev)
 	case B43_PHYTYPE_A:
 	case B43_PHYTYPE_G:
 	case B43_PHYTYPE_N:
+	case B43_PHYTYPE_LP:
 		b43_rate_memory_write(dev, B43_OFDM_RATE_6MB, 1);
 		b43_rate_memory_write(dev, B43_OFDM_RATE_12MB, 1);
 		b43_rate_memory_write(dev, B43_OFDM_RATE_18MB, 1);
@@ -3888,7 +3889,7 @@ static int b43_phy_versioning(struct b43_wldev *dev)
 #endif
 #ifdef CONFIG_B43_PHY_LP
 	case B43_PHYTYPE_LP:
-		if (phy_rev > 1)
+		if (phy_rev > 2)
 			unsupported = 1;
 		break;
 #endif
@@ -3945,7 +3946,7 @@ static int b43_phy_versioning(struct b43_wldev *dev)
 			unsupported = 1;
 		break;
 	case B43_PHYTYPE_LP:
-		if (radio_ver != 0x2062)
+		if (radio_ver != 0x2062 && radio_ver != 0x2063)
 			unsupported = 1;
 		break;
 	default:
@@ -4588,9 +4589,10 @@ static int b43_wireless_core_attach(struct b43_wldev *dev)
 		case B43_PHYTYPE_A:
 			have_5ghz_phy = 1;
 			break;
+		case B43_PHYTYPE_LP: //FIXME not always!
+			have_5ghz_phy = 1;
 		case B43_PHYTYPE_G:
 		case B43_PHYTYPE_N:
-		case B43_PHYTYPE_LP:
 			have_2ghz_phy = 1;
 			break;
 		default:
@@ -4605,7 +4607,8 @@ static int b43_wireless_core_attach(struct b43_wldev *dev)
 	}
 	if (1 /* disable A-PHY */) {
 		/* FIXME: For now we disable the A-PHY on multi-PHY devices. */
-		if (dev->phy.type != B43_PHYTYPE_N) {
+		if (dev->phy.type != B43_PHYTYPE_N &&
+		    dev->phy.type != B43_PHYTYPE_LP) {
 			have_2ghz_phy = 1;
 			have_5ghz_phy = 0;
 		}
-- 
1.6.2.4




^ permalink raw reply related

* Re: [PATCH] ssb: Fix e typo in the rev8 SPROM extraction routine
From: Gábor Stefanik @ 2009-08-14 12:40 UTC (permalink / raw)
  To: John Linville, Michael Buesch, Larry Finger, Mark Huijgen
  Cc: Broadcom Wireless, linux-wireless
In-Reply-To: <4A855489.6010102@gmail.com>

John, please fix the typo in the commit name... how ironic this is a
typo fix patch. :-)

2009/8/14 Gábor Stefanik <netrolller.3d@gmail.com>:
> No comment. :-)
>
> Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
> ---
> Mark, this should fix your MAC address bug.
> Anyone else testing LP-PHY should also apply this.
>
> drivers/ssb/pci.c |    2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/ssb/pci.c b/drivers/ssb/pci.c
> index 50811e4..335a43f 100644
> --- a/drivers/ssb/pci.c
> +++ b/drivers/ssb/pci.c
> @@ -480,7 +480,7 @@ static void sprom_extract_r8(struct ssb_sprom *out,
> const u16 *in)
>
>        /* extract the MAC address */
>        for (i = 0; i < 3; i++) {
> -               v = in[SPOFF(SSB_SPROM1_IL0MAC) + i];
> +               v = in[SPOFF(SSB_SPROM8_IL0MAC) + i];
>                *(((__be16 *)out->il0mac) + i) = cpu_to_be16(v);
>        }
>        SPEX(country_code, SSB_SPROM8_CCODE, 0xFFFF, 0);
> --
> 1.6.2.4
>
>
>
>



-- 
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

^ permalink raw reply

* [PATCH v3 this time really] b43: Add LP-PHY firmware loading support
From: Gábor Stefanik @ 2009-08-14 12:39 UTC (permalink / raw)
  To: John Linville, Michael Buesch, Larry Finger, Mark Huijgen
  Cc: Broadcom Wireless, linux-wireless

Add support for loading LP-PHY firmware to b43_try_request_fw.

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
---
I use Kate, and I added the break, then switched to Kate's
terminal, committed, format-patched - but forgot to click the Save
button before committing. :-)

V3 for real: Add yet another missing "break", this time really.
V3: Accidentally the same as V2.
V2: Add a missing "break".

 drivers/net/wireless/b43/main.c |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index fbcbe4f..3ca3e93 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -2062,8 +2062,12 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
 		filename = "ucode5";
 	else if ((rev >= 11) && (rev <= 12))
 		filename = "ucode11";
-	else if (rev >= 13)
+	else if (rev == 13)
 		filename = "ucode13";
+	else if (rev == 14)
+		filename = "ucode14";
+	else if (rev >= 15)
+		filename = "ucode15";
 	else
 		goto err_no_ucode;
 	err = b43_do_request_fw(ctx, filename, &fw->ucode);
@@ -2111,6 +2115,16 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
 		else
 			goto err_no_initvals;
 		break;
+	case B43_PHYTYPE_LP:
+		if (rev == 13)
+			filename = "lp0initvals13";
+		else if (rev == 14)
+			filename = "lp0initvals14";
+		else if (rev >= 15)
+			filename = "lp0initvals15";
+		else
+			goto err_no_initvals;
+		break;
 	default:
 		goto err_no_initvals;
 	}
@@ -2145,6 +2159,16 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
 		else
 			goto err_no_initvals;
 		break;
+	case B43_PHYTYPE_LP:
+		if (rev == 13)
+			filename = "lp0bsinitvals13";
+		else if (rev == 14)
+			filename = "lp0bsinitvals14";
+		else if (rev >= 15)
+			filename = "lp0bsinitvals15";
+		else
+			goto err_no_initvals;
+		break;
 	default:
 		goto err_no_initvals;
 	}
-- 
1.6.2.4




^ permalink raw reply related

* Re: [PATCH -stable] rt2x00: fix memory corruption in rf cache, add a sanity check
From: John W. Linville @ 2009-08-14 12:27 UTC (permalink / raw)
  To: Stanislaw Gruszka; +Cc: stable, linux-wireless, Ivo van Doorn, Pavel Roskin
In-Reply-To: <1250247548-3429-1-git-send-email-sgruszka@redhat.com>

On Fri, Aug 14, 2009 at 12:59:08PM +0200, Stanislaw Gruszka wrote:
> From: Pavel Roskin <proski@gnu.org>
> 
> Change rt2x00_rf_read() and rt2x00_rf_write() to subtract 1 from the rf
> register number.  This is needed because the rf registers are enumerated
> starting with one.  The size of the rf register cache is just enough to
> hold all registers, so writing to the highest register was corrupting
> memory.  Add a check to make sure that the rf register number is valid.
> 
> Signed-off-by: Pavel Roskin <proski@gnu.org>
> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
> ---
> I think nobody send this patch against stable yet. I have problem with
> rt73usb memory corruption on 2.6.30, this patch solve it. Not sure if 
> patch is also useful for 2.6.27. 

Thanks for pointing this out, I missed the memory corruption comment.

Since this hasn't gone to Linus yet, I don't think the stable guys
will take it.  I'll add a "Cc: stable@kernel.org" when I send it to
Dave/Linus so that the stable guys will see it automatically.

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

^ permalink raw reply

* Re: Revert commit in ath9k
From: John W. Linville @ 2009-08-14 12:19 UTC (permalink / raw)
  To: Sujith; +Cc: linux-wireless
In-Reply-To: <19076.56592.101907.186453@gargle.gargle.HOWL>

On Fri, Aug 14, 2009 at 09:12:08AM +0530, Sujith wrote:

> Can you revert the commit - "ath9k: Change DEBUG level for certain interrupts" ?
> This interrupt seems to trigger fairly often and floods the log.
> The driver does seem to work with this message suppressed.
> (which was the original behaviour).
> 
> The actual cause for this bug is still unknown, but until it is
> found and fixed, the earlier behaviour can be retained.
> 
> Sorry for the trouble. :)

OK

-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

^ permalink raw reply

* [PATCH v3] b43: Add LP-PHY firmware loading support
From: Gábor Stefanik @ 2009-08-14 12:23 UTC (permalink / raw)
  To: John Linville, Michael Buesch, Larry Finger, Mark Huijgen
  Cc: Broadcom Wireless, linux-wireless

Add support for loading LP-PHY firmware to b43_try_request_fw.

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
---
V3: Add yet another missing "break".
V2: Add a missing "break".

 drivers/net/wireless/b43/main.c |   25 ++++++++++++++++++++++++-
 1 files changed, 24 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index fbcbe4f..51767fa 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -2062,8 +2062,12 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
 		filename = "ucode5";
 	else if ((rev >= 11) && (rev <= 12))
 		filename = "ucode11";
-	else if (rev >= 13)
+	else if (rev == 13)
 		filename = "ucode13";
+	else if (rev == 14)
+		filename = "ucode14";
+	else if (rev >= 15)
+		filename = "ucode15";
 	else
 		goto err_no_ucode;
 	err = b43_do_request_fw(ctx, filename, &fw->ucode);
@@ -2111,6 +2115,16 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
 		else
 			goto err_no_initvals;
 		break;
+	case B43_PHYTYPE_LP:
+		if (rev == 13)
+			filename = "lp0initvals13";
+		else if (rev == 14)
+			filename = "lp0initvals14";
+		else if (rev >= 15)
+			filename = "lp0initvals15";
+		else
+			goto err_no_initvals;
+		break;
 	default:
 		goto err_no_initvals;
 	}
@@ -2145,6 +2159,15 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
 		else
 			goto err_no_initvals;
 		break;
+	case B43_PHYTYPE_LP:
+		if (rev == 13)
+			filename = "lp0bsinitvals13";
+		else if (rev == 14)
+			filename = "lp0bsinitvals14";
+		else if (rev >= 15)
+			filename = "lp0bsinitvals15";
+		else
+			goto err_no_initvals;
 	default:
 		goto err_no_initvals;
 	}
-- 
1.6.2.4




^ permalink raw reply related

* Re: [PATCH] b43: Add LP-PHY firmware loading support
From: Mark Huijgen @ 2009-08-14 12:11 UTC (permalink / raw)
  To: Gábor Stefanik
  Cc: John Linville, Michael Buesch, Larry Finger, linux-wireless,
	Broadcom Wireless
In-Reply-To: <4A854FDF.5020208@gmail.com>

Missing break in initval case switches, see below.

Gábor Stefanik wrote:
> Add support for loading LP-PHY firmware to b43_try_request_fw.
>
> Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
> ---
> For anyone hoping that the channel switch patches will make their LP card work - this is also definitely required.
>
> Mark, this doesn't fix your problem specifically, but it will be needed after your problem is fixed.
>
>  drivers/net/wireless/b43/main.c |   24 +++++++++++++++++++++++-
>  1 files changed, 23 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
> index fbcbe4f..1e657fe 100644
> --- a/drivers/net/wireless/b43/main.c
> +++ b/drivers/net/wireless/b43/main.c
> @@ -2062,8 +2062,12 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
>  		filename = "ucode5";
>  	else if ((rev >= 11) && (rev <= 12))
>  		filename = "ucode11";
> -	else if (rev >= 13)
> +	else if (rev == 13)
>  		filename = "ucode13";
> +	else if (rev == 14)
> +		filename = "ucode14";
> +	else if (rev >= 15)
> +		filename = "ucode15";
>  	else
>  		goto err_no_ucode;
>  	err = b43_do_request_fw(ctx, filename, &fw->ucode);
> @@ -2111,6 +2115,15 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
>  		else
>  			goto err_no_initvals;
>  		break;
> +	case B43_PHYTYPE_LP:
> +		if (rev == 13)
> +			filename = "lp0initvals13";
> +		else if (rev == 14)
> +			filename = "lp0initvals14";
> +		else if (rev >= 15)
> +			filename = "lp0initvals15";
> +		else
> +			goto err_no_initvals;
>   
break;
>  	default:
>  		goto err_no_initvals;
>  	}
> @@ -2145,6 +2158,15 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
>  		else
>  			goto err_no_initvals;
>  		break;
> +	case B43_PHYTYPE_LP:
> +		if (rev == 13)
> +			filename = "lp0bsinitvals13";
> +		else if (rev == 14)
> +			filename = "lp0bsinitvals14";
> +		else if (rev >= 15)
> +			filename = "lp0bsinitvals15";
> +		else
> +			goto err_no_initvals;
>   
break;
>  	default:
>  		goto err_no_initvals;
>  	}
>   


^ permalink raw reply


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