mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Suspend/resume to disk problem
@ 2005-01-03  1:20 Francisco Martins
  2005-01-03 17:24 ` Barry K. Nathan
  0 siblings, 1 reply; 3+ messages in thread
From: Francisco Martins @ 2005-01-03  1:20 UTC (permalink / raw)
  To: linux-kernel; +Cc: Francisco Martins

Hi all,

I'm using Debian GNU/linux 3.1 with kernel 2.6.10 on my IBM Thinkpad
R40, and I'm experiencing a strange problem with suspend to disk.

If I configure the kernel options 
#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION="/dev/hda5",

issuing 

echo platform > /sys/kernel/disk
echo disk > /sys/kernel/state

always results in error:
swsusp: FATAL: cannot find swap device, try swapon -a!


My swap partition was on, as can be confirmed by

(output from free)
             total       used       free     shared    buffers    cached
Mem:        515836     469716      46120          0      35588    220672
-/+ buffers/cache:     213456     302380
Swap:       763520          0     763520


(cat /proc/swaps)
Filename                                Type            Size    Used
Priority
/dev/hda5                               partition       763520  0
-1

So, after searching with no luck for help in google, I looked at in the
source code for kernel/power/swsusp.c

The problem seems to be in function "is_resume_device"

static int is_resume_device(const struct swap_info_struct *swap_info)
...
        return S_ISBLK(inode->i_mode) &&
              resume_device == MKDEV(imajor(inode), iminor(inode));
}

The resume_device variable is not initialised at this stage and
has the value zero, which is different from MKDEV(...)

Can you please check this out?

I was able to suspend to disk by setting CONFIG_PM_STD_PARTITION="", but
I cannot resume. 
Again, resume_device is set to 0 in function swsusp_read after
      resume_device = name_to_dev_t(resume_file);
and therefore, it is not possible to open the swap device and
      resume_bdev = open_by_devnum(resume_device, FMODE_READ);
returns an error, aborting the resume process.

I check that resume_file is correctly set to "/dev/hda5" by
the resume_setup function form disk.c


Thanks for you attention,

Cheers,

Francisco



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

end of thread, other threads:[~2005-01-03 19:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-03  1:20 Suspend/resume to disk problem Francisco Martins
2005-01-03 17:24 ` Barry K. Nathan
2005-01-03 19:47   ` Pavel Machek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®