Mikulas Patocka wrote: > Don't powerdown Compaq Triflex IDE device on suspend > > This fixes APM suspend on Compaq Armada 7400. > APM BIOS doesn't suspend if IDE is powered down when suspending. > The Triflex controller is found only on old Compaq boards, > so this patch will hopefully have no side effects. > > This patch fixes a suspend regression introduced in > feb22b7f8e62b1b987a3a1dbad95af767a1df832 > > Signed-off-by: Mikulas Patocka <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> This patch is still valid for 3.1. Dave, ping? > --- > drivers/ide/triflex.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > Index: linux-2.6.39-rc7-fast/drivers/ide/triflex.c > =================================================================== > --- linux-2.6.39-rc7-fast.orig/drivers/ide/triflex.c 2011-05-09 21:05:37.000000000 +0200 > +++ linux-2.6.39-rc7-fast/drivers/ide/triflex.c 2011-05-15 14:06:14.000000000 +0200 > @@ -113,12 +113,26 @@ static const struct pci_device_id trifle > }; > MODULE_DEVICE_TABLE(pci, triflex_pci_tbl); > > +#ifdef CONFIG_PM > +static int triflex_ide_pci_suspend(struct pci_dev *dev, pm_message_t state) > +{ > + /* > + * We must not disable or powerdown the device. > + * APM bios refuses to suspend if IDE is not accessible. > + */ > + pci_save_state(dev); > + return 0; > +} > +#else > +#define triflex_ide_pci_suspend NULL > +#endif > + > static struct pci_driver triflex_pci_driver = { > .name = "TRIFLEX_IDE", > .id_table = triflex_pci_tbl, > .probe = triflex_init_one, > .remove = ide_pci_remove, > - .suspend = ide_pci_suspend, > + .suspend = triflex_ide_pci_suspend, > .resume = ide_pci_resume, > }; -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html