Re: Linux

From: Stefan Richter
Date: Wed Aug 23 2006 - 04:07:38 EST

Adrian Bunk wrote:
> There are still several patches pending - they will go into
> Robert Hancock:
> Fix broken suspend/resume in ohci1394

Alas this patch is a regression for PPC. Please apply patch "1394: fix
for recently added firewire patch that breaks things on ppc" by Danny
Tholen too. The latter patch is enqueued for 2.6.17.y and (so I hope)
for 2.6.18-rc which both contain Robert's patch. I attached Danny's
patch as I cannot safely send it inline right now.

_If_ you don't want to add Danny's patch until it actually appeared in
2.6.18-rc, please revert Robert's patch for the time being.

Thanks, and sorry for the mess.
Stefan Richter
-=====-=-==- =--- =-===
Subject: 1394: fix for recently added firewire patch that breaks things on ppc
From: Danny Tholen <obiwan@xxxxxxxxxxx>

Recently a patch was added for preliminary suspend/resume handling on
!PPC_PMAC. However, this broke both suspend and firewire on powerpc
because it saves the pci state after the device has already been disabled.

This moves the save state to before the pmac specific code.

Signed-off-by: Danny Tholen <obiwan@xxxxxxxxxxx>
Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>

drivers/ieee1394/ohci1394.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN drivers/ieee1394/ohci1394.c~fix-for-recently-added-firewire-patch-that-breaks-things-on-ppc drivers/ieee1394/ohci1394.c
--- a/drivers/ieee1394/ohci1394.c~fix-for-recently-added-firewire-patch-that-breaks-things-on-ppc
+++ a/drivers/ieee1394/ohci1394.c
@@ -3552,6 +3552,8 @@ static int ohci1394_pci_resume (struct p

static int ohci1394_pci_suspend (struct pci_dev *pdev, pm_message_t state)
+ pci_save_state(pdev);
if (machine_is(powermac)) {
struct device_node *of_node;
@@ -3563,8 +3565,6 @@ static int ohci1394_pci_suspend (struct

- pci_save_state(pdev);
return 0;