linux/drivers/ata
Tejun Heo 11fc33da8d libata-eh: clear UNIT ATTENTION after reset
Resets make ATAPI devices raise UNIT ATTENTION which fails the next
command.  As resets can happen asynchronously for unrelated reasons,
this sometimes disrupts innocent users.  For example, reading DVD
fails after the system wakes up from suspend or the other device
sharing the channel went through bus error.

Clearing UA has some problems as it might clear UA which the userland
needs to know about.  However, UA after resets can only be about the
reset itself and benefits of clearing it overweights cons.  Missing UA
can only delay failure to one of the following commands anyway.  For
example, timeout while burning is in progress will trigger reset and
reset the device state and probably corrupt the burning run.  Although
the userland application won't get the UA, its pending writes will
fail.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-09-29 00:29:06 -04:00
..
ahci.c libata: Implement disk shock protection support 2008-09-29 00:27:54 -04:00
ata_generic.c
ata_piix.c ata_piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list 2008-09-29 00:28:40 -04:00
Kconfig PATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver 2008-09-29 00:25:43 -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: Implement disk shock protection support 2008-09-29 00:27:54 -04:00
libata-eh.c libata-eh: clear UNIT ATTENTION after reset 2008-09-29 00:29:06 -04:00
libata-pmp.c libata: improve EH retry delay handling 2008-07-14 15:59:32 -04:00
libata-scsi.c libata: Implement disk shock protection support 2008-09-29 00:27:54 -04:00
libata-sff.c libata-sff: kill spurious WARN_ON() in ata_hsm_move() 2008-09-08 12:15:38 -04:00
libata.h libata: implement slave_link 2008-09-29 00:25:28 -04:00
Makefile
pata_acpi.c libata: Fix a large collection of DMA mode mismatches 2008-08-22 02:27:49 -04:00
pata_ali.c pata_ali: misplaced pci_dev_put() 2008-07-31 01:38:19 -04:00
pata_amd.c
pata_artop.c
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: Fix a large collection of DMA mode mismatches 2008-08-22 02:27:49 -04:00
pata_bf54x.c [libata] pata_bf54x: Add proper PM operation 2008-09-29 00:28:29 -04:00
pata_cmd64x.c
pata_cmd640.c
pata_cs5520.c
pata_cs5530.c libata: Fix a large collection of DMA mode mismatches 2008-08-22 02:27:49 -04:00
pata_cs5535.c
pata_cs5536.c
pata_cypress.c
pata_efar.c
pata_hpt3x2n.c
pata_hpt3x3.c
pata_hpt37x.c
pata_hpt366.c
pata_icside.c
pata_isapnp.c
pata_it821x.c [libata] pata_it821x: fix warning 2008-08-22 02:33:23 -04:00
pata_it8213.c
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
pata_legacy.c ata: endianness annotations in pata drivers 2008-07-14 15:59:33 -04:00
pata_marvell.c ahci, pata_marvell: play nicely together 2008-09-08 12:11:36 -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
pata_netcell.c
pata_ninja32.c
pata_ns87410.c
pata_ns87415.c
pata_of_platform.c
pata_oldpiix.c libata: Fix a large collection of DMA mode mismatches 2008-08-22 02:27:49 -04:00
pata_opti.c
pata_optidma.c
pata_pcmcia.c
pata_pdc202xx_old.c
pata_pdc2027x.c
pata_platform.c
pata_qdi.c ata: endianness annotations in pata drivers 2008-07-14 15:59:33 -04:00
pata_radisys.c
pata_rb532_cf.c
pata_rz1000.c
pata_sc1200.c libata: Fix a large collection of DMA mode mismatches 2008-08-22 02:27:49 -04:00
pata_scc.c libata: consistently use msecs for time durations 2008-07-14 15:59:32 -04:00
pata_sch.c
pata_serverworks.c
pata_sil680.c pata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC 2008-09-29 00:28:02 -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
pata_triflex.c
pata_via.c pata_via: clean up recent tf_load changes 2008-08-22 02:19:54 -04:00
pata_winbond.c ata: endianness annotations in pata drivers 2008-07-14 15:59:33 -04:00
pdc_adma.c
sata_fsl.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_inic162x.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_mv.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_nv.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_promise.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_promise.h
sata_qstor.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_sil24.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_sil.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_sis.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_svw.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_sx4.c
sata_uli.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_via.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sata_vsc.c libata: make SCR access ops per-link 2008-09-29 00:22:28 -04:00
sis.h