linux/drivers/ata
Tejun Heo 07c53dac49 ahci: don't enter slumber on power down
Some ATA/ATAPI devices act weirdly after the link is put into slumber
mode.  Some hang completely requiring physical power removal while
others fail to wake up till the link is hardreset a couple of times.

The addition of slumber on power down was never driven by real need.
It just followed what ahci spec said literally.  The spec itself seems
faulty in that it doesn't consider devices (not controllers) which
don't support link powersaving mode.

Theory never matches reality when it comes to dark allys of cheap
ATA/ATAPI world.  It's just unrealistic to expect vendors to test
rarely used link powersaving feature rigorously.  This patch makes
ahci more friendly to the coldness of reality.

This shouldn't have any negative effect - when suspend operation
succeeds, we power off the whole machine; otherwise, we wake up
everything.  I can't see any reason to be so elaborate with powering
down the link in the first place.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-01-24 02:03:45 -05:00
..
Kconfig [PATCH] pata_optidma: typo in Kconfig 2007-01-05 23:55:28 -08:00
Makefile
ahci.c ahci: don't enter slumber on power down 2007-01-24 02:03:45 -05:00
ata_generic.c
ata_piix.c [PATCH] ata_piix: use piix_host_stop() in ich_pata_ops 2006-12-16 10:12:29 -05:00
libata-core.c [PATCH] libata: don't initialize sg in ata_exec_internal() if DMA_NONE (take #2) 2006-12-16 10:13:22 -05:00
libata-eh.c libata: fix handling of port actions in per-dev action mask 2007-01-19 19:22:45 -05:00
libata-scsi.c [PATCH] libata: take scmd->cmd_len into account when translating SCSI commands 2006-12-20 14:26:26 -05:00
libata-sff.c [PATCH] libata: fix combined mode 2007-01-02 08:20:51 -08:00
libata.h
pata_ali.c
pata_amd.c
pata_artop.c
pata_atiixp.c
pata_cmd64x.c
pata_cs5520.c
pata_cs5530.c [libata] pata_cs5530: suspend/resume support tweak 2006-12-20 13:03:11 -05:00
pata_cs5535.c
pata_cypress.c
pata_efar.c
pata_hpt3x2n.c
pata_hpt3x3.c
pata_hpt37x.c [PATCH] hpt37x: Two important bug fixes 2007-01-05 23:55:29 -08:00
pata_hpt366.c
pata_isapnp.c
pata_it821x.c
pata_ixp4xx_cf.c
pata_jmicron.c
pata_legacy.c [PATCH] ata: fix platform_device_register_simple() error check 2006-12-16 10:45:28 -05:00
pata_marvell.c
pata_mpiix.c
pata_netcell.c
pata_ns87410.c
pata_oldpiix.c
pata_opti.c
pata_optidma.c
pata_pcmcia.c
pata_pdc202xx_old.c
pata_pdc2027x.c
pata_platform.c
pata_qdi.c [PATCH] ata: fix platform_device_register_simple() error check 2006-12-16 10:45:28 -05:00
pata_radisys.c
pata_rz1000.c [PATCH] initializer entry defined twice in pata_rz1000 2006-12-16 10:45:28 -05:00
pata_sc1200.c
pata_serverworks.c
pata_sil680.c
pata_sis.c
pata_sl82c105.c
pata_triflex.c
pata_via.c [libata] pata_via: suspend/resume support fix 2006-12-20 13:09:10 -05:00
pata_winbond.c [PATCH] ata: fix platform_device_register_simple() error check 2006-12-16 10:45:28 -05:00
pdc_adma.c [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() 2006-12-13 09:05:52 -08:00
sata_mv.c sata_mv HighPoint 2310 support (88SX7042) 2007-01-19 19:24:36 -05:00
sata_nv.c sata_nv: don't rely on NV_INT_DEV indication with ADMA 2007-01-24 02:01:49 -05:00
sata_promise.c [PATCH] sata_promise: new EH conversion, take 2 2006-12-07 07:25:01 -05:00
sata_promise.h
sata_qstor.c
sata_sil.c
sata_sil24.c
sata_sis.c
sata_svw.c [libata] sata_svw, sata_vsc: kill iomem warnings 2006-12-20 14:37:04 -05:00
sata_sx4.c
sata_uli.c
sata_via.c sata_via: add PCI ID 0x5337 2007-01-19 19:18:49 -05:00
sata_vsc.c [libata] sata_svw, sata_vsc: kill iomem warnings 2006-12-20 14:37:04 -05:00