Hi,
I wonder whether libata can easily be made compatible with swsup or pmdisk.
Currently my tries stop with the message:
PM: Preparing system for suspend
Stopping tasks:
=================================================exiting...========
stopping tasks failed (1 tasks remaining)
Restarting tasks...<6> Strange, katad-1 not stopped
done
I think that katad belongs to libata.
Cheers,
Prakash
===== drivers/scsi/libata-core.c 1.7 vs edited =====
--- 1.7/drivers/scsi/libata-core.c Mon Nov 24 11:19:30 2003
+++ edited/drivers/scsi/libata-core.c Sun Nov 30 11:01:26 2003
@@ -2567,6 +2567,9 @@
timeout = ata_thread_iter(ap);
+ if (current->flags & PF_FREEZE)
+ refrigerator(PF_IOTHREAD);
+
if (signal_pending (current))
flush_signals(current);
Jeff Garzik wrote:
> Prakash K. Cheemplavam wrote:
>
>> Hi,
>>
>> I wonder whether libata can easily be made compatible with swsup or
>> pmdisk.
>>
>> Currently my tries stop with the message:
>>
>> PM: Preparing system for suspend
>> Stopping tasks:
>> =================================================exiting...========
>> stopping tasks failed (1 tasks remaining)
>> Restarting tasks...<6> Strange, katad-1 not stopped
>> done
>>
>>
>> I think that katad belongs to libata.
>
>
> I'm curious if this [completely untested] patch works? :)
Well, it works as it should -I guess-,ie. swsusp proceeds, but (as
expected) after all it doesn't work with scsi and swsusp gives a kernel
panic. But that is another matter. ;-)
Nevertheless I got following wanrings on compile (second one was already
there):
drivers/scsi/libata-core.c: In function `ata_thread':
drivers/scsi/libata-core.c:2571: Warnung: implicit declaration of
function `refrigerator'
drivers/scsi/libata-core.c: At top level:
drivers/scsi/libata-core.c:2141: Warnung: `ata_qc_push' defined but not used
(Furthermore the patch didn't want to apply, so I had to do it by hand.)
Thx,
Prakash
Prakash K. Cheemplavam wrote:
> Jeff Garzik wrote:
>
>> Prakash K. Cheemplavam wrote:
>>
>>> Hi,
>>>
>>> I wonder whether libata can easily be made compatible with swsup or
>>> pmdisk.
>>>
>>> Currently my tries stop with the message:
>>>
>>> PM: Preparing system for suspend
>>> Stopping tasks:
>>> =================================================exiting...========
>>> stopping tasks failed (1 tasks remaining)
>>> Restarting tasks...<6> Strange, katad-1 not stopped
>>> done
>>>
>>>
>>> I think that katad belongs to libata.
>>
>>
>>
>> I'm curious if this [completely untested] patch works? :)
>
>
> Well, it works as it should -I guess-,ie. swsusp proceeds, but (as
> expected) after all it doesn't work with scsi and swsusp gives a kernel
> panic. But that is another matter. ;-)
>
> Nevertheless I got following wanrings on compile (second one was already
> there):
>
> drivers/scsi/libata-core.c: In function `ata_thread':
> drivers/scsi/libata-core.c:2571: Warnung: implicit declaration of
> function `refrigerator'
> drivers/scsi/libata-core.c: At top level:
> drivers/scsi/libata-core.c:2141: Warnung: `ata_qc_push' defined but not
> used
>
> (Furthermore the patch didn't want to apply, so I had to do it by hand.)
Duh, I'm silly... you need #include <linux/suspend.h> at the top of that
file, too. I'm amazed swsusp proceeds at all :)
Jeff