Skip to contentSkip to conversation

aic79xx -> can't suspend

DISCUSSION Lee Revell 3 participants 7 messages Jun 23, 2005 – Jun 25, 2005 SCSI

lore
Share & tools
lore

Lee Revell

author
#0 lore raw

I have a machine with an Adaptec 2940U2W adapter running 2.6.11. When I try to go into standby like so:

echo standby > /sys/power/state

this is what happens:

Stopping tasks:
===============================================================
stopping tasks failed (1 tasks remaining) Restarting tasks...<6> Strange, ahc_dv_0 not stopped done

The machine fails to suspend, and ahc_dv_0 is now wedged, consuming all available CPU until reboot.

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  SWAP WCHAN     COMMAND
735 root      39  19     0    0    0 S 99.3  0.0  53:09.97    0 text.lock [ahc_dv_0]

Lee

#1 lore raw
Quoted 6 lines · Lee Revell

I have a machine with an Adaptec 2940U2W adapter running 2.6.11. When I try to go into standby like so:

echo standby > /sys/power/state

this is what happens:

AFAIK no SCSI drivers have had power management functions implemented, a quick grep for PM_ in drivers/scsi seems to confirm that only the PCMCIA SCSI drivers even look for PM events.

Quoted 3 lines

Lee

Jim.

author
#2 lore raw
Quoted 11 lines · Jim Crilly
Quoted 6 lines · Lee Revell

I have a machine with an Adaptec 2940U2W adapter running 2.6.11. When I try to go into standby like so:

echo standby > /sys/power/state

this is what happens:

AFAIK no SCSI drivers have had power management functions implemented, a quick grep for PM_ in drivers/scsi seems to confirm that only the PCMCIA SCSI drivers even look for PM events.

Thanks, I suspected as much. I'll take a look at implementing it then, can't be too hard. It would be nice if I could suspend this machine, because I have a small apartment and it gets hot in here.

Lee

author
#3 lore raw
In reply to Jim Crilly
Quoted 11 lines · Jim Crilly
Quoted 6 lines · Lee Revell

I have a machine with an Adaptec 2940U2W adapter running 2.6.11. When I try to go into standby like so:

echo standby > /sys/power/state

this is what happens:

AFAIK no SCSI drivers have had power management functions implemented, a quick grep for PM_ in drivers/scsi seems to confirm that only the PCMCIA SCSI drivers even look for PM events.

Hmm, actually, this is still pretty bad. Shouldn't the suspend fail with "power management not implemented for device aic9xxx?" rather than crashing and burning?

Also, who is the aic9xxx maintainer? I could not find any reference to it at all in MAINTAINERS.

Finally, is there an authoritative, up to date driver developers guide for the SCSI subsystem, like the one for ALSA?

TIA,

Lee

#4 lore raw

Hi!

Quoted 7 lines
Quoted 7 lines
Quoted 6 lines

I have a machine with an Adaptec 2940U2W adapter running 2.6.11. When I try to go into standby like so:

echo standby > /sys/power/state

this is what happens:

Quoted 7 lines
Quoted 3 lines

AFAIK no SCSI drivers have had power management functions implemented, a quick grep for PM_ in drivers/scsi seems to confirm that only the PCMCIA SCSI drivers even look for PM events.

Hmm, actually, this is still pretty bad. Shouldn't the suspend fail with "power management not implemented for device aic9xxx?" rather than crashing and burning?

That check is simply not there. We don't know if device is "suspend not yet implemented" or "suspend is not needed" class... Sorry.

Pavel

Signature · 1 line
Boycott Kodak -- for their patent abuse against Java.
author
#5 lore raw
In reply to Jim Crilly
Quoted 11 lines · Jim Crilly
Quoted 6 lines · Lee Revell

I have a machine with an Adaptec 2940U2W adapter running 2.6.11. When I try to go into standby like so:

echo standby > /sys/power/state

this is what happens:

AFAIK no SCSI drivers have had power management functions implemented, a quick grep for PM_ in drivers/scsi seems to confirm that only the PCMCIA SCSI drivers even look for PM events.

Actually it is implemented in the aic7xxx driver, see ahc_suspend and ahc_resume.

I tried it with 2.6.12, and I no longer have the problem with the ahc_dv thread as it no longer exists (AFAICT the functionality is handled by the SCSI midlayer now?).

Now it just immediately resumes:

[4297399.286000] PM: Preparing system for standby sleep
[4297399.609000] Stopping tasks: ================================|
[4297399.610000] Restarting tasks... done

How can I debug this further?

Lee

#6 lore raw
Quoted 20 lines · Jim Crilly
Quoted 11 lines · Lee Revell
Quoted 6 lines

I have a machine with an Adaptec 2940U2W adapter running 2.6.11. When I try to go into standby like so:

echo standby > /sys/power/state

this is what happens:

AFAIK no SCSI drivers have had power management functions implemented, a quick grep for PM_ in drivers/scsi seems to confirm that only the PCMCIA SCSI drivers even look for PM events.

Actually it is implemented in the aic7xxx driver, see ahc_suspend and ahc_resume.

I tried it with 2.6.12, and I no longer have the problem with the ahc_dv thread as it no longer exists (AFAICT the functionality is handled by the SCSI midlayer now?).

Quoted 7 lines

Now it just immediately resumes:

[4297399.286000] PM: Preparing system for standby sleep
[4297399.609000] Stopping tasks: ================================|
[4297399.610000] Restarting tasks... done

How can I debug this further?

Enable debugging in drivers/base/power/*...

Pavel

Signature · 1 line
Boycott Kodak -- for their patent abuse against Java.