linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.5.70-bk16 - nfs interferes with s4bios suspend
@ 2003-06-13  3:37 CaT
  2003-06-13  6:30 ` Pavel Machek
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: CaT @ 2003-06-13  3:37 UTC (permalink / raw)
  To: swsusp; +Cc: linux-kernel, pavel

Not too sure which list to send this to exactly so here goes. I go
my laptop back from warranty repair and it was returned with an old
version of the bios that still had suspend-2-disk capability in it.
Having set everything up I hit the suspend button and all seemed to
go ok upto a point:

==mutt entered refrigerator
=mutt entered refrigerator
=mutt entered refrigerator
=mutt entered refrigerator
=mutt entered refrigerator
=mutt entered refrigerator
=mutt entered refrigerator
=tail entered refrigerator
=
 stopping tasks failed (2 tasks remaining)
Suspend failed: Not all processes stopped!
Restarting tasks...<6> Strange, rpciod not stopped
 Strange, lockd not stopped
XFree86 left refrigerator
init left refrigerator
khubd left refrigerator

then it kept unfreezing my tasks till the following debug stuff 
came up:

tail left refrigerator
pdflush left refrigerator
 done
Debug: sleeping function called from illegal context at include/linux/rwsem.h:43
Call Trace:
 [<c011a2a3>] __might_sleep+0x5f/0x6c
 [<c01179b6>] do_page_fault+0x76/0x40a
 [<c0117940>] do_page_fault+0x0/0x40a
 [<c0142d1f>] shmem_nopage+0x33/0x68
 [<c01416a7>] pte_chain_alloc+0x1b/0x84
 [<c01fcbc8>] __copy_from_user_ll+0x60/0x78
 [<c010b0f0>] sys_vm86old+0xfc/0x10c
 [<c0108fe9>] error_code+0x2d/0x38
 [<c0108e3f>] syscall_call+0x7/0xb

Debug: sleeping function called from illegal context at include/linux/rwsem.h:43
Call Trace:
 [<c011a2a3>] __might_sleep+0x5f/0x6c
 [<c01179b6>] do_page_fault+0x76/0x40a
 [<c0117940>] do_page_fault+0x0/0x40a
 [<c0142d1f>] shmem_nopage+0x33/0x68
 [<c01416a7>] pte_chain_alloc+0x1b/0x84
 [<c01fcbc8>] __copy_from_user_ll+0x60/0x78
 [<c010b0f0>] sys_vm86old+0xfc/0x10c
 [<c0108fe9>] error_code+0x2d/0x38
 [<c0108e3f>] syscall_call+0x7/0xb

Laptop seems to be working fine still. X and networking are going ok. The
nfs mounts still function (laptop is a client with 3 nfs mounts).

-- 
Martin's distress was in contrast to the bitter satisfaction of some
of his fellow marines as they surveyed the scene. "The Iraqis are sick
people and we are the chemotherapy," said Corporal Ryan Dupre. "I am
starting to hate this country. Wait till I get hold of a friggin' Iraqi.
No, I won't get hold of one. I'll just kill him."
	- http://www.informationclearinghouse.info/article2479.htm

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-13  3:37 2.5.70-bk16 - nfs interferes with s4bios suspend CaT
@ 2003-06-13  6:30 ` Pavel Machek
  2003-06-15 18:06 ` Pavel Machek
  2003-06-15 18:31 ` [FIX, please test] " Pavel Machek
  2 siblings, 0 replies; 19+ messages in thread
From: Pavel Machek @ 2003-06-13  6:30 UTC (permalink / raw)
  To: CaT; +Cc: swsusp, linux-kernel, pavel

Hi!

> Not too sure which list to send this to exactly so here goes. I go
> my laptop back from warranty repair and it was returned with an old
> version of the bios that still had suspend-2-disk capability in it.
> Having set everything up I hit the suspend button and all seemed to
> go ok upto a point:
...
> =
>  stopping tasks failed (2 tasks remaining)
> Suspend failed: Not all processes stopped!
> Restarting tasks...<6> Strange, rpciod not stopped
>  Strange, lockd not stopped

NFS needs "refrigerator" support for 
its kernel threads.

-- 
				Pavel
Written on sharp zaurus, because my Velo1 broke. If you have Velo you don't need...


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-13  3:37 2.5.70-bk16 - nfs interferes with s4bios suspend CaT
  2003-06-13  6:30 ` Pavel Machek
@ 2003-06-15 18:06 ` Pavel Machek
  2003-06-15 23:00   ` CaT
  2003-06-15 18:31 ` [FIX, please test] " Pavel Machek
  2 siblings, 1 reply; 19+ messages in thread
From: Pavel Machek @ 2003-06-15 18:06 UTC (permalink / raw)
  To: CaT; +Cc: swsusp, kernel list

Hi!

>  stopping tasks failed (2 tasks remaining)
> Suspend failed: Not all processes stopped!
> Restarting tasks...<6> Strange, rpciod not stopped
>  Strange, lockd not stopped
> XFree86 left refrigerator
> init left refrigerator
> khubd left refrigerator
> 
> then it kept unfreezing my tasks till the following debug stuff 
> came up:

Do you volunteer to test the patches?
								Pavel

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-13  3:37 2.5.70-bk16 - nfs interferes with s4bios suspend CaT
  2003-06-13  6:30 ` Pavel Machek
  2003-06-15 18:06 ` Pavel Machek
@ 2003-06-15 18:31 ` Pavel Machek
  2003-06-16  0:11   ` CaT
  2 siblings, 1 reply; 19+ messages in thread
From: Pavel Machek @ 2003-06-15 18:31 UTC (permalink / raw)
  To: CaT; +Cc: swsusp, linux-kernel

Hi!

>  stopping tasks failed (2 tasks remaining)
> Suspend failed: Not all processes stopped!
> Restarting tasks...<6> Strange, rpciod not stopped

This should fix it... Someone please test it.
								Pavel

--- /usr/src/tmp/linux/fs/lockd/svc.c	2003-02-15 18:51:27.000000000 +0100
+++ /usr/src/linux/fs/lockd/svc.c	2003-06-15 20:17:30.000000000 +0200
@@ -34,6 +34,7 @@
 #include <linux/sunrpc/svcsock.h>
 #include <linux/lockd/lockd.h>
 #include <linux/nfs.h>
+#include <linux/suspend.h>
 
 #define NLMDBG_FACILITY		NLMDBG_SVC
 #define LOCKD_BUFSIZE		(1024 + NLMSVC_XDRSIZE)
@@ -118,9 +119,11 @@
 	 * NFS mount or NFS daemon has gone away, and we've been sent a
 	 * signal, or else another process has taken over our job.
 	 */
-	while ((nlmsvc_users || !signalled()) && nlmsvc_pid == current->pid)
-	{
+	while ((nlmsvc_users || !signalled()) && nlmsvc_pid == current->pid) {
 		long timeout = MAX_SCHEDULE_TIMEOUT;
+
+		if (current->flags & PF_FREEZE)
+			refrigerator(PF_IOTHREAD);
 		if (signalled()) {
 			flush_signals(current);
 			if (nlmsvc_ops) {
--- /usr/src/tmp/linux/net/sunrpc/sched.c	2003-05-27 13:44:18.000000000 +0200
+++ /usr/src/linux/net/sunrpc/sched.c	2003-06-15 20:16:46.000000000 +0200
@@ -20,6 +20,7 @@
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
 #include <linux/spinlock.h>
+#include <linux/suspend.h>
 
 #include <linux/sunrpc/clnt.h>
 #include <linux/sunrpc/xprt.h>
@@ -286,7 +287,7 @@
  */
 void rpciod_wake_up(void)
 {
-	if(rpciod_pid==0)
+	if (rpciod_pid==0)
 		printk(KERN_ERR "rpciod: wot no daemon?\n");
 	if (waitqueue_active(&rpciod_idle))
 		wake_up(&rpciod_idle);
@@ -969,6 +970,8 @@
 			flush_signals(current);
 		}
 		__rpc_schedule();
+                if (current->flags & PF_FREEZE)
+                        refrigerator(PF_IOTHREAD);
 
 		if (++rounds >= 64) {	/* safeguard */
 			schedule();

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-15 18:06 ` Pavel Machek
@ 2003-06-15 23:00   ` CaT
  2003-06-15 23:16     ` Pavel Machek
  0 siblings, 1 reply; 19+ messages in thread
From: CaT @ 2003-06-15 23:00 UTC (permalink / raw)
  To: Pavel Machek; +Cc: swsusp, kernel list

On Sun, Jun 15, 2003 at 08:06:59PM +0200, Pavel Machek wrote:
> > then it kept unfreezing my tasks till the following debug stuff 
> > came up:
> 
> Do you volunteer to test the patches?

Yup. :)

-- 
Martin's distress was in contrast to the bitter satisfaction of some
of his fellow marines as they surveyed the scene. "The Iraqis are sick
people and we are the chemotherapy," said Corporal Ryan Dupre. "I am
starting to hate this country. Wait till I get hold of a friggin' Iraqi.
No, I won't get hold of one. I'll just kill him."
	- http://www.informationclearinghouse.info/article2479.htm

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-15 23:00   ` CaT
@ 2003-06-15 23:16     ` Pavel Machek
  0 siblings, 0 replies; 19+ messages in thread
From: Pavel Machek @ 2003-06-15 23:16 UTC (permalink / raw)
  To: CaT; +Cc: swsusp, kernel list

Hi!

> > > then it kept unfreezing my tasks till the following debug stuff 
> > > came up:
> > 
> > Do you volunteer to test the patches?
> 
> Yup. :)

Try this and let me know.

--- /usr/src/tmp/linux/fs/lockd/svc.c	2003-02-15 18:51:27.000000000 +0100
+++ /usr/src/linux/fs/lockd/svc.c	2003-06-15 20:17:30.000000000 +0200
@@ -34,6 +34,7 @@
 #include <linux/sunrpc/svcsock.h>
 #include <linux/lockd/lockd.h>
 #include <linux/nfs.h>
+#include <linux/suspend.h>
 
 #define NLMDBG_FACILITY		NLMDBG_SVC
 #define LOCKD_BUFSIZE		(1024 + NLMSVC_XDRSIZE)
@@ -118,9 +119,11 @@
 	 * NFS mount or NFS daemon has gone away, and we've been sent a
 	 * signal, or else another process has taken over our job.
 	 */
-	while ((nlmsvc_users || !signalled()) && nlmsvc_pid == current->pid)
-	{
+	while ((nlmsvc_users || !signalled()) && nlmsvc_pid == current->pid) {
 		long timeout = MAX_SCHEDULE_TIMEOUT;
+
+		if (current->flags & PF_FREEZE)
+			refrigerator(PF_IOTHREAD);
 		if (signalled()) {
 			flush_signals(current);
 			if (nlmsvc_ops) {
--- /usr/src/tmp/linux/net/sunrpc/sched.c	2003-05-27 13:44:18.000000000 +0200
+++ /usr/src/linux/net/sunrpc/sched.c	2003-06-15 20:16:46.000000000 +0200
@@ -20,6 +20,7 @@
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
 #include <linux/spinlock.h>
+#include <linux/suspend.h>
 
 #include <linux/sunrpc/clnt.h>
 #include <linux/sunrpc/xprt.h>
@@ -286,7 +287,7 @@
  */
 void rpciod_wake_up(void)
 {
-	if(rpciod_pid==0)
+	if (rpciod_pid==0)
 		printk(KERN_ERR "rpciod: wot no daemon?\n");
 	if (waitqueue_active(&rpciod_idle))
 		wake_up(&rpciod_idle);
@@ -969,6 +970,8 @@
 			flush_signals(current);
 		}
 		__rpc_schedule();
+                if (current->flags & PF_FREEZE)
+                        refrigerator(PF_IOTHREAD);
 
 		if (++rounds >= 64) {	/* safeguard */
 			schedule();


-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-15 18:31 ` [FIX, please test] " Pavel Machek
@ 2003-06-16  0:11   ` CaT
  2003-06-16  1:41     ` [Swsusp] " Michael Frank
  2003-06-16 10:47     ` Pavel Machek
  0 siblings, 2 replies; 19+ messages in thread
From: CaT @ 2003-06-16  0:11 UTC (permalink / raw)
  To: Pavel Machek; +Cc: swsusp, linux-kernel

On Sun, Jun 15, 2003 at 08:31:11PM +0200, Pavel Machek wrote:
> >  stopping tasks failed (2 tasks remaining)
> > Suspend failed: Not all processes stopped!
> > Restarting tasks...<6> Strange, rpciod not stopped
> 
> This should fix it... Someone please test it.

I didn't have any actual nfs mounts at the time but I tried it
with an otherwise similar system. It went through, got to freeing
memory, showed me a bunch of fullstops being drawn and then went
into an endless BUG loop. All I could pick out (after many a moment
of staring) was 'schedule in atmoic'.

I'll do a proper test with a console cable present in a few days. I
can't atm cos I'm not on the same network and don't have a 2nd 
computer to hook up the null-modem cable to.

Pre-empt is on btw.

-- 
Martin's distress was in contrast to the bitter satisfaction of some
of his fellow marines as they surveyed the scene. "The Iraqis are sick
people and we are the chemotherapy," said Corporal Ryan Dupre. "I am
starting to hate this country. Wait till I get hold of a friggin' Iraqi.
No, I won't get hold of one. I'll just kill him."
	- http://www.informationclearinghouse.info/article2479.htm

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Swsusp] Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-16  0:11   ` CaT
@ 2003-06-16  1:41     ` Michael Frank
  2003-06-16 10:47     ` Pavel Machek
  1 sibling, 0 replies; 19+ messages in thread
From: Michael Frank @ 2003-06-16  1:41 UTC (permalink / raw)
  To: swsusp, CaT, Pavel Machek; +Cc: linux-kernel, swsusp-devel

On Monday 16 June 2003 08:11, CaT wrote:
> On Sun, Jun 15, 2003 at 08:31:11PM +0200, Pavel Machek wrote:
> > >  stopping tasks failed (2 tasks remaining)
> > > Suspend failed: Not all processes stopped!
> > > Restarting tasks...<6> Strange, rpciod not stopped
> >
> > This should fix it... Someone please test it.
>
> I didn't have any actual nfs mounts at the time but I tried it
> with an otherwise similar system. It went through, got to freeing
> memory, showed me a bunch of fullstops being drawn and then went
> into an endless BUG loop. All I could pick out (after many a moment
> of staring) was 'schedule in atmoic'.
>
> I'll do a proper test with a console cable present in a few days. I
> can't atm cos I'm not on the same network and don't have a 2nd
> computer to hook up the null-modem cable to.
>
> Pre-empt is on btw.

I tested swsusp ex 2.5 BK tree - it is is broken. 

Looks something like: Writing data to swap (2273 pages): .<3>bad: scheduling while atomic!
and call traces.

Have a look at the thread on LKML around June 4: 
IDE Power Management (Was: software suspend in 2.5.70-mm3)

I'll wait for Nigel's 2.5 port

Regards
Michael
-- 
Powered by linux-2.5.70-mm3, compiled with gcc-2.95-3 because it's rock solid
                
My current linux related activities in rough order of priority:
- Testing of Swsusp for 2.4
- Learning 2.5 kernel debugging with kgdb - it's in the -mm tree
- Studying 2.5 serial and ide drivers, ACPI, S3

The 2.5 kernel could use your usage. More info on setting up 2.5 kernel at 
http://www.codemonkey.org.uk/post-halloween-2.5.txt



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-16  0:11   ` CaT
  2003-06-16  1:41     ` [Swsusp] " Michael Frank
@ 2003-06-16 10:47     ` Pavel Machek
  2003-06-18  8:16       ` CaT
  1 sibling, 1 reply; 19+ messages in thread
From: Pavel Machek @ 2003-06-16 10:47 UTC (permalink / raw)
  To: CaT; +Cc: swsusp, linux-kernel

Ahoj!

> > >  stopping tasks failed (2 tasks remaining)
> > > Suspend failed: Not all processes stopped!
> > > Restarting tasks...<6> Strange, rpciod not stopped
> > 
> > This should fix it... Someone please test it.
> 
> I didn't have any actual nfs mounts at the time but I tried it
> with an otherwise similar system. It went through, got to freeing
> memory, showed me a bunch of fullstops being drawn and then went
> into an endless BUG loop. All I could pick out (after many a moment
> of staring) was 'schedule in atmoic'.
> 
> I'll do a proper test with a console cable present in a few days. I
> can't atm cos I'm not on the same network and don't have a 2nd 
> computer to hook up the null-modem cable to.
> 
> Pre-empt is on btw.

Turn it off. You don't want to debug preempt and nfs at the same time.

								Pavel
-- 
Horseback riding is like software...
...vgf orggre jura vgf serr.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-16 10:47     ` Pavel Machek
@ 2003-06-18  8:16       ` CaT
  2003-06-18 10:17         ` Pavel Machek
  0 siblings, 1 reply; 19+ messages in thread
From: CaT @ 2003-06-18  8:16 UTC (permalink / raw)
  To: Pavel Machek; +Cc: swsusp, linux-kernel

On Mon, Jun 16, 2003 at 12:47:10PM +0200, Pavel Machek wrote:
> > I didn't have any actual nfs mounts at the time but I tried it
> > with an otherwise similar system. It went through, got to freeing
> > memory, showed me a bunch of fullstops being drawn and then went
> > into an endless BUG loop. All I could pick out (after many a moment
> > of staring) was 'schedule in atmoic'.
> > 
> > I'll do a proper test with a console cable present in a few days. I
> > can't atm cos I'm not on the same network and don't have a 2nd 
> > computer to hook up the null-modem cable to.

Was able to capture the output for this case (it's long). The result
without preempt is below this one.

> > Pre-empt is on btw.

Stopping tasks: XFree86 entered refrigerator
=init entered refrigerator
=khubd entered refrigerator
=pdflush entered refrigerator
=pdflush entered refrigerator
=kswapd0 entered refrigerator
=pccardd entered refrigerator
=pccardd entered refrigerator
=kseriod entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=portmap entered refrigerator
=rpciod entered refrigerator
=lockd entered refrigerator
=syslogd entered refrigerator
=klogd entered refrigerator
=acpid entered refrigerator
=gpm entered refrigerator
=inetd entered refrigerator
=cupsd entered refrigerator
=sshd entered refrigerator
=rpc.statd entered refrigerator
=atd entered refrigerator
=cron entered refrigerator
=xdm entered refrigerator
=getty entered refrigerator
=getty entered refrigerator
=xdm entered refrigerator
=hogarth-wm-coma entered refrigerator
=ssh-agent entered refrigerator
=afterstep entered refrigerator
=aterm entered refrigerator
=aterm entered refrigerator
=bash entered refrigerator
=bash entered refrigerator
=aterm entered refrigerator
=bash entered refrigerator
=sendmail entered refrigerator
=|
Freeing memory: .................................|
Syncing disks before copy
Suspending devices
Suspending device c054a48c
Suspending devices
Suspending device c054a48c
suspending: hda <0>Suspending devices
Suspending device c054a48c
uhci-hcd 0000:00:07.2: suspend to state 3
resume= option should be used to set suspend device/critical section: Counting pages to copy[nosave c0501000] (pages needed: 10763+512=11275 free: 54756)
Alloc pagedir
...etc...
Debug: sleeping function called from illegal context at include/linux/rwsem.h:66
Call Trace:
 [<c011a2a3>] __might_sleep+0x5f/0x6c
 [<c0270ada>] sysdev_restore+0x1a/0x11c
 [<c0270fec>] device_resume+0x24/0xb8
 [<c012f5ea>] drivers_unsuspend+0xa/0x18
 [<c012f864>] suspend_save_image+0x8/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

uhci-hcd 0000:00:07.2: resume
bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0122bee>] schedule_timeout+0x7e/0xa4
 [<c0122b60>] process_timeout+0x0/0x10
 [<c0204392>] pci_set_power_state+0xfe/0x124
 [<c0285a85>] e100_resume+0x19/0x44
 [<c0206088>] pci_device_resume+0x20/0x28
 [<c027103b>] device_resume+0x73/0xb8
 [<c012f5ea>] drivers_unsuspend+0xa/0x18
 [<c012f864>] suspend_save_image+0x8/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0280a8a>] e100_wait_exec_cmplx+0x26/0x38
 [<c0119e0e>] sys_sched_yield+0xce/0xd8
 [<c0119e4b>] yield+0x17/0x1c
 [<c0283482>] e100_exec_non_cu_cmd+0x156/0x22c
 [<c028377e>] e100_load_microcode+0x142/0x16c
 [<c0283abc>] e100_configure_device+0x20/0xdc
 [<c0283ba2>] e100_deisolate_driver+0x2a/0x104
 [<c0285aa4>] e100_resume+0x38/0x44
 [<c0206088>] pci_device_resume+0x20/0x28
 [<c027103b>] device_resume+0x73/0xb8
 [<c012f5ea>] drivers_unsuspend+0xa/0x18
 [<c012f864>] suspend_save_image+0x8/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0280a8a>] e100_wait_exec_cmplx+0x26/0x38
 [<c0119e0e>] sys_sched_yield+0xce/0xd8
 [<c0119e4b>] yield+0x17/0x1c
 [<c0283482>] e100_exec_non_cu_cmd+0x156/0x22c
 [<c0282f79>] e100_setup_iaaddr+0x49/0x70
 [<c0283afe>] e100_configure_device+0x62/0xdc
 [<c0283ba2>] e100_deisolate_driver+0x2a/0x104
 [<c0285aa4>] e100_resume+0x38/0x44
 [<c0206088>] pci_device_resume+0x20/0x28
 [<c027103b>] device_resume+0x73/0xb8
 [<c012f5ea>] drivers_unsuspend+0xa/0x18
 [<c012f864>] suspend_save_image+0x8/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0280a8a>] e100_wait_exec_cmplx+0x26/0x38
 [<c0119e0e>] sys_sched_yield+0xce/0xd8
 [<c0119e4b>] yield+0x17/0x1c
 [<c0283482>] e100_exec_non_cu_cmd+0x156/0x22c
 [<c0281602>] e100_set_multi_exec+0x82/0xa4
 [<c0283b1c>] e100_configure_device+0x80/0xdc
 [<c0283ba2>] e100_deisolate_driver+0x2a/0x104
 [<c0285aa4>] e100_resume+0x38/0x44
 [<c0206088>] pci_device_resume+0x20/0x28
 [<c027103b>] device_resume+0x73/0xb8
 [<c012f5ea>] drivers_unsuspend+0xa/0x18
 [<c012f864>] suspend_save_image+0x8/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0280a8a>] e100_wait_exec_cmplx+0x26/0x38
 [<c0119e0e>] sys_sched_yield+0xce/0xd8
 [<c0119e4b>] yield+0x17/0x1c
 [<c0283482>] e100_exec_non_cu_cmd+0x156/0x22c
 [<c028614f>] e100_config+0xb3/0x114
 [<c0286091>] e100_force_config+0x49/0x54
 [<c0283b69>] e100_configure_device+0xcd/0xdc
 [<c0283ba2>] e100_deisolate_driver+0x2a/0x104
 [<c0285aa4>] e100_resume+0x38/0x44
 [<c0206088>] pci_device_resume+0x20/0x28
 [<c027103b>] device_resume+0x73/0xb8
 [<c012f5ea>] drivers_unsuspend+0xa/0x18
 [<c012f864>] suspend_save_image+0x8/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

Debug: sleeping function called from illegal context at include/asm/semaphore.h:119
Call Trace:
 [<c011a2a3>] __might_sleep+0x5f/0x6c
 [<c0263845>] uart_resume_port+0x2d/0x100
 [<c02662e6>] serial8250_resume_port+0x1e/0x28
 [<c0266fcd>] pciserial_resume_one+0x39/0x5c
 [<c0206088>] pci_device_resume+0x20/0x28
 [<c027103b>] device_resume+0x73/0xb8
 [<c012f5ea>] drivers_unsuspend+0xa/0x18
 [<c012f864>] suspend_save_image+0x8/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0122bee>] schedule_timeout+0x7e/0xa4
 [<c02662e6>] serial8250_resume_port+0x1e/0x28
 [<c0122b60>] process_timeout+0x0/0x10
 [<c0266904>] pci_xircom_init+0x1c/0x24
 [<c0266fb6>] pciserial_resume_one+0x22/0x5c
 [<c0206088>] pci_device_resume+0x20/0x28
 [<c027103b>] device_resume+0x73/0xb8
 [<c012f5ea>] drivers_unsuspend+0xa/0x18
 [<c012f864>] suspend_save_image+0x8/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

Devices Resumed
Devices Resumed
Writing data to swap (10763 pages): .<3>bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] <3>e100: eth0 NIC Link is Up 100 Mbps Full duplex
acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c0118e00>] schedule+0x3c/0x348
 [<c0119e5e>] io_schedule+0xe/0x18
 [<c01308e7>] wait_on_page_bit+0x9f/0xbc
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c011a5d8>] autoremove_wake_function+0x0/0x3c
 [<c0145093>] rw_swap_page_sync+0x8f/0xbc
 [<c012f03d>] write_suspend_image+0xd9/0x2dc
 [<c012f5f1>] drivers_unsuspend+0x11/0x18
 [<c012f86e>] suspend_save_image+0x12/0x1c
 [<c012fa4f>] do_magic_suspend_2+0x17/0xa8
 [<c01173ed>] do_magic+0x4d/0x130
 [<c012fb41>] do_software_suspend+0x61/0x88
 [<c012fb98>] software_suspend+0x30/0x34
 [<c0231e5e>] acpi_system_write_sleep+0xda/0x11c
 [<c014924e>] vfs_write+0x9e/0xd0
 [<c0149300>] sys_write+0x30/0x50
 [<c0108e3f>] syscall_call+0x7/0xb

I hit the power button here and shut the box down.

> Turn it off. You don't want to debug preempt and nfs at the same time.

And this is with preempt off:

Stopping tasks: XFree86 entered refrigerator
=pdflush entered refrigerator
=klogd entered refrigerator
=khubd entered refrigerator
=pdflush entered refrigerator
=kswapd0 entered refrigerator
=pccardd entered refrigerator
=pccardd entered refrigerator
=kseriod entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=portmap entered refrigerator
=rpciod entered refrigerator
=lockd entered refrigerator
=syslogd entered refrigerator
=acpid entered refrigerator
=gpm entered refrigerator
=inetd entered refrigerator
=cupsd entered refrigerator
=sendmail entered refrigerator
=sendmail entered refrigerator
=sshd entered refrigerator
=rpc.statd entered refrigerator
=atd entered refrigerator
=cron entered refrigerator
=fetchmail entered refrigerator
=xdm entered refrigerator
=getty entered refrigerator
=getty entered refrigerator
=xdm entered refrigerator
=sendmail entered refrigerator
=procmail entered refrigerator
=sendmail entered refrigerator
=init entered refrigerator
=procmail entered refrigerator
=|
Freeing memory: .........................|
Syncing disks before copy
Suspending devices
Suspending device c052c48c
Suspending devices
Suspending device c052c48c
suspending: hda ------------[ cut here ]------------
kernel BUG at drivers/ide/ide-disk.c:1110!
invalid operand: 0000 [#1]
CPU:    0
EIP:    0060:[<c0290e16>]    Not tainted
EFLAGS: 00010286
EIP is at idedisk_suspend+0x4a/0x60
eax: c134e4b4   ebx: 00000001   ecx: 00000000   edx: cd851dc8
esi: c052c48c   edi: 00000001   ebp: cd851ef4   esp: cd851ee0
ds: 007b   es: 007b   ss: 0068
Process sleepbtn.sh (pid: 416, threadinfo=cd850000 task=cda4b9c0)
Stack: c052c48c c040887d c052c48c c052c6d4 00000000 cd851f14 c026178b c052c6d4 
       00000004 00000001 00000003 cd851f68 cd851f5c cd851f2c c012c64d 00000004 
       00000001 00000004 00000000 cd851f34 c012cad0 cd851f3c c012cb35 cd851f74 
Call Trace:
 [<c026178b>] device_suspend+0x6b/0xe8
 [<c012c64d>] drivers_suspend+0x15/0x68
 [<c012cad0>] do_software_suspend+0x5c/0x8c
 [<c012cb35>] software_suspend+0x35/0x3c
 [<c022433e>] acpi_system_write_sleep+0xda/0x11c
 [<c014455e>] vfs_write+0x9e/0xd0
 [<c0144610>] sys_write+0x30/0x50
 [<c0108cf3>] syscall_call+0x7/0xb

Code: 0f 0b 56 04 38 85 40 c0 89 f6 31 c0 8d 65 f8 5b 5e 89 ec 5d 

-- 
Martin's distress was in contrast to the bitter satisfaction of some
of his fellow marines as they surveyed the scene. "The Iraqis are sick
people and we are the chemotherapy," said Corporal Ryan Dupre. "I am
starting to hate this country. Wait till I get hold of a friggin' Iraqi.
No, I won't get hold of one. I'll just kill him."
	- http://www.informationclearinghouse.info/article2479.htm

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-18  8:16       ` CaT
@ 2003-06-18 10:17         ` Pavel Machek
  2003-06-18 10:26           ` CaT
  0 siblings, 1 reply; 19+ messages in thread
From: Pavel Machek @ 2003-06-18 10:17 UTC (permalink / raw)
  To: CaT; +Cc: swsusp, linux-kernel

Hi!

> > > I didn't have any actual nfs mounts at the time but I tried it
> > > with an otherwise similar system. It went through, got to freeing
> > > memory, showed me a bunch of fullstops being drawn and then went
> > > into an endless BUG loop. All I could pick out (after many a moment
> > > of staring) was 'schedule in atmoic'.
> > > 
> > > I'll do a proper test with a console cable present in a few days. I
> > > can't atm cos I'm not on the same network and don't have a 2nd 
> > > computer to hook up the null-modem cable to.
> 
> Was able to capture the output for this case (it's long). The result
> without preempt is below this one.

> I hit the power button here and shut the box down.
> 
> > Turn it off. You don't want to debug preempt and nfs at the same time.
> 
> And this is with preempt off:
> 
> Stopping tasks: XFree86 entered refrigerator
> =pdflush entered refrigerator
...
> =init entered refrigerator
> =procmail entered refrigerator
> =|
> Freeing memory: .........................|
> Syncing disks before copy
> Suspending devices
> Suspending device c052c48c
> Suspending devices
> Suspending device c052c48c
> suspending: hda ------------[ cut here ]------------
> kernel BUG at drivers/ide/ide-disk.c:1110!

Okay, you hit some ide problems, but freezing NFS worked okay. Did you
have active NFS mounts at this point?
								Pavel
-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-18 10:17         ` Pavel Machek
@ 2003-06-18 10:26           ` CaT
  2003-06-18 10:35             ` Pavel Machek
  0 siblings, 1 reply; 19+ messages in thread
From: CaT @ 2003-06-18 10:26 UTC (permalink / raw)
  To: Pavel Machek; +Cc: swsusp, linux-kernel

On Wed, Jun 18, 2003 at 12:17:28PM +0200, Pavel Machek wrote:
> > > Turn it off. You don't want to debug preempt and nfs at the same time.
> > 
> > And this is with preempt off:
> > 
> > Stopping tasks: XFree86 entered refrigerator
> > =pdflush entered refrigerator
> ...
> > =init entered refrigerator
> > =procmail entered refrigerator
> > =|
> > Freeing memory: .........................|
> > Syncing disks before copy
> > Suspending devices
> > Suspending device c052c48c
> > Suspending devices
> > Suspending device c052c48c
> > suspending: hda ------------[ cut here ]------------
> > kernel BUG at drivers/ide/ide-disk.c:1110!
> 
> Okay, you hit some ide problems, but freezing NFS worked okay. Did you
> have active NFS mounts at this point?

Yup. I upgraded to .72 and tried again (using the new taskfile stuff) and
this time it suspended. On resume though, the framebuffer console wasn't
really functioning. I had to switch to X and then switch back again before
it was all groovy.

Ponderance: Why did it do a full s/w suspend when I asked for the bios
to handle it? I have s4bios showing up in /proc/acpi/sleep and the bios
is set to suspend to disk. I've even got an a0 partition fully formatted
and it still ignored it all.

I was using the following line to activate it:

echo 4b >/proc/acpi/sleep

-- 
Martin's distress was in contrast to the bitter satisfaction of some
of his fellow marines as they surveyed the scene. "The Iraqis are sick
people and we are the chemotherapy," said Corporal Ryan Dupre. "I am
starting to hate this country. Wait till I get hold of a friggin' Iraqi.
No, I won't get hold of one. I'll just kill him."
	- http://www.informationclearinghouse.info/article2479.htm

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend
  2003-06-18 10:26           ` CaT
@ 2003-06-18 10:35             ` Pavel Machek
  2003-06-21 14:24               ` can't get linux to perform a bios suspend (was: Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend) CaT
  0 siblings, 1 reply; 19+ messages in thread
From: Pavel Machek @ 2003-06-18 10:35 UTC (permalink / raw)
  To: CaT; +Cc: swsusp, linux-kernel

Hi!

> > > > Turn it off. You don't want to debug preempt and nfs at the same time.
> > > 
> > > And this is with preempt off:
> > > 
> > > Stopping tasks: XFree86 entered refrigerator
> > > =pdflush entered refrigerator
> > ...
> > > =init entered refrigerator
> > > =procmail entered refrigerator
> > > =|
> > > Freeing memory: .........................|
> > > Syncing disks before copy
> > > Suspending devices
> > > Suspending device c052c48c
> > > Suspending devices
> > > Suspending device c052c48c
> > > suspending: hda ------------[ cut here ]------------
> > > kernel BUG at drivers/ide/ide-disk.c:1110!
> > 
> > Okay, you hit some ide problems, but freezing NFS worked okay. Did you
> > have active NFS mounts at this point?
> 
> Yup. I upgraded to .72 and tried again (using the new taskfile stuff) and
> this time it suspended. On resume though, the framebuffer console wasn't
> really functioning. I had to switch to X and then switch back again before
> it was all groovy.

Thanx.

> Ponderance: Why did it do a full s/w suspend when I asked for the bios
> to handle it? I have s4bios showing up in /proc/acpi/sleep and the bios
> is set to suspend to disk. I've even got an a0 partition fully formatted
> and it still ignored it all.

I don't know, try looking at drivers/acpi/sleep/main.c, and if
neccessary insert some printk()s to see what's going on.

> I was using the following line to activate it:
> 
> echo 4b >/proc/acpi/sleep

That seems right.

								Pavel

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* can't get linux to perform a bios suspend (was: Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend)
  2003-06-18 10:35             ` Pavel Machek
@ 2003-06-21 14:24               ` CaT
  2003-06-22 15:15                 ` Pavel Machek
  0 siblings, 1 reply; 19+ messages in thread
From: CaT @ 2003-06-21 14:24 UTC (permalink / raw)
  To: Pavel Machek; +Cc: swsusp, linux-kernel

On Wed, Jun 18, 2003 at 12:35:28PM +0200, Pavel Machek wrote:
> > Ponderance: Why did it do a full s/w suspend when I asked for the bios
> > to handle it? I have s4bios showing up in /proc/acpi/sleep and the bios
> > is set to suspend to disk. I've even got an a0 partition fully formatted
> > and it still ignored it all.
> 
> I don't know, try looking at drivers/acpi/sleep/main.c, and if
> neccessary insert some printk()s to see what's going on.

I've had a wee look into it and if I remove software suspend from the
compile, I get no sleep states at all. period. /proc/acpi/sleep does
not exist and nothing is reported in dmesg.

Now I had a look in drivers/acpi/sleep and in the proc.c file I found
this bit of code:

...
        state = simple_strtoul(state_string, NULL, 0);

        if (state < 1 || state > 4)
                goto Done;

        if (!sleep_states[state])
                goto Done;

#ifdef CONFIG_SOFTWARE_SUSPEND
        if (state == 4) {
                software_suspend();
                goto Done;
        }
#endif  
        status = acpi_suspend(state);
...

To me this appears to indicate that it's treating a request for a
sleep state of 4 (s/w suspend) and 4b (bios suspend) as the same thing
as simple_strtoul will stop at the b and return 4 and there are no
further checks being done. In a small experiment I added a test of
state_string[1] == 'b', recompiled and tried it again. It did not go
into s/w suspend as expected but it failed to do a suspend alltogether.

At this point I'm slightly lost. To me it's obvious that there's
something whacky with acpi_suspend() or something it calls but I'm
not sure what. :/

-- 
Martin's distress was in contrast to the bitter satisfaction of some
of his fellow marines as they surveyed the scene. "The Iraqis are sick
people and we are the chemotherapy," said Corporal Ryan Dupre. "I am
starting to hate this country. Wait till I get hold of a friggin' Iraqi.
No, I won't get hold of one. I'll just kill him."
	- http://www.informationclearinghouse.info/article2479.htm

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: can't get linux to perform a bios suspend (was: Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend)
  2003-06-21 14:24               ` can't get linux to perform a bios suspend (was: Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend) CaT
@ 2003-06-22 15:15                 ` Pavel Machek
  2003-06-23  0:58                   ` CaT
  0 siblings, 1 reply; 19+ messages in thread
From: Pavel Machek @ 2003-06-22 15:15 UTC (permalink / raw)
  To: CaT; +Cc: Pavel Machek, swsusp, linux-kernel

Hi!

> > > Ponderance: Why did it do a full s/w suspend when I asked for the bios
> > > to handle it? I have s4bios showing up in /proc/acpi/sleep and the bios
> > > is set to suspend to disk. I've even got an a0 partition fully formatted
> > > and it still ignored it all.
> > 
> > I don't know, try looking at drivers/acpi/sleep/main.c, and if
> > neccessary insert some printk()s to see what's going on.
> 
> I've had a wee look into it and if I remove software suspend from the
> compile, I get no sleep states at all. period. /proc/acpi/sleep does
> not exist and nothing is reported in dmesg.
> 
> Now I had a look in drivers/acpi/sleep and in the proc.c file I found
> this bit of code:
> 
> ...
>         state = simple_strtoul(state_string, NULL, 0);
> 
>         if (state < 1 || state > 4)
>                 goto Done;
> 
>         if (!sleep_states[state])
>                 goto Done;
> 
> #ifdef CONFIG_SOFTWARE_SUSPEND
>         if (state == 4) {
>                 software_suspend();
>                 goto Done;
>         }
> #endif  
>         status = acpi_suspend(state);
> ...
> 
> To me this appears to indicate that it's treating a request for a
> sleep state of 4 (s/w suspend) and 4b (bios suspend) as the same thing
> as simple_strtoul will stop at the b and return 4 and there are no
> further checks being done. In a small experiment I added a test of
> state_string[1] == 'b', recompiled and tried it again. It did not go
> into s/w suspend as expected but it failed to do a suspend alltogether.
> 
> At this point I'm slightly lost. To me it's obvious that there's
> something whacky with acpi_suspend() or something it calls but I'm
> not sure what. :/

If you have 2.4.X, get 2.5.72. That should have
do_suspend_lowlevel_s4bios in wakeup.S. Look around and fix it so that
it is called when user does echo 4b. It may well be broken.

								Pavel
-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: can't get linux to perform a bios suspend (was: Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend)
  2003-06-22 15:15                 ` Pavel Machek
@ 2003-06-23  0:58                   ` CaT
  2003-06-23  9:50                     ` Pavel Machek
  0 siblings, 1 reply; 19+ messages in thread
From: CaT @ 2003-06-23  0:58 UTC (permalink / raw)
  To: Pavel Machek; +Cc: swsusp, linux-kernel

On Sun, Jun 22, 2003 at 05:15:49PM +0200, Pavel Machek wrote:
> > To me this appears to indicate that it's treating a request for a
> > sleep state of 4 (s/w suspend) and 4b (bios suspend) as the same thing
> > as simple_strtoul will stop at the b and return 4 and there are no
> > further checks being done. In a small experiment I added a test of
> > state_string[1] == 'b', recompiled and tried it again. It did not go
> > into s/w suspend as expected but it failed to do a suspend alltogether.
> 
> If you have 2.4.X, get 2.5.72. That should have
> do_suspend_lowlevel_s4bios in wakeup.S. Look around and fix it so that
> it is called when user does echo 4b. It may well be broken.

Been using 2.5.x all this time. Just did the following mod on 2.5.72-bk3:

#ifdef CONFIG_SOFTWARE_SUSPEND
        if (state == 4) {
                if (state_string[1] == 'b') {
                        do_suspend_lowlevel_s4bios(0);
                } else {
                        software_suspend();
                }
                goto Done;
        }
#endif  

And it activated bios suspend just fine. It didn't resume properly though.
The bios resume screen was left behind and the whole setup hung. I've
been using the suspend2disk functionality of this laptop under apm and 2.4.x
just fine (for months really - I rarely 'rebooted' my laptop) so I don't
think it's the bios that's b0rked.

-- 
Martin's distress was in contrast to the bitter satisfaction of some
of his fellow marines as they surveyed the scene. "The Iraqis are sick
people and we are the chemotherapy," said Corporal Ryan Dupre. "I am
starting to hate this country. Wait till I get hold of a friggin' Iraqi.
No, I won't get hold of one. I'll just kill him."
	- http://www.informationclearinghouse.info/article2479.htm

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: can't get linux to perform a bios suspend (was: Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend)
  2003-06-23  0:58                   ` CaT
@ 2003-06-23  9:50                     ` Pavel Machek
  2003-06-23  9:58                       ` CaT
  2003-07-01  8:03                       ` CaT
  0 siblings, 2 replies; 19+ messages in thread
From: Pavel Machek @ 2003-06-23  9:50 UTC (permalink / raw)
  To: CaT; +Cc: swsusp, linux-kernel

Hi!

> > > To me this appears to indicate that it's treating a request for a
> > > sleep state of 4 (s/w suspend) and 4b (bios suspend) as the same thing
> > > as simple_strtoul will stop at the b and return 4 and there are no
> > > further checks being done. In a small experiment I added a test of
> > > state_string[1] == 'b', recompiled and tried it again. It did not go
> > > into s/w suspend as expected but it failed to do a suspend alltogether.
> > 
> > If you have 2.4.X, get 2.5.72. That should have
> > do_suspend_lowlevel_s4bios in wakeup.S. Look around and fix it so that
> > it is called when user does echo 4b. It may well be broken.
> 
> Been using 2.5.x all this time. Just did the following mod on 2.5.72-bk3:
> 
> #ifdef CONFIG_SOFTWARE_SUSPEND
>         if (state == 4) {
>                 if (state_string[1] == 'b') {
>                         do_suspend_lowlevel_s4bios(0);
>                 } else {
>                         software_suspend();
>                 }
>                 goto Done;
>         }
> #endif  
> 
> And it activated bios suspend just fine. It didn't resume properly though.
> The bios resume screen was left behind and the whole setup hung. I've
> been using the suspend2disk functionality of this laptop under apm and 2.4.x
> just fine (for months really - I rarely 'rebooted' my laptop) so I don't
> think it's the bios that's b0rked.

And did you use S4bios with 2.4.X? apm and acpi are really different.

Modification you did is wrong; I'd try

#ifdef CONFIG_SOFTWARE_SUSPEND
        if ((state == 4) && (state_string[1] != 'b')) {
	        software_suspend();
                goto Done;
        }
#endif  

Does s3 work for you? s3 and s4bios should be really similar.

									Pavel
-- 
Horseback riding is like software...
...vgf orggre jura vgf serr.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: can't get linux to perform a bios suspend (was: Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend)
  2003-06-23  9:50                     ` Pavel Machek
@ 2003-06-23  9:58                       ` CaT
  2003-07-01  8:03                       ` CaT
  1 sibling, 0 replies; 19+ messages in thread
From: CaT @ 2003-06-23  9:58 UTC (permalink / raw)
  To: Pavel Machek; +Cc: swsusp, linux-kernel

On Mon, Jun 23, 2003 at 11:50:58AM +0200, Pavel Machek wrote:
> > 
> > And it activated bios suspend just fine. It didn't resume properly though.
> > The bios resume screen was left behind and the whole setup hung. I've
> > been using the suspend2disk functionality of this laptop under apm and 2.4.x
> > just fine (for months really - I rarely 'rebooted' my laptop) so I don't
> > think it's the bios that's b0rked.
> 
> And did you use S4bios with 2.4.X? apm and acpi are really different.

No. Never really used acpi under 2.4.x cos it all seemed like a bit mess
to me and the couple of times I tried it it just didn't do much of anything.
apm worked so I stuck with it. When I moved to 2.5.x I decided to test-run
as much as possible and so started using acpi.

As a note: at least the screen displayed and the requirements from the 
bios are both thesame when apm and acpi are used.

> Modification you did is wrong; I'd try
> 
> #ifdef CONFIG_SOFTWARE_SUSPEND
>         if ((state == 4) && (state_string[1] != 'b')) {
> 	        software_suspend();
>                 goto Done;
>         }
> #endif  

I had that in my original testing. It hung. I'll try again and tell
you where.

> Does s3 work for you? s3 and s4bios should be really similar.

Haven't tried s3. Will do so asap.

-- 
Martin's distress was in contrast to the bitter satisfaction of some
of his fellow marines as they surveyed the scene. "The Iraqis are sick
people and we are the chemotherapy," said Corporal Ryan Dupre. "I am
starting to hate this country. Wait till I get hold of a friggin' Iraqi.
No, I won't get hold of one. I'll just kill him."
	- http://www.informationclearinghouse.info/article2479.htm

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: can't get linux to perform a bios suspend (was: Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend)
  2003-06-23  9:50                     ` Pavel Machek
  2003-06-23  9:58                       ` CaT
@ 2003-07-01  8:03                       ` CaT
  1 sibling, 0 replies; 19+ messages in thread
From: CaT @ 2003-07-01  8:03 UTC (permalink / raw)
  To: Pavel Machek; +Cc: swsusp, linux-kernel

On Mon, Jun 23, 2003 at 11:50:58AM +0200, Pavel Machek wrote:
> Modification you did is wrong; I'd try
> 
> #ifdef CONFIG_SOFTWARE_SUSPEND
>         if ((state == 4) && (state_string[1] != 'b')) {
> 	        software_suspend();
>                 goto Done;
>         }
> #endif  

Well I went the brute force way:

        /*
#ifdef CONFIG_SOFTWARE_SUSPEND
        if (state == 4) {
                software_suspend();
                goto Done;
        }
#endif
        */

Since it's h/w suspend I cared about, I didn't think it was important
to retain sw suspend.

> Does s3 work for you? s3 and s4bios should be really similar.

No. They both die in similar and different ways. :) s3 suspends to ram
(ie laptop goes sleepies) but on resume the kernel is totally hung. s4b
completely fails to suspend and the kernel doesn't like accepting input.
It still functions as the mouse generates synaptics errors and there's
continuous error output re eth0 but otherwise it's a dead duck.

Here is the console output for s3 and s4bios under 2.5.73-bk8:

s3:

Stopping tasks: XFree86 entered refrigerator
=klogd entered refrigerator
=init entered refrigerator
=khubd entered refrigerator
=pdflush entered refrigerator
=pdflush entered refrigerator
=kswapd0 entered refrigerator
=pccardd entered refrigerator
=pccardd entered refrigerator
=kseriod entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=portmap entered refrigerator
=rpciod entered refrigerator
=lockd entered refrigerator
=syslogd entered refrigerator
=acpid entered refrigerator
=gpm entered refrigerator
=inetd entered refrigerator
=cupsd entered refrigerator
=sendmail entered refrigerator
=sshd entered refrigerator
=rpc.statd entered refrigerator
=atd entered refrigerator
=cron entered refrigerator
=fetchmail entered refrigerator
=xdm entered refrigerator
=getty entered refrigerator
=getty entered refrigerator
=xdm entered refrigerator
=|
Suspending devices
Suspending devices
hda: start_power_step(step: 0)
hda: start_power_step(step: 1)
hda: complete_power_step(step: 1, stat: 50, err: 0)
hda: completing PM request, suspend
Suspending devices
Badness in local_bh_enable at kernel/softirq.c:109
Call Trace:
 [<c011e7b8>] local_bh_enable+0x38/0x60
 [<c0277dc8>] e100_config_wol+0x74/0x78
 [<c0276821>] e100_do_wol+0xd/0x50
 [<c0277283>] e100_suspend+0x2b/0x74
 [<c01f9da7>] pci_device_suspend+0x3f/0x4c
 [<c0262b8b>] device_suspend+0x6b/0xe8
 [<c022597c>] acpi_system_save_state+0x70/0x98
 [<c0225a80>] acpi_suspend+0x58/0xa8
 [<c0225cbf>] acpi_system_write_sleep+0xfb/0x13c
 [<c0145bee>] vfs_write+0x9e/0xd0
 [<c0145ca0>] sys_write+0x30/0x50
 [<c0108d33>] syscall_call+0x7/0xb

Badness in local_bh_enable at kernel/softirq.c:109
Call Trace:
 [<c011e7b8>] local_bh_enable+0x38/0x60
 [<c0277986>] e100_config+0x9a/0x104
 [<c0276827>] e100_do_wol+0x13/0x50
 [<c0277283>] e100_suspend+0x2b/0x74
 [<c01f9da7>] pci_device_suspend+0x3f/0x4c
 [<c0262b8b>] device_suspend+0x6b/0xe8
 [<c022597c>] acpi_system_save_state+0x70/0x98
 [<c0225a80>] acpi_suspend+0x58/0xa8
 [<c0225cbf>] acpi_system_write_sleep+0xfb/0x13c
 [<c0145bee>] vfs_write+0x9e/0xd0
 [<c0145ca0>] sys_write+0x30/0x50
 [<c0108d33>] syscall_call+0x7/0xb

Badness in local_bh_enable at kernel/softirq.c:109
Call Trace:
 [<c011e7b8>] local_bh_enable+0x38/0x60
 [<c0274d35>] e100_exec_non_cu_cmd+0x12d/0x1c8
 [<c0277990>] e100_config+0xa4/0x104
 [<c0276827>] e100_do_wol+0x13/0x50
 [<c0277283>] e100_suspend+0x2b/0x74
 [<c01f9da7>] pci_device_suspend+0x3f/0x4c
 [<c0262b8b>] device_suspend+0x6b/0xe8
 [<c022597c>] acpi_system_save_state+0x70/0x98
 [<c0225a80>] acpi_suspend+0x58/0xa8
 [<c0225cbf>] acpi_system_write_sleep+0xfb/0x13c
 [<c0145bee>] vfs_write+0x9e/0xd0
 [<c0145ca0>] sys_write+0x30/0x50
 [<c0108d33>] syscall_call+0x7/0xb

uhci-hcd 0000:00:07.2: suspend to state 3

After this is suspended nicely (laptop led was flashing indicating s2r 
suspend). The ethernet dirver is the intel eepro100 one.

s4bios:

Stopping tasks: XFree86 entered refrigerator
=klogd entered refrigerator
=init entered refrigerator
=khubd entered refrigerator
=pdflush entered refrigerator
=pdflush entered refrigerator
=kswapd0 entered refrigerator
=pccardd entered refrigerator
=pccardd entered refrigerator
=kseriod entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=kjournald entered refrigerator
=portmap entered refrigerator
=rpciod entered refrigerator
=lockd entered refrigerator
=syslogd entered refrigerator
=acpid entered refrigerator
=gpm entered refrigerator
=inetd entered refrigerator
=cupsd entered refrigerator
=sendmail entered refrigerator
=sshd entered refrigerator
=rpc.statd entered refrigerator
=atd entered refrigerator
=cron entered refrigerator
=fetchmail entered refrigerator
=xdm entered refrigerator
=getty entered refrigerator
=xdm entered refrigerator
=getty entered refrigerator
=|
Suspending devices
Suspending devices
hda: start_power_step(step: 0)
hda: completing PM request, suspend
uhci-hcd 0000:00:07.2: resume
e100: e100_deisolate_driver: device configuration failed
e100: eth0: start_ru: wait_scb failed
hda: Wakeup request inited, waiting for !BSY...
hda: start_power_step(step: 1000)
hda: completing PM request, resume
Devices Resumed
e100: eth0: e100_wait_exec_simple: failed
...
e100: eth0: e100_wait_exec_simple: failed
Synaptics driver lost sync at 1st byte
...
Synaptics driver lost sync at 1st byte
e100: eth0: e100_wait_exec_simple: failed
...

The Synaptics driver errors were caused by me moving the mouse. I was testing
to see if there was any sort of life left in the kernel. The e100 errors
kept on being produced ed-nauseum at a rate of about 1/second.

-- 
"How can I not love the Americans? They helped me with a flat tire the
other day," he said.
	- http://www.toledoblade.com/apps/pbcs.dll/artikkel?SearchID=73139162287496&Avis=TO&Dato=20030624&Kategori=NEWS28&Lopenr=106240111&Ref=AR

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2003-07-01  7:45 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-13  3:37 2.5.70-bk16 - nfs interferes with s4bios suspend CaT
2003-06-13  6:30 ` Pavel Machek
2003-06-15 18:06 ` Pavel Machek
2003-06-15 23:00   ` CaT
2003-06-15 23:16     ` Pavel Machek
2003-06-15 18:31 ` [FIX, please test] " Pavel Machek
2003-06-16  0:11   ` CaT
2003-06-16  1:41     ` [Swsusp] " Michael Frank
2003-06-16 10:47     ` Pavel Machek
2003-06-18  8:16       ` CaT
2003-06-18 10:17         ` Pavel Machek
2003-06-18 10:26           ` CaT
2003-06-18 10:35             ` Pavel Machek
2003-06-21 14:24               ` can't get linux to perform a bios suspend (was: Re: [FIX, please test] Re: 2.5.70-bk16 - nfs interferes with s4bios suspend) CaT
2003-06-22 15:15                 ` Pavel Machek
2003-06-23  0:58                   ` CaT
2003-06-23  9:50                     ` Pavel Machek
2003-06-23  9:58                       ` CaT
2003-07-01  8:03                       ` CaT

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).