Re: broken suspend, sometimes (drm related) [Was: 2.6.24-rc5-mm1]

Jesse Barnes
2007-12-17T17:02:45Z

> next suspend/resume try:
> BLE drm_addmap_core a: map ffff81007c2d9b00, handle 0000000000000000
> BLE drm_addmap_core c: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_rmmap_locked b: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core a: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core c: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_rmmap_locked b: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core a: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core c: map ffff81007c2d9b00, handle ffffc20010092000
> BLE drm_addmap_core a: map ffff81007c2d90c0, handle 8000000000000000
> BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c2d90c0, handle 0000000000000000
> BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c2d9800, handle 0000000000000000
> BLE drm_addmap_core b: map ffff81007c2d9800, handle ffffc20010380000
> BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c2d9e80, handle ffff81007c2d9d40
> BLE drm_addmap_ioctl a: map ffff81007c2d96c0, handle 0000000000000000
> BLE drm_core_ioremap: map ffff81007d0ab050, handle ffffc20010240000
> set status page addr 0x00033000
> BLE drm_core_ioremap: map ffff81007d0ab098, handle ffffc20010096000
> BLE drm_addmap_core a: map ffff81007bd7d440, handle 6632785c63766632
> BLE drm_addmap_ioctl a: map ffff81007bd7d080, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007bd7d700, handle 6632785c63766632
> BLE drm_addmap_ioctl a: map ffff81007bd7d080, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c16f840, handle ffff81007c16f680
> BLE drm_addmap_ioctl a: map ffff81007bd7d080, handle 0000000000000000
> BLE drm_addmap_core a: map ffff81007c16f2c0, handle ffff81007cc33e10
> BLE drm_addmap_ioctl a: map ffff81007c16f640, handle 0000000000000000
> BLE drm_core_ioremapfree a: map ffff81007d0ab050, handle ffffc20010240000
> BLE drm_core_ioremapfree b: map ffff81007d0ab050, handle ffffc20010240000
> BLE drm_core_ioremapfree a: map ffff81007d0ab098, handle ffffc20010096000
> BLE drm_core_ioremapfree b: map ffff81007d0ab098, handle ffffc20010096000
> BLE drm_rmmap_locked a: map ffff81007c2d9800, handle ffffc20010380000
> BLE drm_rmmap_locked b: map ffff81007c2d9b00, handle ffffc20010092000
> PM: Syncing filesystems ... done.
> PM: Preparing system for mem sleep
> Freezing user space processes ... (elapsed 0.00 seconds) done.
> Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
> PM: Entering mem sleep
> sd 2:0:0:0: [sdc] Synchronizing SCSI cache
> sd 2:0:0:0: [sdc] Stopping disk
> sd 1:0:0:0: [sdb] Synchronizing SCSI cache
> sd 1:0:0:0: [sdb] Stopping disk
> sd 0:0:0:0: [sda] Synchronizing SCSI cache
> sd 0:0:0:0: [sda] Stopping disk
> drm_sysfs_suspend
> BAD BAD BAD ffff81007c2d9800 0000000000000000
> suspend_device(): drm_sysfs_suspend+0x0/0x40() returns -5
> Could not suspend device card0: error -5
> sd 0:0:0:0: [sda] Starting disk
>
> I;m out of ideas, please give me a clue.

This sounds a lot like a problem we had recently. The driver wasn't
preserving its mappings across X startup/shutdown (drm open/close) and so
you'd see crashes like this. It should be fixed already in DRM git.

Jesse