On St 25-01-06 16:28:48, Jesse Brandeburg wrote: > On 1/25/06, Jesse Brandeburg <[EMAIL PROTECTED]> wrote: > > On 1/25/06, Olaf Kirch <[EMAIL PROTECTED]> wrote: > > > On Wed, Jan 25, 2006 at 10:02:40AM +0100, Olaf Kirch wrote: > > > > I'm not sure what the right fix would be. e100_resume would probably > > > > have to call e100_alloc_cbs early on, while e100_up should avoid > > > > calling it a second time if nic->cbs_avail != 0. A tentative patch > > > > for testing is attached. > > > > > > Reportedly, the patch fixes the crash on resume. > > > > Cool, thanks for the research, I have a concern about this however. > > > > its an interesting patch, but it raises the question why does > > e100_init_hw need to be called at all in resume? I looked back > > through our history and that init_hw call has always been there. I > > think its incorrect, but its taking me a while to set up a system with > > the ability to resume. > > > > everywhere else in the driver alloc_cbs is called before init_hw so it > > just seems like a long standing bug. > > > > comments? anyone want to test? i compile tested this, but it is untested. > > Okay I reproduced the issue on 2.6.15.1 (with S1 sleep) and was able > to show that my patch that just removes e100_init_hw works okay for > me. Let me know how it goes for you, I think this is a good fix.
S1 preserves hardware state, .suspend/.resume routines can be NULL for S1. Try with swsusp or S3. Pavel -- Thanks, Sharp! - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html