On 06-12-15 16:39 Chris wrote: > -----BEGIN PGP SIGNED MESSAGE----- > 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 b/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) { case IEEE80211SOFTMAC_EVENT_AUTHENTICATED: - ieee80211softmac_assoc_work((void*)mac); + ieee80211softmac_assoc_work(&mac->associnfo.work.work); break; case IEEE80211SOFTMAC_EVENT_AUTH_FAILED: case IEEE80211SOFTMAC_EVENT_AUTH_TIMEOUT: @@ -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); } -- 1.4.1 ------------------------------------------------------------------------- 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 http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Zd1211-devs mailing list - http://zd1211.ath.cx/ Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs