On Monday 14 August 2006 22:06, Laurent Riffard wrote: > Le 14.08.2006 19:47, Laurent Riffard a écrit : > > Le 14.08.2006 18:50, Andrew Morton a écrit : > >> On Mon, 14 Aug 2006 16:38:47 +0200 > >> Laurent Riffard <[EMAIL PROTECTED]> wrote: > >> > >>> Le 13.08.2006 10:24, Andrew Morton a __crit : > >>>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc4/2.6.18-rc4-mm1/ > >>> Hello, > >>> > >>> This morning, while trying to suspend to disk, my box started to loop > >>> displaying the following message: > >>> eth0: trigger_send() called with the transmitter busy. > >>> > >>> Here is the scenario. I booted 2.6.18-rc4-mm1 with this command line: > >>> root=/dev/vglinux1/lvroot video=vesafb:ywrap,mtrr splash=silent > >>> resume=/dev/hdb7 [EMAIL PROTECTED]/,@192.168.0.1/00:0E:9B:91:ED:72 init 1 > >>> > >>> Then I issued: > >>> # echo 6 > /proc/sys/kernel/printk > >>> # echo disk > /sys/power/state > >> ne2k isn't <ahem> the most actively-maintained driver. > >> > >> But most (I think all) net drivers have problems during suspend when > >> netconsole is active. Does disabling netconsole help? > > > > Yes it does. > > > >> Did this operation work OK in earlier kernels, with netconsole enabled? > > > > It's the first time I see such a message. I can't speak for 2.6.18-rc3-mm2 > > because it could not suspend at all (did hang right after > > "echo disk > /sys/power/state"), but it worked in earlier kernels. > > > > I'll try with plain 2.6.18-rc4. > > Same problem with 2.6.18-rc4.
I think something like this will help (untested): kernel/power/disk.c | 7 +++++++ 1 files changed, 7 insertions(+) Index: linux-2.6.18-rc4-mm1/kernel/power/disk.c =================================================================== --- linux-2.6.18-rc4-mm1.orig/kernel/power/disk.c +++ linux-2.6.18-rc4-mm1/kernel/power/disk.c @@ -119,8 +119,10 @@ int pm_suspend_disk(void) if (error) return error; + suspend_console(); error = device_suspend(PMSG_FREEZE); if (error) { + resume_console(); printk("Some devices failed to suspend\n"); unprepare_processes(); return error; @@ -133,6 +135,7 @@ int pm_suspend_disk(void) if (in_suspend) { device_resume(); + resume_console(); pr_debug("PM: writing image.\n"); error = swsusp_write(); if (!error) @@ -148,6 +151,7 @@ int pm_suspend_disk(void) swsusp_free(); Done: device_resume(); + resume_console(); unprepare_processes(); return error; } @@ -212,7 +216,9 @@ static int software_resume(void) pr_debug("PM: Preparing devices for restore.\n"); + suspend_console(); if ((error = device_suspend(PMSG_PRETHAW))) { + resume_console(); printk("Some devices failed to suspend\n"); swsusp_free(); goto Thaw; @@ -224,6 +230,7 @@ static int software_resume(void) swsusp_resume(); pr_debug("PM: Restore failed, recovering.n"); device_resume(); + resume_console(); Thaw: unprepare_processes(); Done: - 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