linux-stable/drivers/ata
Tejun Heo d127ea7b86 libata: restore SControl on detach
Save SControl during probing and restore it on detach.  This prevents
adjustments made by libata drivers to seep into the next driver which
gets attached (be it a libata one or not).

It's not clear whether SControl also needs to be restored on suspend.
The next system to have control (ACPI or kexec'd kernel) would
probably like to see the original SControl value but there's no
guarantee that a link is gonna keep working after SControl is adjusted
without a reset and adding a reset and modified recovery cycle soley
for this is an overkill.  For now, do it only for detach.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-08-22 02:19:46 -04:00
..
ahci.c ahci: RAID mode SATA patch for Intel Ibex Peak DeviceIDs 2008-08-22 02:07:56 -04:00
ata_generic.c pata_atiixp: Don't disable 2008-05-06 11:43:44 -04:00
ata_piix.c ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs 2008-08-22 02:08:04 -04:00
Kconfig LIBATA: Add HAVE_PATA_PLATFORM to select PATA_PLATFORM driver 2008-06-18 20:28:00 -04:00
libata-acpi.c libata-acpi: don't call sleeping function from invalid context 2008-07-11 09:42:03 -04:00
libata-core.c libata: restore SControl on detach 2008-08-22 02:19:46 -04:00
libata-eh.c libata: use ata_link_printk() when printing SError 2008-08-22 02:19:44 -04:00
libata-pmp.c libata: improve EH retry delay handling 2008-07-14 15:59:32 -04:00
libata-scsi.c libata: update atapi disable handling 2008-07-31 01:47:05 -04:00
libata-sff.c libata: consistently use msecs for time durations 2008-07-14 15:59:32 -04:00
libata.h libata: update atapi disable handling 2008-07-31 01:47:05 -04:00
Makefile libata: Add Intel SCH PATA driver 2008-05-06 11:33:58 -04:00
pata_acpi.c pata_atiixp: Don't disable 2008-05-06 11:43:44 -04:00
pata_ali.c pata_ali: misplaced pci_dev_put() 2008-07-31 01:38:19 -04:00
pata_amd.c ata: remove FIT() macro 2008-05-19 17:30:32 -04:00
pata_artop.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_at32.c avr32: Use <mach/foo.h> instead of <asm/arch/foo.h> 2008-08-05 14:36:57 +02:00
pata_atiixp.c [libata] pata_atiixp: fix PIO timing data misprogramming 2008-04-29 17:39:45 -04:00
pata_bf54x.c libata: consistently use msecs for time durations 2008-07-14 15:59:32 -04:00
pata_cmd64x.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cmd640.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_cs5520.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cs5530.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cs5535.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cs5536.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cypress.c ata: remove FIT() macro 2008-05-19 17:30:32 -04:00
pata_efar.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_hpt3x2n.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_hpt3x3.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_hpt37x.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_hpt366.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_icside.c libata-sff: Fix oops reported in kerneloops.org for pnp devices with no ctl 2008-06-04 06:40:41 -04:00
pata_isapnp.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_it821x.c pata_it821x: Driver updates and reworking 2008-07-31 02:04:50 -04:00
pata_it8213.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_ixp4xx_cf.c [ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_* 2008-07-27 09:46:18 +01:00
pata_jmicron.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_legacy.c ata: endianness annotations in pata drivers 2008-07-14 15:59:33 -04:00
pata_marvell.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_mpc52xx.c powerpc/pata_mpc52xx: use linux/of_platform.h instead of asm 2008-07-12 12:10:52 -06:00
pata_mpiix.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_netcell.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_ninja32.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_ns87410.c ata: remove FIT() macro 2008-05-19 17:30:32 -04:00
pata_ns87415.c ata: remove FIT() macro 2008-05-19 17:30:32 -04:00
pata_of_platform.c Rename: linux/pata_platform.h to linux/ata_platform.h 2008-02-06 06:54:17 -05:00
pata_oldpiix.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_opti.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_optidma.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_pcmcia.c pcmcia: add another pata/ide ID 2008-06-20 20:53:34 +02:00
pata_pdc202xx_old.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_pdc2027x.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_platform.c ATA/IDE: fix platform driver hotplug/coldplug 2008-04-25 00:45:04 -04:00
pata_qdi.c ata: endianness annotations in pata drivers 2008-07-14 15:59:33 -04:00
pata_radisys.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_rb532_cf.c libata-sff: Fix oops reported in kerneloops.org for pnp devices with no ctl 2008-06-04 06:40:41 -04:00
pata_rz1000.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_sc1200.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_scc.c libata: consistently use msecs for time durations 2008-07-14 15:59:32 -04:00
pata_sch.c libata: Add Intel SCH PATA driver 2008-05-06 11:33:58 -04:00
pata_serverworks.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_sil680.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_sis.c Added Targa Visionary 1000 IDE adapter to pata_sis.c 2008-07-11 09:38:24 -04:00
pata_sl82c105.c drivers/ata: trim trailing whitespace 2008-05-19 17:56:10 -04:00
pata_triflex.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_via.c pata_via: add VX800 flag; add function for fixing h/w bugs 2008-07-31 01:39:31 -04:00
pata_winbond.c ata: endianness annotations in pata drivers 2008-07-14 15:59:33 -04:00
pdc_adma.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
sata_fsl.c [libata] sata_fsl: Fix broken driver, add port multiplier (PMP) support 2008-05-30 12:39:44 -04:00
sata_inic162x.c sata_inic162x: update intro comment, up the version and drop EXPERIMENTAL 2008-05-06 11:40:57 -04:00
sata_mv.c sata_mv: add the Gen IIE flag to the SoC devices. 2008-08-22 02:19:36 -04:00
sata_nv.c sata_nv: make hardreset return -EAGAIN on success 2008-04-25 00:45:48 -04:00
sata_promise.c sata_promise: other cleanups 2008-05-19 17:31:34 -04:00
sata_promise.h libata annotations and fixes 2008-01-23 05:24:15 -05:00
sata_qstor.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
sata_sil.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
sata_sil24.c sata_sil24: add DID for another adaptec flavor 2008-07-04 09:05:43 -04:00
sata_sis.c sata_sis: SCR accessors return -EINVAL when requested SCR isn't available 2008-04-24 23:42:47 -04:00
sata_svw.c [libata] sata_svw: update code comments relating to data corruption 2008-07-14 15:59:33 -04:00
sata_sx4.c libata: add qc_fill_rtf port operation 2008-04-17 15:44:23 -04:00
sata_uli.c sata_uli: hardreset is broken 2008-06-27 02:57:48 -04:00
sata_via.c libata: restructure SFF post-reset readiness waits 2008-04-17 15:44:22 -04:00
sata_vsc.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
sis.h libata: PATA-mode fixes for sis_sata 2007-07-02 10:17:42 -04:00