On 06-12-15 16:39 Chris wrote:

> Hash: SHA1
> Hi there,
> I'll apologise now, this is the first kernel-related issue i've ever
> experienced, so I may be doing this wrong or missing something :).
> I recently downloaded and compiled 2.6.20-rc1 and set it up nicely with
> my zd1211 card (Addon ADD-GWU180) and now the kernel oops's on boot in
> normal mode, or when issuing "iwconfig eth1 essid essid_name" in
> recovery mode. From the information it spews out at the time, it looks
> like possibly a ieee80211softmac issue, but it doesn't happen with an
> rt2570 card, and I thought it best to check with you first.
> Hopefully all the information you need is included below, if not, i'll
> be happy to provide anything else you need.
> Thanks in advance.

This is a bug resulting from the changes in the API. I have fixed
that last Sunday.

Here is the patch:

[PATCH] ieee80211softmac: Fix direct calls to ieee80211softmac_assoc_work

The signature of work functions changed recently from a context
pointer to the work structure pointer. This caused a problem in
the ieee80211softmac code, because the work function has  been
called directly with a parameter explicitly casted to (void*).
This compiled correctly but resulted in a softlock, because the
mutex_lock has been executed at the wrong memory address. The
patch fixes the problem. Softmac works again.

Signed-off-by: Ulrich Kunitz <[EMAIL PROTECTED]>
 net/ieee80211/softmac/ieee80211softmac_assoc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/ieee80211/softmac/ieee80211softmac_assoc.c 
index eec1a1d..a824852 100644
--- a/net/ieee80211/softmac/ieee80211softmac_assoc.c
+++ b/net/ieee80211/softmac/ieee80211softmac_assoc.c
@@ -167,7 +167,7 @@ static void
 ieee80211softmac_assoc_notify_scan(struct net_device *dev, int event_type, 
void *context)
        struct ieee80211softmac_device *mac = ieee80211_priv(dev);
-       ieee80211softmac_assoc_work((void*)mac);
+       ieee80211softmac_assoc_work(&mac->associnfo.work.work);
 static void
@@ -177,7 +177,7 @@ ieee80211softmac_assoc_notify_auth(struc
        switch (event_type) {
-               ieee80211softmac_assoc_work((void*)mac);
+               ieee80211softmac_assoc_work(&mac->associnfo.work.work);
@@ -438,7 +438,7 @@ ieee80211softmac_try_reassoc(struct ieee
        spin_lock_irqsave(&mac->lock, flags);
        mac->associnfo.associating = 1;
-       schedule_work(&mac->associnfo.work);
+       schedule_delayed_work(&mac->associnfo.work, 0);
        spin_unlock_irqrestore(&mac->lock, flags);

Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
Zd1211-devs mailing list - http://zd1211.ath.cx/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs

Reply via email to