Zhu Yi | 1 Dec 03:58
Picon
Favicon

Re: [Ipw2100-devel] [PATCH] ipw2200: rework scan handling while associated

On Fri, 2008-11-28 at 17:31 +0800, Helmut Schaa wrote:
> Hmm, I was able to reproduce the firmware looping endlessly reasonably
> reliable (turned off the beacon-miss-cancels-scan-behaviour and increased the
> scan watchdog timeout) and the ABORT_SCAN command was processed in that case
> and canceled the scan which resulted in a
> HOST_NOTIFICATION_STATUS_SCAN_COMPLETED notification with status 2 (not sure
> if it really was 2). 

'2' is SCAN_COMPLETED_STATUS_ABORTED.

> So, at least the failure I noticed here could be corrected
> by aborting the scan instead of restarting the adapter.
>
> What about the following:
> After the first scan timeout we try to cancel the scan and if that does not
> succeed in a few seconds we can still restart the fw.

A watchdog is used to prevent unpredictable firmware hangs. In your
report, the firmware hang has a predictable pattern. We should focus on
resolving the real problem than workaround this issue.

> I see the timeout because the firmware will never stop scanning until either
> the beacon miss notification cancels the scan or the IPW_SCAN_CHECK_WATCHDOG
> timeout restarts the adapter. I already tried a scan timeout of 25 seconds but
> the firmware insists on scanning the first passive channel (in my setup 52)
> over and over again.

>From what you are saying, it looks like we have a real bug here. Why the
firmware keep sticking in the passive channel if dwell >
beacon_interval? I didn't see this in our testing environment. Normally
(Continue reading)

Sujith | 1 Dec 04:12
Favicon

Re: [PATCH 4/5] ath9k: Add initial layout for an ath9k specific debugfs mechanism

Johannes Berg wrote:
> On Fri, 2008-11-28 at 22:20 +0530, Sujith wrote:
> 
> > +	sc->sc_debug.debugfs_root = debugfs_create_dir(KBUILD_MODNAME, NULL);
> > +	if (!sc->sc_debug.debugfs_root)
> > +		goto err;
> > +
> > +	sc->sc_debug.debugfs_phy = debugfs_create_dir(wiphy_name(sc->hw->wiphy),
> > +						      sc->sc_debug.debugfs_root);
> 
> Any reason not to use /debug/ieee80211/≤phyN>/<KBUILD_MODNAME>/...?
> Can't say I really care though.
> 

I figured that since most of the drivers create their root directory in /debug/,
I would do the same. But yeah, ieee80211/... makes sense too, I'll move it later on. :)

Sujith
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Helmut Schaa | 1 Dec 11:10

Re: [Ipw2100-devel] [PATCH] ipw2200: rework scan handling while associated

Am Montag, 1. Dezember 2008 schrieb Zhu Yi:
> On Fri, 2008-11-28 at 17:31 +0800, Helmut Schaa wrote:
> > Hmm, I was able to reproduce the firmware looping endlessly reasonably
> > reliable (turned off the beacon-miss-cancels-scan-behaviour and increased the
> > scan watchdog timeout) and the ABORT_SCAN command was processed in that case
> > and canceled the scan which resulted in a
> > HOST_NOTIFICATION_STATUS_SCAN_COMPLETED notification with status 2 (not sure
> > if it really was 2). 
> 
> '2' is SCAN_COMPLETED_STATUS_ABORTED.

Right. That's what I got.

> > So, at least the failure I noticed here could be corrected
> > by aborting the scan instead of restarting the adapter.
> >
> > What about the following:
> > After the first scan timeout we try to cancel the scan and if that does not
> > succeed in a few seconds we can still restart the fw.
> 
> A watchdog is used to prevent unpredictable firmware hangs. In your
> report, the firmware hang has a predictable pattern. We should focus on
> resolving the real problem than workaround this issue.

Agreed. This part of the patch should not be necessary when either the third
part of the patch is applied or the firmware's behavior is fixed.

> > I see the timeout because the firmware will never stop scanning until either
> > the beacon miss notification cancels the scan or the IPW_SCAN_CHECK_WATCHDOG
> > timeout restarts the adapter. I already tried a scan timeout of 25 seconds but
(Continue reading)

Picon
Gravatar

[crda PATCH 0/5] Makefile improvement and fixes


I've been asked by a colleague Gentoo developer (Tony Vroon) to look
at a build failure with parallel make[1] in crda, and I decided to
take a closer look to the Makefile.

With these patches applied, --as-needed build works, as well as
parallel make, the dependencies are properly handle so that changing a
file will only rebuild the correct one, and it's as parallel as
feasible with no recursive make.

HTH,
Diego

[1] http://bugs.gentoo.org/show_bug.cgi?id=249181

---

Diego E. 'Flameeyes' Pettenò (5):
      Ignore built files.
      Don't use recursive make for verify target.
      Make it possible to switch gcrypt/openssl via knob.
      Fix dependencies for parallel make and others.
      Fix building with --as-needed LD flag.

 .gitignore |    2 ++
 Makefile   |   33 +++++++++++++++++++++------------
 2 files changed, 23 insertions(+), 12 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@...
(Continue reading)

Picon
Gravatar

[crda PATCH 1/5] Fix building with --as-needed LD flag.

From: Diego E. 'Flameeyes' Pettenò <flameeyes@...>

When using GNU ld --as-needed option, you need to ensure that the
order of parameters to the linker is formally correct, with libraries
coming after the object files. For this reason, don't use LDFLAGS for
passing the libraries, and make sure that LDLIBS goes at the end of
the line.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@...>
---

 Makefile |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 91c4329..25a92fe 100644
--- a/Makefile
+++ b/Makefile
@@ -7,9 +7,9 @@ PUBKEY_DIR=pubkeys

 CFLAGS += -Wall -g
 #CFLAGS += -DUSE_OPENSSL `pkg-config --cflags openssl`
-#LDFLAGS += `pkg-config --libs openssl`
+#LDLIBS += `pkg-config --libs openssl`
 CFLAGS += -DUSE_GCRYPT
-LDFLAGS += -lgcrypt
+LDLIBS += -lgcrypt

 MKDIR ?= mkdir -p
 INSTALL ?= install
(Continue reading)

Picon
Gravatar

[crda PATCH 2/5] Fix dependencies for parallel make and others.

From: Diego E. 'Flameeyes' Pettenò <flameeyes@...>

Since the keys .c files are included by reglib.c, it's not the final
output to depend on them but rather reglib.o.

This not only fixes proper regeneration of reglib.o when the pem files
are changed, but also allows proper parallel make of the package.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@...>
---

 Makefile |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 25a92fe..ec06534 100644
--- a/Makefile
+++ b/Makefile
@@ -33,15 +33,17 @@ keys-%.c: utils/key2pub.py $(PUBKEY_DIR)/$(wildcard *.pem)
 	$(NQ) '  CC  ' $@
 	$(Q)$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<

-crda: keys-ssl.c keys-gcrypt.c reglib.o crda.o
+reglib.o: keys-ssl.c keys-gcrypt.c
+
+crda: reglib.o crda.o
 	$(NQ) '  LD  ' $@
 	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ reglib.o crda.o `pkg-config --libs libnl-1` $(LDLIBS)

-regdbdump: keys-ssl.c keys-gcrypt.c reglib.o regdbdump.o
(Continue reading)

Picon
Gravatar

[crda PATCH 3/5] Make it possible to switch gcrypt/openssl via knob.

From: Diego E. 'Flameeyes' Pettenò <flameeyes@...>

By building with "make USE_OPENSSL=1", OpenSSL will be used in
libcrypt's stead. This also allows for properly depend just on the
keys-*.c source file that is actually going to be used.

Note that the all target is moved up so that it still hits as default
target.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@...>
---

 Makefile |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index ec06534..4ac8495 100644
--- a/Makefile
+++ b/Makefile
@@ -6,11 +6,24 @@ REG_BIN?=/usr/lib/crda/regulatory.bin
 PUBKEY_DIR=pubkeys

 CFLAGS += -Wall -g
-#CFLAGS += -DUSE_OPENSSL `pkg-config --cflags openssl`
-#LDLIBS += `pkg-config --libs openssl`
+
+all: crda intersect
+	$(Q)$(MAKE) --no-print-directory -f Makefile verify
+
+ifeq ($(USE_OPENSSL),1)
(Continue reading)

Picon
Gravatar

[crda PATCH 4/5] Don't use recursive make for verify target.

From: Diego E. 'Flameeyes' Pettenò <flameeyes@...>

This makes the build more parallel since regdbdump.o build and link
can happen in parallel with the keys generation and the build of the
rest of the units.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@...>
---

 Makefile |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 4ac8495..a8c0a45 100644
--- a/Makefile
+++ b/Makefile
@@ -7,8 +7,7 @@ PUBKEY_DIR=pubkeys

 CFLAGS += -Wall -g

-all: crda intersect
-	$(Q)$(MAKE) --no-print-directory -f Makefile verify
+all: crda intersect verify

 ifeq ($(USE_OPENSSL),1)
 CFLAGS += -DUSE_OPENSSL `pkg-config --cflags openssl`

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@...
(Continue reading)

Picon
Gravatar

[crda PATCH 5/5] Ignore built files.

From: Diego E. 'Flameeyes' Pettenò <flameeyes@...>

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@...>
---

 .gitignore |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore
index cc39545..8ee749e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,8 @@ regulatory.sqlite
 regulatory.bin
 crda
 dump
+intersect
+regdbdump
 *.o
 *.pyc
 keys-*.c

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Johannes Berg | 1 Dec 11:56
Favicon

cfg80211 regulatory segfaults

Dec  1 11:53:27 johannes kernel: [47185.697308] Unable to handle kernel paging request for data at address 0x00000000
Dec  1 11:53:27 johannes kernel: [47185.697322] Faulting instruction address: 0xf27b8414
Dec  1 11:53:27 johannes kernel: [47185.697338] Oops: Kernel access of bad area, sig: 11 [#1]
Dec  1 11:53:27 johannes kernel: [47185.697343] PREEMPT PowerMac
Dec  1 11:53:27 johannes kernel: [47185.697349] Modules linked in: isofs zlib_inflate udf crc_itu_t
btusb af_packet radeon drm binfmt_misc rfcom
m l2cap bluetooth nls_utf8 hfsplus nls_base fuse dm_snapshot dm_mirror dm_region_hash dm_log
sha256_generic joydev snd_aoa_codec_tas snd_aoa_fab
ric_layout snd_aoa appletouch arc4 usbhid b43(-) mac80211 cfg80211 snd_aoa_i2sbus snd_pcm
snd_page_alloc snd_seq ams evdev snd_timer snd_seq_dev
ice input_polldev snd soundcore snd_aoa_soundbus ohci1394 ehci_hcd ohci_hcd ieee1394 ssb usbcore
yenta_socket rsrc_nonstatic pcmcia pcmcia_core 
uninorth_agp agpgart unix hid_apple [last unloaded: btusb]
Dec  1 11:53:27 johannes kernel: [47185.697481] NIP: f27b8414 LR: f27b7368 CTR: c03517a4
Dec  1 11:53:27 johannes kernel: [47185.697489] REGS: d47afd20 TRAP: 0300   Tainted: G        W   (2.6.28-rc6-wl-dirty)
Dec  1 11:53:27 johannes kernel: [47185.697495] MSR: 00009032 <EE,ME,IR,DR>  CR: 28000442  XER: 00000000
Dec  1 11:53:27 johannes kernel: [47185.697513] DAR: 00000000, DSISR: 40000000
Dec  1 11:53:27 johannes kernel: [47185.697519] TASK = c15c0000[22122] 'rmmod' THREAD: d47ae000
Dec  1 11:53:27 johannes kernel: [47185.697524] GPR00: ef16e0a0 d47afdd0 c15c0000 ef16e0a0 22222222
00000000 d47afd88 efaa9278 
Dec  1 11:53:27 johannes kernel: [47185.697544] GPR08: 0000005a 00000000 c03f97e0 c03517a4 24000444
1001a338 100e0000 100df49c 
Dec  1 11:53:27 johannes kernel: [47185.697564] GPR16: 100b54c0 100df49c 100ddd20 102ee8e8 100b5340
102ee7c8 00000000 00000000 
Dec  1 11:53:27 johannes kernel: [47185.697584] GPR24: 1023d008 c067d7a8 c067d7b4 ef16e0a0 ef16e000
ef16e00c efa861fc ef16e280 
Dec  1 11:53:27 johannes kernel: [47185.697628] NIP [f27b8414] reg_device_remove+0xc/0x30 [cfg80211]
Dec  1 11:53:27 johannes kernel: [47185.697641] LR [f27b7368] wiphy_unregister+0x68/0xa4 [cfg80211]
Dec  1 11:53:27 johannes kernel: [47185.697646] Call Trace:
Dec  1 11:53:27 johannes kernel: [47185.697659] [d47afdd0] [f27b7360] wiphy_unregister+0x60/0xa4
(Continue reading)


Gmane