1 May 2007 01:59
1 May 2007 02:53
Re: [irda-users] [BUG] 2.6.20.1-rt8 irnet + pppd recursive spinlock...
Samuel Ortiz <samuel <at> sortiz.org>
2007-05-01 00:53:23 GMT
2007-05-01 00:53:23 GMT
On Mon, Apr 30, 2007 at 03:24:05PM +0200, Guennadi Liakhovetski wrote: > On Tue, 10 Apr 2007, Samuel Ortiz wrote: > > > Hi Guennadi, > > > > The patch below schedules irnet_flow_indication() asynchronously. Could > > you please give it a try (it builds, but I couldn't test it...) ? : > > Ok, your patch (still below) works too (now that I fixed that state > machine race, btw, we still have to decide on the final form how it goes > in the mainline) __after__ you also add the line > > + INIT_WORK(&new->irnet_flow_work, irttp_flow_restart); > > in irttp_dup() (remember spinlock_init()?(Continue reading)), otherwise it oopses. good catch, again...Yes, I do remember the irttp_dup bug
> Generally, I like your patch better than mine to ppp_generic.c, where I > explicitly check if a recursion is occurring. Still, I am a bit concerned > about introducing yet another execution context into irda... We have seen > a couple of locking issues there already in the last 2-3 months especially > under rt-preempt... Would you be able to run some tests too? I think I can run some tests here as well, but probably not as many as you: I'm not doing IrDA stuff full time while it seems you currently are. But I will definitely spend some time this week running my IrDA stack with this patch applied. I didn't bother to do that earlier as you first reported some oops with this patch applied. > I will be
1 May 2007 04:44
[PATCH] zd1211rw-mac80211: fixed freeing skbs in interrupt context
From: Ulrich Kunitz <kune@...> Some of the kfree_skb() calls could happen in irq context. Changed all calls to dev_kfree_skb() in non-irq context and to dev_kfree_skb_any() where an irq context might happen. Signed-off-by: Ulrich Kunitz <kune@...> Signed-off-by: Daniel Drake <dsd@...> --- drivers/net/wireless/mac80211/zd1211rw/zd_mac.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/mac80211/zd1211rw/zd_mac.c b/drivers/net/wireless/mac80211/zd1211rw/zd_mac.c index cd5d17f..91b908a 100644 --- a/drivers/net/wireless/mac80211/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/mac80211/zd1211rw/zd_mac.c <at> <at> -160,7 +160,7 <at> <at> static int zd_mac_stop(struct ieee80211_hw *dev) struct ieee80211_tx_control *control = *(struct ieee80211_tx_control **)skb->cb; kfree(control); - kfree_skb(skb); + dev_kfree_skb(skb); } return 0; <at> <at> -319,7 +319,7 <at> <at> static int zd_mac_tx(struct ieee80211_hw *dev, struct sk_buff *skb, return r; if (control->flags & IEEE80211_TXCTL_NO_ACK) { - kfree_skb(skb);(Continue reading)
1 May 2007 05:01
[PATCH] zd1211rw-mac80211: limit URB buffering in tx path
Daniel Drake <dsd <at> gentoo.org>
2007-05-01 03:01:00 GMT
2007-05-01 03:01:00 GMT
From: Ulrich Kunitz <kune <at> deine-taler.de>
The old code allowed unlimited buffing of tx frames in URBs
submitted for transfer to the device. This patch stops the
ieee80211_hw queue(s) if to many URBs are ready for submit to the
device. Actually the ZD1211 device supports currently only one
queue.
Signed-off-by: Ulrich Kunitz <kune <at> deine-taler.de>
Signed-off-by: Daniel Drake <dsd <at> gentoo.org>
---
drivers/net/wireless/mac80211/zd1211rw/zd_chip.c | 6 +-
drivers/net/wireless/mac80211/zd1211rw/zd_chip.h | 4 +-
drivers/net/wireless/mac80211/zd1211rw/zd_mac.c | 327 +++++++++++++++++-----
drivers/net/wireless/mac80211/zd1211rw/zd_mac.h | 23 ++
drivers/net/wireless/mac80211/zd1211rw/zd_usb.c | 173 +++++++++---
drivers/net/wireless/mac80211/zd1211rw/zd_usb.h | 30 ++-
6 files changed, 450 insertions(+), 113 deletions(-)
diff --git a/drivers/net/wireless/mac80211/zd1211rw/zd_chip.c b/drivers/net/wireless/mac80211/zd1211rw/zd_chip.c
index d8bc0f1..fcf78ab 100644
--- a/drivers/net/wireless/mac80211/zd1211rw/zd_chip.c
+++ b/drivers/net/wireless/mac80211/zd1211rw/zd_chip.c
<at> <at> -1606,20 +1606,22 <at> <at> void zd_chip_disable_int(struct zd_chip *chip)
mutex_unlock(&chip->mutex);
}
-int zd_chip_enable_rx(struct zd_chip *chip)
+int zd_chip_enable_rxtx(struct zd_chip *chip)
{
(Continue reading)
1 May 2007 05:02
[PATCH] zd1211rw-mac80211: remove static table from zd_mac.h
From: Ulrich Kunitz <kune@...> The header zd_mac.h did contain static declaration of tables, which are only used in zd_mac.c. These tables have been moved into the C file itself. Signed-off-by: Ulrich Kunitz <kune@...> Signed-off-by: Daniel Drake <dsd@...> --- drivers/net/wireless/mac80211/zd1211rw/zd_mac.c | 74 +++++++++++++++++++++++ drivers/net/wireless/mac80211/zd1211rw/zd_mac.h | 74 ----------------------- 2 files changed, 74 insertions(+), 74 deletions(-) diff --git a/drivers/net/wireless/mac80211/zd1211rw/zd_mac.c b/drivers/net/wireless/mac80211/zd1211rw/zd_mac.c index c3f8d30..6cc0b4d 100644 --- a/drivers/net/wireless/mac80211/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/mac80211/zd1211rw/zd_mac.c <at> <at> -28,6 +28,80 <at> <at> #include "zd_rf.h" #include "zd_util.h" +/* TODO: remove this once we have a general modes/channels/rates filling func */ +static const struct ieee80211_rate zd_rates[] = { + { .rate = 10, + .val = ZD_CS_CCK | ZD_CS_CCK_RATE_1M, + .flags = IEEE80211_RATE_CCK }, + { .rate = 20, + .val = ZD_CS_CCK | ZD_CS_CCK_RATE_2M, + .val2 = ZD_CS_CCK | ZD_CS_CCK_RATE_2M | ZD_CS_CCK_PREA_SHORT, + .flags = IEEE80211_RATE_CCK_2 },(Continue reading)
1 May 2007 05:02
[PATCH] zd1211rw-mac80211: Added new USB id for Planex GW-US54ZGL
From: Ulrich Kunitz <kune@...> Alan Tam <Tam at SiuLung dot com> asked for inclusion of this device into the tree. Signed-off-by: Ulrich Kunitz <kune@...> Signed-off-by: Daniel Drake <dsd@...> --- drivers/net/wireless/mac80211/zd1211rw/zd_usb.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c b/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c index 4212310..b22d908 100644 --- a/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c <at> <at> -65,6 +65,7 <at> <at> static struct usb_device_id usb_ids[] = { { USB_DEVICE(0x0586, 0x3410), .driver_info = DEVICE_ZD1211B }, { USB_DEVICE(0x0baf, 0x0121), .driver_info = DEVICE_ZD1211B }, { USB_DEVICE(0x0586, 0x3412), .driver_info = DEVICE_ZD1211B }, + { USB_DEVICE(0x0053, 0x5301), .driver_info = DEVICE_ZD1211B }, /* "Driverless" devices that need ejecting */ { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER }, {} -- -- 1.5.1.2
1 May 2007 05:03
[PATCH] zd1211rw-mac80211: Add ID for Sitecom WL-117
Daniel Drake <dsd <at> gentoo.org>
2007-05-01 03:03:40 GMT
2007-05-01 03:03:40 GMT
From: Matthew Davidson <mj.davidson <at> gmail.com>
This is another "driverless" device which first presents itself as a USB
CDROM drive. A separate patch has been submitted to make usb-storage
ignore that device, so that zd1211rw can eject it.
zd1211 chip 0df6:9075 v4916 full 00-0c-f6 AL2230_RF pa0 ----
Signed-off-by: Daniel Drake <dsd <at> gentoo.org>
---
drivers/net/wireless/mac80211/zd1211rw/zd_usb.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c b/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c
index b22d908..35f4383 100644
--- a/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c
<at> <at> -38,6 +38,7 <at> <at> static struct usb_device_id usb_ids[] = {
{ USB_DEVICE(0x126f, 0xa006), .driver_info = DEVICE_ZD1211 },
{ USB_DEVICE(0x6891, 0xa727), .driver_info = DEVICE_ZD1211 },
{ USB_DEVICE(0x0df6, 0x9071), .driver_info = DEVICE_ZD1211 },
+ { USB_DEVICE(0x0df6, 0x9075), .driver_info = DEVICE_ZD1211 },
{ USB_DEVICE(0x157e, 0x300b), .driver_info = DEVICE_ZD1211 },
{ USB_DEVICE(0x079b, 0x004a), .driver_info = DEVICE_ZD1211 },
{ USB_DEVICE(0x1740, 0x2000), .driver_info = DEVICE_ZD1211 },
<at> <at> -68,6 +69,7 <at> <at> static struct usb_device_id usb_ids[] = {
{ USB_DEVICE(0x0053, 0x5301), .driver_info = DEVICE_ZD1211B },
/* "Driverless" devices that need ejecting */
{ USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER },
+ { USB_DEVICE(0x0ace, 0x20ff), .driver_info = DEVICE_INSTALLER },
(Continue reading)
1 May 2007 05:04
[PATCH] zd1211rw-mac80211: Add ID for ZyXEL AG-225H v2
Daniel Drake <dsd <at> gentoo.org>
2007-05-01 03:04:27 GMT
2007-05-01 03:04:27 GMT
Tested by davo on IRC
zd1211b chip 0586:3413 v4810 full 00-13-49 AL7230B_RF pa0 -----
Signed-off-by: Daniel Drake <dsd <at> gentoo.org>
---
drivers/net/wireless/mac80211/zd1211rw/zd_usb.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c b/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c
index 35f4383..e623043 100644
--- a/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/mac80211/zd1211rw/zd_usb.c
<at> <at> -66,6 +66,7 <at> <at> static struct usb_device_id usb_ids[] = {
{ USB_DEVICE(0x0586, 0x3410), .driver_info = DEVICE_ZD1211B },
{ USB_DEVICE(0x0baf, 0x0121), .driver_info = DEVICE_ZD1211B },
{ USB_DEVICE(0x0586, 0x3412), .driver_info = DEVICE_ZD1211B },
+ { USB_DEVICE(0x0586, 0x3413), .driver_info = DEVICE_ZD1211B },
{ USB_DEVICE(0x0053, 0x5301), .driver_info = DEVICE_ZD1211B },
/* "Driverless" devices that need ejecting */
{ USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER },
--
--
1.5.1.2
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
1 May 2007 05:20
Re: [Bugme-new] [Bug 8405] New: pppd does stops compresion with "Lost compression sync"
Stefan Wenk <stefan.wenk <at> gmx.at>
2007-05-01 03:20:10 GMT
2007-05-01 03:20:10 GMT
On Monday 30 April 2007 21:12, Stefan Wenk wrote: > On Monday 30 April 2007 15:31, Richard Purdie wrote: > > On Mon, 2007-04-30 at 14:08 +0200, Stefan Wenk wrote: > > > On Sunday 29 April 2007 23:20, Andrew Morton wrote: > > > > (switch to email - please retain all ccs) > > > > > > > > On Sun, 29 Apr 2007 13:01:25 -0700 bugme-daemon <at> bugzilla.kernel.org > > wrote: > > > > > http://bugzilla.kernel.org/show_bug.cgi?id=8405 > > > > > > > > > > Here is the log vor /var/log/messages: > > > > > > > > > > Apr 29 16:53:34 linux kernel: PPP Deflate Compression module > > > > > registered Apr 29 16:53:47 linux pppd[9090]: pppd 2.4.4 started by > > > > > root, uid 0 Apr 29 16:53:47 linux pppd[9090]: Using interface ppp0 > > > > > Apr 29 16:53:47 linux pppd[9090]: Connect: ppp0 <--> /dev/pts/9 > > > > > Apr 29 16:53:47 linux pppd[9090]: kernel does not support PPP > > > > > filtering Apr 29 16:53:47 linux pppd[9090]: Deflate (15) > > > > > compression enabled Apr 29 16:53:47 linux pppd[9090]: Cannot > > > > > determine ethernet address for proxy ARP Apr 29 16:53:47 linux > > > > > pppd[9090]: local IP address 192.168.3.2 Apr 29 16:53:47 linux > > > > > pppd[9090]: remote IP address 192.168.3.1 Apr 29 16:54:03 linux > > > > > kernel: z_decompress0: inflate returned -5 () Apr 29 16:54:03 linux > > > > > pppd[9090]: PPPIOCGFLAGS flags: c030c0 Apr 29 16:54:03 linux > > > > > pppd[9090]: Lost compression sync: disabling compression > > > > > > > > > > I had a look at the kernel patch of 2.6.18 - the > > > > > lib/zlib/zlib_inflate was changed a lot and for me it looks to be > > > > > the reason of the problem.(Continue reading)
1 May 2007 05:36
Re: [Bugme-new] [Bug 8405] New: pppd does stops compresion with "Lost compression sync"
Andrew Morton <akpm <at> linux-foundation.org>
2007-05-01 03:36:06 GMT
2007-05-01 03:36:06 GMT
On Tue, 1 May 2007 05:20:10 +0200 Stefan Wenk <stefan.wenk <at> gmx.at> wrote: > > What is more interesting is that the pppd server log is logging errors. > > There are LCP EchoReq and EchoRep. Later a LCP ProtoRej messages occurs and > > then the connection is broken. I have attached a pppdump file of the client > > side if it helps. This file can be read e.g. by wireshark. > > I should have mentioned that I have made some other modifications in order to > see the kernel logging. This was because I could not find the documentation > how to turn debugging on for ppp_deflate and because I'm only seeing printk > of type KERN_ERR and not those with KERN_DEBUG. So I might be missing some > additional KERN_DEBUG loggings. If somebody can point me to the documentation > how to get KERN_DEBUG to the log file I can make the test again. From the commend line: `dmesg -n 8'. The really big fix is to boot with the ignore_loglevel boot option. This will turn on all messages and will defeat any userspace attempt to turn the loglevel down. > Here is the full diff Thanks for persisting with this. The problem is rather serious. > --- ppp_deflate.c.orig 2007-04-23 20:47:08.000000000 +0200 > +++ ppp_deflate.c 2007-04-30 19:38:19.000000000 +0200 > <at> <at> -174,7 +174,7 <at> <at> static int z_comp_init(void *arg, unsign > > state->seqno = 0; > state->unit = unit;(Continue reading)
), otherwise it oopses.
good catch, again...Yes, I do remember the irttp_dup bug
> Generally, I like your patch better than mine to ppp_generic.c, where I
> explicitly check if a recursion is occurring. Still, I am a bit concerned
> about introducing yet another execution context into irda... We have seen
> a couple of locking issues there already in the last 2-3 months especially
> under rt-preempt... Would you be able to run some tests too?
I think I can run some tests here as well, but probably not as many as you:
I'm not doing IrDA stuff full time while it seems you currently are.
But I will definitely spend some time this week running my IrDA stack with this
patch applied. I didn't bother to do that earlier as you first reported some
oops with this patch applied.
> I will be
RSS Feed