Re: [ACPI] Re: S4bios support for 2.5.63

From: bert hubert (ahu@ds9a.nl)
Date: Tue Mar 04 2003 - 04:12:54 EST


On Tue, Mar 04, 2003 at 11:06:50AM +1300, Nigel Cunningham wrote:

> You were hitting the BUG_ON before swsusp was even trying to write the
> image?!! That is interesting! Since count_and_copy is first called post
> driver suspend in the current version, perhaps they are somehow related.

Sure, I get this too:

 It now says (copied by hand):
 
         freeing memory: .....................|
 (this 'freeing' takes ages, around 30 seconds, while in progress, the disk
  light blinks every once in a while, perhaps each time while a dot is being
 printed)
         syncing disks
         suspending devices
         suspending device c0418bcc
         suspending devices
         suspending device c0418bcc
         suspending: hda ------------------[ cut here
         trace back:
   
           device_susp()
           drivers_susp()
           do_software_susp()

This happens, I think, from here in kernel/suspend.c:

/* Called from process context */
static int drivers_suspend(void)
{
        device_suspend(4, SUSPEND_NOTIFY);
        device_suspend(4, SUSPEND_SAVE_STATE);
        device_suspend(4, SUSPEND_DISABLE);
        ...

I think the problem occurs on the second call, SUSPEND_SAVE_STATE:

static int idedisk_suspend(struct device *dev, u32 state, u32 level)
{
        ide_drive_t *drive = dev->driver_data;

        printk("Suspending device %p\n", dev->driver_data);

        /* I hope that every freeze operation from the upper levels have
         * already been done...
         */

        if (level != SUSPEND_SAVE_STATE)
                return 0;

        /* set the drive to standby */
        printk(KERN_INFO "suspending: %s ", drive->name);
        do_idedisk_standby(drive);
        drive->blocked = 1;

        BUG_ON (HWGROUP(drive)->handler); // <----- this BUGs
        return 0;
}

Regards,

bert

-- 
http://www.PowerDNS.com      Open source, database driven DNS Software 
http://lartc.org           Linux Advanced Routing & Traffic Control HOWTO
http://netherlabs.nl                         Consulting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 07 2003 - 22:00:24 EST