Linux wireless drivers development
 help / color / mirror / Atom feed
* Re: [PATCH] rt2x00: Get rid of duplicate usb id from rt2500usb
From: Johannes Berg @ 2009-09-03 13:27 UTC (permalink / raw)
  To: Amit Kucheria; +Cc: Ivo Van Doorn, List Linux Kernel, linux-wireless
In-Reply-To: <20090903122727.GA4465@matterhorn.verdurent.com>

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

On Thu, 2009-09-03 at 15:27 +0300, Amit Kucheria wrote:
> On 09 Sep 03, Ivo Van Doorn wrote:
> > > USB_DEVICE(0x148f, 0x2573) is served by the rt73usb driver where it is already
> > > defined. Remove it from rt2500usb.
> > >
> > > Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
> > > Cc: Ivo van Doorn <IvDoorn@gmail.com>
> > 
> > NACK
> > 
> > Users have reported that this is a valid rt2500usb ID. You can thank the
> > manufacturer of the dongle to produce dongles with the same USB ID but
> > with different chipsets.
> > 
> > Ivo
> 
> Interesting. On my laptop, without this patch both the drivers are loaded
> (lsmod), rt2500usb aborts without allocating a device successfully but I am
> unable to associate to the AP.

Sounds like the detection logic is somehow messing with the device, or
rt2500usb isn't actually freeing the device for rt73usb to bind?

johannes

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

^ permalink raw reply

* Re: [PATCH] rt2x00: Get rid of duplicate usb id from rt2500usb
From: John W. Linville @ 2009-09-03 11:55 UTC (permalink / raw)
  To: Amit Kucheria; +Cc: List Linux Kernel, linux-wireless, Ivo van Doorn
In-Reply-To: <1251978140-4992-1-git-send-email-amit.kucheria@canonical.com>

On Thu, Sep 03, 2009 at 02:42:20PM +0300, Amit Kucheria wrote:
> USB_DEVICE(0x148f, 0x2573) is served by the rt73usb driver where it is already
> defined. Remove it from rt2500usb.
> 
> Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
> Cc: Ivo van Doorn <IvDoorn@gmail.com>

IIRC there are IDs that are used by different devices where rt73usb
covers one device and the rt2500usb covers another.  Are you sure
this is not one of those?

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: ipw2200: firmware DMA loading rework
From: Mel Gorman @ 2009-09-03 12:49 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Bartlomiej Zolnierkiewicz, Tso Ted, Aneesh Kumar K.V, Zhu Yi,
	Andrew Morton, Johannes Weiner, Pekka Enberg, Rafael J. Wysocki,
	Linux Kernel Mailing List, Kernel Testers List, Mel Gorman,
	netdev@vger.kernel.org, linux-mm@kvack.org, James Ketrenos,
	Chatre, Reinette, linux-wireless@vger.kernel.org,
	ipw2100-devel@lists.sourceforge.net
In-Reply-To: <43e72e890909021102g7f844c79xefccf305f5f5c5b6@mail.gmail.com>

On Wed, Sep 02, 2009 at 11:02:14AM -0700, Luis R. Rodriguez wrote:
> On Wed, Sep 2, 2009 at 10:48 AM, Bartlomiej
> Zolnierkiewicz<bzolnier@gmail.com> wrote:
> > On Sunday 30 August 2009 14:37:42 Bartlomiej Zolnierkiewicz wrote:
> >> On Friday 28 August 2009 05:42:31 Zhu Yi wrote:
> >> > Bartlomiej Zolnierkiewicz reported an atomic order-6 allocation failure
> >> > for ipw2200 firmware loading in kernel 2.6.30. High order allocation is
> >>
> >> s/2.6.30/2.6.31-rc6/
> >>
> >> The issue has always been there but it was some recent change that
> >> explicitly triggered the allocation failures (after 2.6.31-rc1).
> >
> > ipw2200 fix works fine but yesterday I got the following error while mounting
> > ext4 filesystem (mb_history is optional so the mount succeeded):
> 
> OK so the mount succeeded.
> 
> > EXT4-fs (dm-2): barriers enabled
> > kjournald2 starting: pid 3137, dev dm-2:8, commit interval 5 seconds
> > EXT4-fs (dm-2): internal journal on dm-2:8
> > EXT4-fs (dm-2): delayed allocation enabled
> > EXT4-fs: file extents enabled
> > mount: page allocation failure. order:5, mode:0xc0d0
> > Pid: 3136, comm: mount Not tainted 2.6.31-rc8-00015-gadda766-dirty #78
> > Call Trace:
> >  [<c0394de3>] ? printk+0xf/0x14
> >  [<c016a693>] __alloc_pages_nodemask+0x400/0x442
> >  [<c016a71b>] __get_free_pages+0xf/0x32
> >  [<c01865cf>] __kmalloc+0x28/0xfa
> >  [<c023d96f>] ? __spin_lock_init+0x28/0x4d
> >  [<c01f529d>] ext4_mb_init+0x392/0x460
> >  [<c01e99d2>] ext4_fill_super+0x1b96/0x2012
> >  [<c0239bc8>] ? snprintf+0x15/0x17
> >  [<c01c0b26>] ? disk_name+0x24/0x69
> >  [<c018ba63>] get_sb_bdev+0xda/0x117
> >  [<c01e6711>] ext4_get_sb+0x13/0x15
> >  [<c01e7e3c>] ? ext4_fill_super+0x0/0x2012
> >  [<c018ad2d>] vfs_kern_mount+0x3b/0x76
> >  [<c018adad>] do_kern_mount+0x33/0xbd
> >  [<c019d0af>] do_mount+0x660/0x6b8
> >  [<c016a71b>] ? __get_free_pages+0xf/0x32
> >  [<c019d168>] sys_mount+0x61/0x99
> >  [<c0102908>] sysenter_do_call+0x12/0x36
> > Mem-Info:
> > DMA per-cpu:
> > CPU    0: hi:    0, btch:   1 usd:   0
> > Normal per-cpu:
> > CPU    0: hi:  186, btch:  31 usd:   0
> > Active_anon:25471 active_file:22802 inactive_anon:25812
> >  inactive_file:33619 unevictable:2 dirty:2452 writeback:135 unstable:0
> >  free:4346 slab:4308 mapped:26038 pagetables:912 bounce:0
> > DMA free:2060kB min:84kB low:104kB high:124kB active_anon:1660kB inactive_anon:1848kB active_file:144kB inactive_file:868kB unevictable:0kB present:15788kB pages_scanned:0 all_unreclaimable? no
> > lowmem_reserve[]: 0 489 489
> > Normal free:15324kB min:2788kB low:3484kB high:4180kB active_anon:100224kB inactive_anon:101400kB active_file:91064kB inactive_file:133608kB unevictable:8kB present:501392kB pages_scanned:0 all_unreclaimable? no
> > lowmem_reserve[]: 0 0 0
> > DMA: 1*4kB 1*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 1*2048kB 0*4096kB = 2060kB
> > Normal: 1283*4kB 648*8kB 159*16kB 53*32kB 10*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 15324kB
> > 57947 total pagecache pages
> > 878 pages in swap cache
> > Swap cache stats: add 920, delete 42, find 11/11
> > Free swap  = 1016436kB
> > Total swap = 1020116kB
> > 131056 pages RAM
> > 4233 pages reserved
> > 90573 pages shared
> > 77286 pages non-shared
> > EXT4-fs: mballoc enabled
> > EXT4-fs (dm-2): mounted filesystem with ordered data mode
> >
> > Thus it seems like the original bug is still there and any ideas how to
> > debug the problem further are appreciated..
> >
> > The complete dmesg and kernel config are here:
> >
> > http://www.kernel.org/pub/linux/kernel/people/bart/ext4-paf.dmesg
> > http://www.kernel.org/pub/linux/kernel/people/bart/ext4-paf.config
> 
> This looks very similar to the kmemleak ext4 reports upon a mount. If
> it is the same issue, which from the trace it seems it is, then this
> is due to an extra kmalloc() allocation and this apparently will not
> get fixed on 2.6.31 due to the closeness of the merge window and the
> non-criticalness this issue has been deemed.
> 

I suspect the more pressing concern is why is this kmalloc() resulting in
an order-5 allocation request? What size is the buffer being requested?
Was that expected?  What is the contents of /proc/slabinfo in case a buffer
that should have required order-1 or order-2 is using a higher order for
some reason.

> A patch fix is part of the ext4-patchqueue
> http://repo.or.cz/w/ext4-patch-queue.git
> 

p.s. I'm will be offline until Tuesday so will not be initially very
responsive.

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

^ permalink raw reply

* Re: [PATCH] rt2x00: Get rid of duplicate usb id from rt2500usb
From: Amit Kucheria @ 2009-09-03 12:27 UTC (permalink / raw)
  To: Ivo Van Doorn; +Cc: List Linux Kernel, linux-wireless
In-Reply-To: <a32f33a40909030454y51905525g15a65cc8364b8eb5@mail.gmail.com>

On 09 Sep 03, Ivo Van Doorn wrote:
> > USB_DEVICE(0x148f, 0x2573) is served by the rt73usb driver where it is already
> > defined. Remove it from rt2500usb.
> >
> > Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
> > Cc: Ivo van Doorn <IvDoorn@gmail.com>
> 
> NACK
> 
> Users have reported that this is a valid rt2500usb ID. You can thank the
> manufacturer of the dongle to produce dongles with the same USB ID but
> with different chipsets.
> 
> Ivo

Interesting. On my laptop, without this patch both the drivers are loaded
(lsmod), rt2500usb aborts without allocating a device successfully but I am
unable to associate to the AP.

With the patch, I am atleast able to associate to the AP. Perhaps there is
some other side-effect.

Regards,
Amit

> > ---
> >  drivers/net/wireless/rt2x00/rt2500usb.c |    1 -
> >  1 files changed, 0 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
> > index ce75426..2e9fac7 100644
> > --- a/drivers/net/wireless/rt2x00/rt2500usb.c
> > +++ b/drivers/net/wireless/rt2x00/rt2500usb.c
> > @@ -2020,7 +2020,6 @@ static struct usb_device_id rt2500usb_device_table[] = {
> >        /* Ralink */
> >        { USB_DEVICE(0x148f, 0x1706), USB_DEVICE_DATA(&rt2500usb_ops) },
> >        { USB_DEVICE(0x148f, 0x2570), USB_DEVICE_DATA(&rt2500usb_ops) },
> > -       { USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt2500usb_ops) },
> >        { USB_DEVICE(0x148f, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) },
> >        /* Sagem */
> >        { USB_DEVICE(0x079b, 0x004b), USB_DEVICE_DATA(&rt2500usb_ops) },
> > --
> > 1.6.3.3
> >
> >

-- 
-------------------------------------------------------------------------
Amit Kucheria,				 Kernel Developer, Verdurent
-------------------------------------------------------------------------

^ permalink raw reply

* Re: [PATCH] rt2x00: Get rid of duplicate usb id from rt2500usb
From: Ivo Van Doorn @ 2009-09-03 11:54 UTC (permalink / raw)
  To: Amit Kucheria; +Cc: List Linux Kernel, linux-wireless
In-Reply-To: <1251978140-4992-1-git-send-email-amit.kucheria@canonical.com>

> USB_DEVICE(0x148f, 0x2573) is served by the rt73usb driver where it is already
> defined. Remove it from rt2500usb.
>
> Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
> Cc: Ivo van Doorn <IvDoorn@gmail.com>

NACK

Users have reported that this is a valid rt2500usb ID. You can thank the
manufacturer of the dongle to produce dongles with the same USB ID but
with different chipsets.

Ivo

> ---
>  drivers/net/wireless/rt2x00/rt2500usb.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
> index ce75426..2e9fac7 100644
> --- a/drivers/net/wireless/rt2x00/rt2500usb.c
> +++ b/drivers/net/wireless/rt2x00/rt2500usb.c
> @@ -2020,7 +2020,6 @@ static struct usb_device_id rt2500usb_device_table[] = {
>        /* Ralink */
>        { USB_DEVICE(0x148f, 0x1706), USB_DEVICE_DATA(&rt2500usb_ops) },
>        { USB_DEVICE(0x148f, 0x2570), USB_DEVICE_DATA(&rt2500usb_ops) },
> -       { USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt2500usb_ops) },
>        { USB_DEVICE(0x148f, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) },
>        /* Sagem */
>        { USB_DEVICE(0x079b, 0x004b), USB_DEVICE_DATA(&rt2500usb_ops) },
> --
> 1.6.3.3
>
>

^ permalink raw reply

* [PATCH] rt2x00: Get rid of duplicate usb id from rt2500usb
From: Amit Kucheria @ 2009-09-03 11:42 UTC (permalink / raw)
  To: List Linux Kernel; +Cc: linux-wireless, Amit Kucheria, Ivo van Doorn

USB_DEVICE(0x148f, 0x2573) is served by the rt73usb driver where it is already
defined. Remove it from rt2500usb.

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
Cc: Ivo van Doorn <IvDoorn@gmail.com>
---
 drivers/net/wireless/rt2x00/rt2500usb.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
index ce75426..2e9fac7 100644
--- a/drivers/net/wireless/rt2x00/rt2500usb.c
+++ b/drivers/net/wireless/rt2x00/rt2500usb.c
@@ -2020,7 +2020,6 @@ static struct usb_device_id rt2500usb_device_table[] = {
 	/* Ralink */
 	{ USB_DEVICE(0x148f, 0x1706), USB_DEVICE_DATA(&rt2500usb_ops) },
 	{ USB_DEVICE(0x148f, 0x2570), USB_DEVICE_DATA(&rt2500usb_ops) },
-	{ USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt2500usb_ops) },
 	{ USB_DEVICE(0x148f, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) },
 	/* Sagem */
 	{ USB_DEVICE(0x079b, 0x004b), USB_DEVICE_DATA(&rt2500usb_ops) },
-- 
1.6.3.3


^ permalink raw reply related

* [PATCH] Staging: stlc45xx: fix usage of mac80211 workqueue
From: Alexander Beregalov @ 2009-09-03  9:50 UTC (permalink / raw)
  To: lrodriguez, linville, linux-wireless; +Cc: linux-kernel, Alexander Beregalov

See commit 42935ecaf(mac80211: redefine usage of the mac80211
workqueue).
Fix build error.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
---
 drivers/staging/stlc45xx/stlc45xx.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/stlc45xx/stlc45xx.c b/drivers/staging/stlc45xx/stlc45xx.c
index 12d414d..9ec8bd1 100644
--- a/drivers/staging/stlc45xx/stlc45xx.c
+++ b/drivers/staging/stlc45xx/stlc45xx.c
@@ -1058,7 +1058,7 @@ static void stlc45xx_reset(struct stlc45xx *stlc)
 	stlc45xx_warning("resetting firmware");
 	stlc->fw_state = FW_STATE_RESET;
 	ieee80211_stop_queues(stlc->hw);
-	queue_work(stlc->hw->workqueue, &stlc->work_reset);
+	ieee80211_queue_work(stlc->hw, &stlc->work_reset);
 }
 
 static void stlc45xx_work_tx_timeout(struct work_struct *work)
@@ -1489,7 +1489,7 @@ static irqreturn_t stlc45xx_interrupt(int irq, void *config)
 
 	stlc45xx_debug(DEBUG_IRQ, "IRQ");
 
-	queue_work(stlc->hw->workqueue, &stlc->work);
+	ieee80211_queue_work(stlc->hw, &stlc->work);
 
 	return IRQ_HANDLED;
 }
@@ -1568,7 +1568,7 @@ static int stlc45xx_wq_tx(struct stlc45xx *stlc)
 		}
 
 		list_add(&entry->tx_list, &stlc->tx_sent);
-		queue_delayed_work(stlc->hw->workqueue,
+		ieee80211_queue_delayed_work(stlc->hw,
 				   &stlc->work_tx_timeout,
 				   msecs_to_jiffies(TX_TIMEOUT));
 	}
@@ -2132,7 +2132,7 @@ static int stlc45xx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
 		ieee80211_stop_queues(stlc->hw);
 	}
 
-	queue_work(stlc->hw->workqueue, &stlc->work);
+	ieee80211_queue_work(stlc->hw, &stlc->work);
 
 	spin_unlock_bh(&stlc->tx_lock);
 
-- 
1.6.4.1


^ permalink raw reply related

* Re: ar6k driver
From: Werner Almesberger @ 2009-09-03  7:07 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: Luis Rodriguez, Len.Widra, linux-wireless
In-Reply-To: <43e72e890909021518s411c3e0ap2ec94f9ff6c01b68@mail.gmail.com>

Luis R. Rodriguez wrote:
> Hm, seems origin/andy-tracking branch is gone:

Oh, sorry. That's what I get for copying and pasting the first
thing grep finds :-(

The correct git is this one:
git://git.openmoko.org/git/kernel.git

openmoko.git is indeed something entirely different, sorry.

- Werner

^ permalink raw reply

* Re: [PATCH] cfg80211: clear cfg80211_inform_bss() from kmemleak reports
From: Johannes Berg @ 2009-09-03  7:26 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linville, linux-wireless
In-Reply-To: <1251958266-10692-1-git-send-email-lrodriguez@atheros.com>

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

On Thu, 2009-09-03 at 02:11 -0400, Luis R. Rodriguez wrote:
> This was giving false positives. We use eventually free this
> through kref_put(), things are not so obvious through
> cfg80211_bss_update().
> 
> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
> ---
>  net/wireless/scan.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/net/wireless/scan.c b/net/wireless/scan.c
> index 19c5a9a..79f7a5d 100644
> --- a/net/wireless/scan.c
> +++ b/net/wireless/scan.c
> @@ -495,6 +495,9 @@ cfg80211_inform_bss(struct wiphy *wiphy,
>  
>  	kref_init(&res->ref);
>  
> +	/* cfg80211_bss_update() eats up res - we ensure we free it there */
> +	kmemleak_ignore(res);
> +
>  	res = cfg80211_bss_update(wiphy_to_dev(wiphy), res, 0);
>  	if (!res)
>  		return NULL;

That's not making sense. cfg80211_bss_update() doesn't actually take a
reference, it adds a new one for itself and then we return one to the
caller. Why can it not track this?

Actually it looks like we do leak one in net/mac80211/ibss.c.

johannes

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

^ permalink raw reply

* [PATCH 2/2] ath9k: Fix channelFlags for 2GHZ
From: Sujith @ 2009-09-03  6:38 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless

CHANNEL_G has to be set for 2GHZ channels since
IS_CHAN_G() checks for this in channelFlags and not in
chanmode. To make things messier, ath9k_hw_process_ini()
checks for CHANNEL_G in chanmode and not in channelFlags.
The supreme, brain-searing fix is to set the
flag in both cases.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
---
 drivers/net/wireless/ath/ath9k/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index b1d189c..a69fda8 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1879,7 +1879,7 @@ void ath9k_update_ichannel(struct ath_softc *sc, struct ieee80211_hw *hw,
 
 	if (chan->band == IEEE80211_BAND_2GHZ) {
 		ichan->chanmode = CHANNEL_G;
-		ichan->channelFlags = CHANNEL_2GHZ | CHANNEL_OFDM;
+		ichan->channelFlags = CHANNEL_2GHZ | CHANNEL_OFDM | CHANNEL_G;
 	} else {
 		ichan->chanmode = CHANNEL_A;
 		ichan->channelFlags = CHANNEL_5GHZ | CHANNEL_OFDM;
-- 
1.6.4.2


^ permalink raw reply related

* [PATCH 1/2] ath9k: Fix RX Filter handling for BAR
From: Sujith @ 2009-09-03  6:38 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless

BAR frames have to be sent to mac80211 only if the
current channel is HT. Also, move the macro to
enum ath9k_rx_filter.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
---
 drivers/net/wireless/ath/ath9k/hw.c   |    3 ++-
 drivers/net/wireless/ath/ath9k/mac.h  |    1 +
 drivers/net/wireless/ath/ath9k/main.c |    2 +-
 drivers/net/wireless/ath/ath9k/recv.c |    3 +++
 drivers/net/wireless/ath/ath9k/reg.h  |    1 -
 5 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 71f27f3..011b14f 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -3967,7 +3967,8 @@ void ath9k_hw_setrxfilter(struct ath_hw *ah, u32 bits)
 {
 	u32 phybits;
 
-	REG_WRITE(ah, AR_RX_FILTER, (bits & 0xffff) | AR_RX_COMPR_BAR);
+	REG_WRITE(ah, AR_RX_FILTER, bits);
+
 	phybits = 0;
 	if (bits & ATH9K_RX_FILTER_PHYRADAR)
 		phybits |= AR_PHY_ERR_RADAR;
diff --git a/drivers/net/wireless/ath/ath9k/mac.h b/drivers/net/wireless/ath/ath9k/mac.h
index 7b39822..f56e77d 100644
--- a/drivers/net/wireless/ath/ath9k/mac.h
+++ b/drivers/net/wireless/ath/ath9k/mac.h
@@ -568,6 +568,7 @@ enum ath9k_rx_filter {
 	ATH9K_RX_FILTER_PROBEREQ = 0x00000080,
 	ATH9K_RX_FILTER_PHYERR = 0x00000100,
 	ATH9K_RX_FILTER_MYBEACON = 0x00000200,
+	ATH9K_RX_FILTER_COMP_BAR = 0x00000400,
 	ATH9K_RX_FILTER_PSPOLL = 0x00004000,
 	ATH9K_RX_FILTER_PHYRADAR = 0x00002000,
 	ATH9K_RX_FILTER_MCAST_BCAST_ALL = 0x00008000,
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index c2efdf2..b1d189c 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -2433,7 +2433,7 @@ static void ath9k_configure_filter(struct ieee80211_hw *hw,
 	ath9k_hw_setrxfilter(sc->sc_ah, rfilt);
 	ath9k_ps_restore(sc);
 
-	DPRINTF(sc, ATH_DBG_CONFIG, "Set HW RX filter: 0x%x\n", sc->rx.rxfilter);
+	DPRINTF(sc, ATH_DBG_CONFIG, "Set HW RX filter: 0x%x\n", rfilt);
 }
 
 static void ath9k_sta_notify(struct ieee80211_hw *hw,
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 52e62da..ec0abf8 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -423,6 +423,9 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
 	if (sc->rx.rxfilter & FIF_PSPOLL)
 		rfilt |= ATH9K_RX_FILTER_PSPOLL;
 
+	if (conf_is_ht(&sc->hw->conf))
+		rfilt |= ATH9K_RX_FILTER_COMP_BAR;
+
 	if (sc->sec_wiphy || (sc->rx.rxfilter & FIF_OTHER_BSS)) {
 		/* TODO: only needed if more than one BSSID is in use in
 		 * station/adhoc mode */
diff --git a/drivers/net/wireless/ath/ath9k/reg.h b/drivers/net/wireless/ath/ath9k/reg.h
index 3ddb243..e5c29eb 100644
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -1325,7 +1325,6 @@ enum {
 #define AR_CFP_VAL          0x0000FFFF
 
 #define AR_RX_FILTER        0x803C
-#define AR_RX_COMPR_BAR     0x00000400
 
 #define AR_MCAST_FIL0       0x8040
 #define AR_MCAST_FIL1       0x8044
-- 
1.6.4.2


^ permalink raw reply related

* [PATCH] cfg80211: clear cfg80211_inform_bss() from kmemleak reports
From: Luis R. Rodriguez @ 2009-09-03  6:11 UTC (permalink / raw)
  To: linville, johannes; +Cc: linux-wireless, Luis R. Rodriguez

This was giving false positives. We use eventually free this
through kref_put(), things are not so obvious through
cfg80211_bss_update().

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
 net/wireless/scan.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index 19c5a9a..79f7a5d 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -495,6 +495,9 @@ cfg80211_inform_bss(struct wiphy *wiphy,
 
 	kref_init(&res->ref);
 
+	/* cfg80211_bss_update() eats up res - we ensure we free it there */
+	kmemleak_ignore(res);
+
 	res = cfg80211_bss_update(wiphy_to_dev(wiphy), res, 0);
 	if (!res)
 		return NULL;
-- 
1.6.3.3


^ permalink raw reply related

* 802.11a multicast rate setting
From: Jinsung Lee @ 2009-09-03  3:38 UTC (permalink / raw)
  To: linux-wireless

Hi, everyone.

If using ath5k or ath9k when the WLAN card supports 802.11a mode, is it
possible to change multicast (or broadcast) rate into under 6Mbps, like the
case of 802.11b mode?
e.g. 1Mbps or 2Mbps.
Thank you and best regards,


----
Jinsung Lee




^ permalink raw reply

* [ANN] rfkill: v0.3
From: wireless @ 2009-09-03  3:10 UTC (permalink / raw)
  To: linux-wireless


A new release of rfkill (v0.3) is available at:

http://wireless.kernel.org/download/rfkill/rfkill-0.3.tar.bz2

SHA1 sum: db559ef788af5cd996fa70c0b12507559f5ce257

Here is the short log of the changes included in this 
release:

Johannes Berg (4):
      add copyright notices
      remove copyright notice from file
      resync rfkill.h with kernel
      version 0.3


^ permalink raw reply

* [PATCH] ath9k: claim irq for ath9k, not ath for pci
From: Luis R. Rodriguez @ 2009-09-03  0:06 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, Luis R. Rodriguez

ath9k ahb requests an IRQ and indicates 'ath9k' claimed it,
ath9k pci requests an IRQ and indicates 'ath'   claims it;
since 'ath' is another module sync both ahb and pci to claim
the irq using 'ath9k'.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
 drivers/net/wireless/ath/ath9k/pci.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c
index bc4bc2c..8bb286d 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -187,7 +187,7 @@ static int ath_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 
 	/* setup interrupt service routine */
 
-	ret = request_irq(pdev->irq, ath_isr, IRQF_SHARED, "ath", sc);
+	ret = request_irq(pdev->irq, ath_isr, IRQF_SHARED, "ath9k", sc);
 	if (ret) {
 		dev_err(&pdev->dev, "request_irq failed\n");
 		goto bad4;
-- 
1.6.3.3


^ permalink raw reply related

* [PATCH] ath9k: propagate errors on ath_init_device() and request_irq()
From: Luis R. Rodriguez @ 2009-09-03  0:02 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, Luis R. Rodriguez

We've cleaned up ath_init_device() and its children enough
to pass meaninful errors back from probe. When this fails
it means our device could not be initialized and a meaninful
error will have been passed.

Do the same for request_irq() and also synchronize the error
messages while at it.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
 drivers/net/wireless/ath/ath9k/ahb.c |    8 +++-----
 drivers/net/wireless/ath/ath9k/pci.c |   12 ++++++------
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ahb.c b/drivers/net/wireless/ath/ath9k/ahb.c
index 5618fc2..7dc6301 100644
--- a/drivers/net/wireless/ath/ath9k/ahb.c
+++ b/drivers/net/wireless/ath/ath9k/ahb.c
@@ -120,16 +120,14 @@ static int ath_ahb_probe(struct platform_device *pdev)
 	sc->irq = irq;
 
 	ret = ath_init_device(AR5416_AR9100_DEVID, sc);
-	if (ret != 0) {
-		dev_err(&pdev->dev, "failed to attach device, err=%d\n", ret);
-		ret = -ENODEV;
+	if (ret) {
+		dev_err(&pdev->dev, "failed to initialize device\n");
 		goto err_free_hw;
 	}
 
 	ret = request_irq(irq, ath_isr, IRQF_SHARED, "ath9k", sc);
 	if (ret) {
-		dev_err(&pdev->dev, "request_irq failed, err=%d\n", ret);
-		ret = -EIO;
+		dev_err(&pdev->dev, "request_irq failed\n");
 		goto err_detach;
 	}
 
diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c
index 17862cc..bc4bc2c 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -179,17 +179,17 @@ static int ath_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	sc->mem = mem;
 	sc->bus_ops = &ath_pci_bus_ops;
 
-	if (ath_init_device(id->device, sc) != 0) {
-		ret = -ENODEV;
+	ret = ath_init_device(id->device, sc);
+	if (ret) {
+		dev_err(&pdev->dev, "failed to initialize device\n");
 		goto bad3;
 	}
 
 	/* setup interrupt service routine */
 
-	if (request_irq(pdev->irq, ath_isr, IRQF_SHARED, "ath", sc)) {
-		printk(KERN_ERR "%s: request_irq failed\n",
-			wiphy_name(hw->wiphy));
-		ret = -EIO;
+	ret = request_irq(pdev->irq, ath_isr, IRQF_SHARED, "ath", sc);
+	if (ret) {
+		dev_err(&pdev->dev, "request_irq failed\n");
 		goto bad4;
 	}
 
-- 
1.6.3.3


^ permalink raw reply related

* [PATCH] ath9k: propagate ieee80211_alloc_hw() failure
From: Luis R. Rodriguez @ 2009-09-02 23:34 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, Luis R. Rodriguez

The -ENOMEM was never being passed on failure.
While at it use dev_err() as ahb does upon failure.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
 drivers/net/wireless/ath/ath9k/pci.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c
index 685a8ce..17862cc 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -160,8 +160,9 @@ static int ath_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 
 	hw = ieee80211_alloc_hw(sizeof(struct ath_wiphy) +
 				sizeof(struct ath_softc), &ath9k_ops);
-	if (hw == NULL) {
-		printk(KERN_ERR "ath_pci: no memory for ieee80211_hw\n");
+	if (!hw) {
+		dev_err(&pdev->dev, "no memory for ieee80211_hw\n");
+		ret = -ENOMEM;
 		goto bad2;
 	}
 
-- 
1.6.3.3


^ permalink raw reply related

* [PATCH v2] ar9170: added phy register initialisation from eeprom values
From: Joerg Albert @ 2009-09-02 23:02 UTC (permalink / raw)
  To: Christian Lamparter, John W. Linville
  Cc: Johannes Berg, linux-wireless@vger.kernel.org
In-Reply-To: <22ee4e770908311437y4954a79eje48976a0203f1806@mail.gmail.com>


This patch adds the initialisation of some PHY registers
from the modal_header[] values in the EEPROM
(see otus/hal/hpmain.c, line 333 ff.)

Signed-off-by: Joerg Albert <jal2@gmx.de>
---

 Compared to v1 I've included Christian's suggestions and removed
 three unnecessary defval assignments for "ant * control".

 This patch seems to depend on Christian's
 "[RFT] ar9170: use eeprom's frequency calibration values"
 (2009-08-21), I get a poor throughput here without it (1-stage fw,
 802.11g AP).

 drivers/net/wireless/ath/ar9170/phy.c |  136 ++++++++++++++++++++++++++++++++-
 1 files changed, 135 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ar9170/phy.c b/drivers/net/wireless/ath/ar9170/phy.c
index df86f70..8fb1fa8 100644
--- a/drivers/net/wireless/ath/ar9170/phy.c
+++ b/drivers/net/wireless/ath/ar9170/phy.c
@@ -396,6 +396,138 @@ static struct ar9170_phy_init ar5416_phy_init[] = {
 	{ 0x1c9384, 0xf3307ff0, 0xf3307ff0, 0xf3307ff0, 0xf3307ff0, }
 };
 
+/*
+ * look up a certain register in ar5416_phy_init[] and return the init. value
+ * for the band and bandwidth given. Return 0 if register address not found.
+ */
+static u32 ar9170_get_default_phy_reg_val(u32 reg, bool is_2ghz, bool is_40mhz)
+{
+	unsigned int i;
+	for (i = 0; i < ARRAY_SIZE(ar5416_phy_init); i++) {
+		if (ar5416_phy_init[i].reg != reg)
+			continue;
+
+		if (is_2ghz) {
+			if (is_40mhz)
+				return ar5416_phy_init[i]._2ghz_40;
+			else
+				return ar5416_phy_init[i]._2ghz_20;
+		} else {
+			if (is_40mhz)
+				return ar5416_phy_init[i]._5ghz_40;
+			else
+				return ar5416_phy_init[i]._5ghz_20;
+		}
+	}
+	return 0;
+}
+
+/*
+ * initialize some phy regs from eeprom values in modal_header[]
+ * acc. to band and bandwith
+ */
+static int ar9170_init_phy_from_eeprom(struct ar9170 *ar,
+				bool is_2ghz, bool is_40mhz)
+{
+	static const u8 xpd2pd[16] = {
+		0x2, 0x2, 0x2, 0x1, 0x2, 0x2, 0x6, 0x2,
+		0x2, 0x3, 0x7, 0x2, 0xB, 0x2, 0x2, 0x2
+	};
+	u32 defval, newval;
+	/* pointer to the modal_header acc. to band */
+	struct ar9170_eeprom_modal *m = &ar->eeprom.modal_header[is_2ghz];
+
+	ar9170_regwrite_begin(ar);
+
+	/* ant common control (index 0) */
+	newval = le32_to_cpu(m->antCtrlCommon);
+	ar9170_regwrite(0x1c5964, newval);
+
+	/* ant control chain 0 (index 1) */
+	newval = le32_to_cpu(m->antCtrlChain[0]);
+	ar9170_regwrite(0x1c5960, newval);
+
+	/* ant control chain 2 (index 2) */
+	newval = le32_to_cpu(m->antCtrlChain[1]);
+	ar9170_regwrite(0x1c7960, newval);
+
+	/* SwSettle (index 3) */
+	if (!is_40mhz) {
+		defval = ar9170_get_default_phy_reg_val(0x1c5844,
+							is_2ghz, is_40mhz);
+		newval = (defval & ~0x3f80) | 
+			((m->switchSettling & 0x7f) << 7);
+		ar9170_regwrite(0x1c5844, newval);
+	}
+
+	/* adcDesired, pdaDesired (index 4) */
+	defval = ar9170_get_default_phy_reg_val(0x1c5850, is_2ghz, is_40mhz);
+	newval = (defval & ~0xffff) | ((u8)m->pgaDesiredSize << 8) |
+		((u8)m->adcDesiredSize);
+	ar9170_regwrite(0x1c5850, newval);
+
+	/* TxEndToXpaOff, TxFrameToXpaOn (index 5) */
+	defval = ar9170_get_default_phy_reg_val(0x1c5834, is_2ghz, is_40mhz);
+	newval = (m->txEndToXpaOff << 24) | (m->txEndToXpaOff << 16) |
+		(m->txFrameToXpaOn << 8) | m->txFrameToXpaOn;
+	ar9170_regwrite(0x1c5834, newval);
+
+	/* TxEndToRxOn (index 6) */
+	defval = ar9170_get_default_phy_reg_val(0x1c5828, is_2ghz, is_40mhz);
+	newval = (defval & ~0xff0000) | (m->txEndToRxOn << 16);
+	ar9170_regwrite(0x1c5828, newval);
+
+	/* thresh62 (index 7) */
+	defval = ar9170_get_default_phy_reg_val(0x1c8864, is_2ghz, is_40mhz);
+	newval = (defval & ~0x7f000) | (m->thresh62 << 12);
+	ar9170_regwrite(0x1c8864, newval);
+
+	/* tx/rx attenuation chain 0 (index 8) */
+	defval = ar9170_get_default_phy_reg_val(0x1c5848, is_2ghz, is_40mhz);
+	newval = (defval & ~0x3f000) | ((m->txRxAttenCh[0] & 0x3f) << 12);
+	ar9170_regwrite(0x1c5848, newval);
+
+	/* tx/rx attenuation chain 2 (index 9) */
+	defval = ar9170_get_default_phy_reg_val(0x1c7848, is_2ghz, is_40mhz);
+	newval = (defval & ~0x3f000) | ((m->txRxAttenCh[1] & 0x3f) << 12);
+	ar9170_regwrite(0x1c7848, newval);
+
+	/* tx/rx margin chain 0 (index 10) */
+	defval = ar9170_get_default_phy_reg_val(0x1c620c, is_2ghz, is_40mhz);
+	newval = (defval & ~0xfc0000) | ((m->rxTxMarginCh[0] & 0x3f) << 18);
+	/* bsw margin chain 0 for 5GHz only */
+	if (!is_2ghz)
+		newval = (newval & ~0x3c00) | ((m->bswMargin[0] & 0xf) << 10);
+	ar9170_regwrite(0x1c620c, newval);
+
+	/* tx/rx margin chain 2 (index 11) */
+	defval = ar9170_get_default_phy_reg_val(0x1c820c, is_2ghz, is_40mhz);
+	newval = (defval & ~0xfc0000) | ((m->rxTxMarginCh[1] & 0x3f) << 18);
+	ar9170_regwrite(0x1c820c, newval);
+
+	/* iqCall, iqCallq chain 0 (index 12) */
+	defval = ar9170_get_default_phy_reg_val(0x1c5920, is_2ghz, is_40mhz);
+	newval = (defval & ~0x7ff) | (((u8)m->iqCalICh[0] & 0x3f) << 5) |
+		((u8)m->iqCalQCh[0] & 0x1f);
+	ar9170_regwrite(0x1c5920, newval);
+
+	/* iqCall, iqCallq chain 2 (index 13) */
+	defval = ar9170_get_default_phy_reg_val(0x1c7920, is_2ghz, is_40mhz);
+	newval = (defval & ~0x7ff) | (((u8)m->iqCalICh[1] & 0x3f) << 5) |
+		((u8)m->iqCalQCh[1] & 0x1f);
+	ar9170_regwrite(0x1c7920, newval);
+
+	/* xpd gain mask (index 14) */
+	defval = ar9170_get_default_phy_reg_val(0x1c6258, is_2ghz, is_40mhz);
+	newval = (defval & ~0xf0000) | (xpd2pd[m->xpdGain & 0xf] << 16);
+	ar9170_regwrite(0x1c6258, newval);
+
+
+	ar9170_regwrite_finish();
+
+	return ar9170_regwrite_result();
+}
+
 int ar9170_init_phy(struct ar9170 *ar, enum ieee80211_band band)
 {
 	int i, err;
@@ -426,7 +558,9 @@ int ar9170_init_phy(struct ar9170 *ar, enum ieee80211_band band)
 	if (err)
 		return err;
 
-	/* XXX: use EEPROM data here! */
+	err = ar9170_init_phy_from_eeprom(ar, is_2ghz, is_40mhz);
+	if (err)
+		return err;
 
 	err = ar9170_init_power_cal(ar);
 	if (err)
-- 
1.6.0.4



^ permalink raw reply related

* Re: ar6k driver
From: Luis R. Rodriguez @ 2009-09-02 22:18 UTC (permalink / raw)
  To: Werner Almesberger; +Cc: Luis Rodriguez, Len.Widra, linux-wireless
In-Reply-To: <20090902214601.GB5614@mosca>

On Wed, Sep 2, 2009 at 2:46 PM, Luis R. Rodriguez<lrodriguez@atheros.com> wrote:
> On Wed, Sep 02, 2009 at 12:18:49AM -0700, Werner Almesberger wrote:
>> Luis R. Rodriguez wrote:
>> > I know I found it last time I looked through the openmoko wiki but
>> > it took me a lot of time to actually find the git tree and then
>> > the branch name. Today I gave up looking for it so resorting to
>> > asking you for the git url.
>>
>> Yeah, it can be a little hard to find, particularly the right branch :-)
>>
>> The repository is here:
>> git://git.openmoko.org/git/openmoko.git
>>
>> The branch with the latest code is origin/andy-tracking
>>
>> Finally, my HIF is here:
>> drivers/ar6000/hif/hif2.c
>
> Thanks, I've created a new page for ar6k on the wireless.kernel.org wiki so
> we don't loose track of this and so that this can be easier to find for others.
>
> http://wireless.kernel.org/en/users/Drivers/ar6k
>
> I've updated the openmoko wiki respectively:
>
> http://wiki.openmoko.org/wiki/AR6K

Hm, seems origin/andy-tracking branch is gone:

mcgrof@tux ~/devel/openmoko (git::org.openmoko.dev)$ git branch -r
  origin/HEAD -> origin/org.openmoko.dev
  origin/historic/org.openembedded.dev
  origin/historic/org.openmoko.asu.dev
  origin/historic/org.openmoko.asu.stable
  origin/historic/org.openmoko.asu.testing
  origin/org.openmoko.dev
  origin/org.openmoko.stable

Any ideas which one I should use, or is the master branch OK?

  Luis

^ permalink raw reply

* Re: building compat-wireless for other than running kernels
From: Natanael Copa @ 2009-09-02 22:00 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless
In-Reply-To: <43e72e890909021425s13784658r342e52eefb7b582d@mail.gmail.com>

On Wed, Sep 2, 2009 at 9:25 PM, Luis R. Rodriguez<mcgrof@gmail.com> wrote:
> On Wed, Sep 2, 2009 at 1:53 PM, Natanael Copa<natanael.copa@gmail.com> wrote:
>> Hi,
>> I'm trying to create a compat-wireless package for Alpine Linux. I get
>> errors like this:
>> FATAL: Could not load
>> /lib/modules/2.6.29.4-vs2.3.0.36.14-ARCH/modules.dep: No such file or
>> directory
>> This comes from the fact that the package is not for the current running kernel.
...
>> Alternatively you could define a DEPMOD=/sbin/depmod in the Makefile
>> so its possible to override it with: make DEPMOD=: ...
>
> Patches are welcomed. I considered just now added the depmod stuff you
> mentioned but remembered that there are also scripts which may use
> this on compat-wireless. We could just export it though and then all
> the scripts would have access to it -- but note that it means then
> that you'd need the Makefile to run certain scripts -- and if you
> don't you have to define your own depmod. Because of this I welcome
> your patches on this if you test it.

That explains why I saw the error message even with my patch. For my
use the scripts are not critical as they don't exit with error and
make just continues. I do have an idea how to fix that too though.

I also have some simple fix to split the install so you can easily
have multiple binary packages for different kernel flavors but still
share the userspace scripts.

Thanks!

-- 
Natanael Copa

^ permalink raw reply

* Re: ar6k driver
From: Luis R. Rodriguez @ 2009-09-02 21:46 UTC (permalink / raw)
  To: Werner Almesberger; +Cc: Luis Rodriguez, Len.Widra, linux-wireless
In-Reply-To: <20090902071849.GM4363@almesberger.net>

On Wed, Sep 02, 2009 at 12:18:49AM -0700, Werner Almesberger wrote:
> Luis R. Rodriguez wrote:
> > I know I found it last time I looked through the openmoko wiki but
> > it took me a lot of time to actually find the git tree and then
> > the branch name. Today I gave up looking for it so resorting to
> > asking you for the git url.
> 
> Yeah, it can be a little hard to find, particularly the right branch :-)
> 
> The repository is here:
> git://git.openmoko.org/git/openmoko.git
> 
> The branch with the latest code is origin/andy-tracking
> 
> Finally, my HIF is here:
> drivers/ar6000/hif/hif2.c

Thanks, I've created a new page for ar6k on the wireless.kernel.org wiki so
we don't loose track of this and so that this can be easier to find for others.

http://wireless.kernel.org/en/users/Drivers/ar6k

I've updated the openmoko wiki respectively:

http://wiki.openmoko.org/wiki/AR6K

  Luis

^ permalink raw reply

* Re: building compat-wireless for other than running kernels
From: Luis R. Rodriguez @ 2009-09-02 21:25 UTC (permalink / raw)
  To: Natanael Copa; +Cc: linux-wireless
In-Reply-To: <95408c820909021353i5b2d0e5dpeddefcdb5065d724@mail.gmail.com>

On Wed, Sep 2, 2009 at 1:53 PM, Natanael Copa<natanael.copa@gmail.com> wrote:
> Hi,
> I'm trying to create a compat-wireless package for Alpine Linux. I get
> errors like this:
> FATAL: Could not load
> /lib/modules/2.6.29.4-vs2.3.0.36.14-ARCH/modules.dep: No such file or
> directory
> This comes from the fact that the package is not for the current running kernel.
>
> It would be nice if modprobe and depmod could respect the KLIB
> variable in makefile. (I have not figured out how to do that for
> modprobe -l)
>
> Alternatively you could define a DEPMOD=/sbin/depmod in the Makefile
> so its possible to override it with: make DEPMOD=: ...

Patches are welcomed. I considered just now added the depmod stuff you
mentioned but remembered that there are also scripts which may use
this on compat-wireless. We could just export it though and then all
the scripts would have access to it -- but note that it means then
that you'd need the Makefile to run certain scripts -- and if you
don't you have to define your own depmod. Because of this I welcome
your patches on this if you test it.

  Luis

^ permalink raw reply

* Re: pull request: wireless-next-2.6 2009-09-02
From: David Miller @ 2009-09-02 21:18 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, netdev
In-Reply-To: <20090902195651.GF2662@tuxdriver.com>

From: "John W. Linville" <linville@tuxdriver.com>
Date: Wed, 2 Sep 2009 15:56:51 -0400

> Once again, the usual batch of wireless updates for -next...  This time
> its mostly a random collection of driver updates...
> 
> Please let me know if there are problems!

Pulled, thanks John.

^ permalink raw reply

* building compat-wireless for other than running kernels
From: Natanael Copa @ 2009-09-02 20:53 UTC (permalink / raw)
  To: linux-wireless

Hi,
I'm trying to create a compat-wireless package for Alpine Linux. I get
errors like this:
FATAL: Could not load
/lib/modules/2.6.29.4-vs2.3.0.36.14-ARCH/modules.dep: No such file or
directory
This comes from the fact that the package is not for the current running kernel.

It would be nice if modprobe and depmod could respect the KLIB
variable in makefile. (I have not figured out how to do that for
modprobe -l)

Alternatively you could define a DEPMOD=/sbin/depmod in the Makefile
so its possible to override it with: make DEPMOD=: ...

Thanks!

--
Natanael Copa

^ permalink raw reply

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

Dave,

Once again, the usual batch of wireless updates for -next...  This time
its mostly a random collection of driver updates...

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 9e39f7c5b311a306977c5471f9e2ce4c456aa038:
  Joe Perches (1):
        s2io: Generate complete messages using single line DBG_PRINTs

are available in the git repository at:

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

Bob Copeland (1):
      cfg80211: fix looping soft lockup in find_ie()

Daniel C Halperin (3):
      iwlwifi: remove 60 Mbps from sband bitrates table
      iwlwifi: remove incorrect uses of ieee80211_get_tx_rate to prevent TX stall
      iwlwifi: use iwl_hwrate_get_mac80211_idx where appropriate

Gábor Stefanik (4):
      b43: Refactor and update antenna diversity for A/G-PHY
      b43: Add myself to module authors & to LP-PHY file copyright notices
      b43: Fix typo in modparam_btcoex description
      b43: LP-PHY: Fix TX gain tables

Ivo van Doorn (2):
      rt2x00: Fix TX status reporting
      rt2x00: Reorganize padding & L2 padding

Johannes Berg (2):
      iwlwifi: use sleep interval succession
      rfkill: relicense header file

Jussi Kivilinna (4):
      rndis_wlan: use bool for on/off switches
      rndis_wlan: cleanup
      rndis_wlan: fix sparse endianess warnings
      rndis_wlan: remove 'select WIRELESS_EXT' in Kconfig

Luis R. Rodriguez (3):
      wireless: update top level wireless driver entry
      wireless: update reg debug kconfig entry
      wireless: remove mac80211 rate selection extra menu

Randy Dunlap (1):
      ipw2200: fix kconfig dependencies

Reinette Chatre (2):
      iwlwifi: fix situation in which debug message is printed
      iwl3945: reduce debug noise when default debug flags used

Samuel Ortiz (5):
      iwmc3200wifi: Set WEP key from connect
      iwmc3200wifi: Fix sparse warning
      iwmc3200wifi: New initial LMAC calibration
      iwmc3200wifi: Handle UMAC stalls and UMAC assert properly
      iwmc3200wifi: Add a last_fw_err debugfs entry

Vasanthakumar Thiagarajan (3):
      ath9k: Do an AHB reset before doing RTC reset
      ath9k: Move generic hw timer intr handler to bottom-half
      ath9k: Call spin_lock_bh() on btcoex_lock

Vivek Natarajan (1):
      ath9k: Reconfigure beacon timers after the scan is completed.

Zhu Yi (4):
      iwmc3200wifi: invalidate profile when necessary before connect
      iwmc3200wifi: use cfg80211_roamed to send roam event
      iwmc3200wifi: add disconnect work
      iwmc3200wifi: fix misuse of le16_to_cpu

 drivers/net/wireless/Kconfig                 |   14 +-
 drivers/net/wireless/ath/ath9k/btcoex.c      |   10 +-
 drivers/net/wireless/ath/ath9k/hw.c          |    7 +
 drivers/net/wireless/ath/ath9k/main.c        |   12 +-
 drivers/net/wireless/b43/main.c              |    3 +-
 drivers/net/wireless/b43/phy_a.c             |   48 ++---
 drivers/net/wireless/b43/phy_g.c             |   53 ++---
 drivers/net/wireless/b43/phy_lp.c            |    3 +-
 drivers/net/wireless/b43/tables_lpphy.c      |  309 +++++++++++++-------------
 drivers/net/wireless/ipw2x00/Kconfig         |    6 +-
 drivers/net/wireless/iwlwifi/iwl-agn-rs.c    |   56 +++---
 drivers/net/wireless/iwlwifi/iwl-agn-rs.h    |    1 +
 drivers/net/wireless/iwlwifi/iwl-core.c      |   39 +++-
 drivers/net/wireless/iwlwifi/iwl-core.h      |    1 +
 drivers/net/wireless/iwlwifi/iwl-power.c     |   24 ++-
 drivers/net/wireless/iwlwifi/iwl-rx.c        |    9 +-
 drivers/net/wireless/iwlwifi/iwl-tx.c        |  111 +++++----
 drivers/net/wireless/iwlwifi/iwl3945-base.c  |    8 +-
 drivers/net/wireless/iwmc3200wifi/cfg80211.c |   66 +++++-
 drivers/net/wireless/iwmc3200wifi/commands.c |    1 +
 drivers/net/wireless/iwmc3200wifi/debug.h    |    2 +
 drivers/net/wireless/iwmc3200wifi/debugfs.c  |  105 +++++++++-
 drivers/net/wireless/iwmc3200wifi/fw.c       |   56 ++++--
 drivers/net/wireless/iwmc3200wifi/iwm.h      |    8 +-
 drivers/net/wireless/iwmc3200wifi/lmac.h     |   15 ++
 drivers/net/wireless/iwmc3200wifi/main.c     |   60 +++++-
 drivers/net/wireless/iwmc3200wifi/rx.c       |   87 ++++++--
 drivers/net/wireless/rndis_wlan.c            |   98 ++------
 drivers/net/wireless/rt2x00/rt2x00crypto.c   |    6 +-
 drivers/net/wireless/rt2x00/rt2x00dev.c      |   38 ++--
 drivers/net/wireless/rt2x00/rt2x00lib.h      |   45 +++-
 drivers/net/wireless/rt2x00/rt2x00queue.c    |   99 +++++++--
 include/linux/rfkill.h                       |   23 +-
 net/mac80211/Kconfig                         |    5 +-
 net/wireless/Kconfig                         |    4 +
 net/wireless/scan.c                          |    2 +-
 36 files changed, 894 insertions(+), 540 deletions(-)

Omnibus patch available here:

	http://www.kernel.org/pub/linux/kernel/people/linville/wireless-next-2.6-2009-09-02.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


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