I've made quite a bit of progress debugging and have narrowed down the 
(current) problem to a single statement:

set_bit(ZD1211_RUNNING, &macp->flags);

My initial attempt at solving this problem was to change this line to 
the following:

set_bit(ZD1211_RUNNING, get_unaligned(&(macp->flags)));

This didn't work, but the kernel failed in a different way, claiming it 
was unable to handle a null pointer dereference.  So, I added a printk 
statement to log the value of macp directly before that statement.  It 
was not NULL.

Googling for set_bit problems, I disovered this lkml thread: 
http://lkml.org/lkml/2006/1/21/112

I am using kernel 2.4.33, and my compiler is GCC 3.4.4.  While I suppose 
it's possbile that my kernel or GCC version is buggy with regard to the 
set_bit function, I think it's more likely my fix above is wrong.  I'm 
just mentioning what I found about that because I don't want to rule it out.

Does anyone have any suggestions on how to fix this?

-- 
"The mind is its own place, and in itself, can make a Heaven of Hell, a Hell of 
Heaven."
        --Satan,
          in _Paradise Lost_ by Milton


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Zd1211-devs mailing list - http://zd1211.ath.cx/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs

Reply via email to