diff mbox

IDE: Don't powerdown Compaq Triflex IDE device on suspend

Message ID alpine.DEB.2.00.1105152228530.12411@artax.karlin.mff.cuni.cz
State Changes Requested
Delegated to: David Miller
Headers show

Commit Message

Mikulas Patocka May 15, 2011, 8:32 p.m. UTC
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@artax.karlin.mff.cuni.cz>

---
 drivers/ide/triflex.c |   16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Sergei Shtylyov May 16, 2011, 9:25 a.m. UTC | #1
Hello.

On 16-05-2011 0:32, 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

    Please also specify that commit's summary in parens -- for the human 
readers. Commit ID is only immediately usable to gitweb.

> Signed-off-by: Mikulas Patocka<mikulas@artax.karlin.mff.cuni.cz>

WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bartlomiej Zolnierkiewicz Oct. 11, 2011, 4:56 p.m. UTC | #2
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@artax.karlin.mff.cuni.cz>

Reviewed-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Oct. 11, 2011, 7:02 p.m. UTC | #3
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: Tue, 11 Oct 2011 18:56:05 +0200

> 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@artax.karlin.mff.cuni.cz>
> 
> Reviewed-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> 
> This patch is still valid for 3.1.  Dave, ping?

Feedback was given on this patch, and changes were requested.  The patch
was never fixed up and resubmitted by the author:

	http://patchwork.ozlabs.org/patch/95665/
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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,
 };