kernel_optimize_test/drivers/ata
Tejun Heo c2e14f1112 sata_sil24: freeze on non-dev errors reported via CERR
CERR reports errors detected during executing a command.  This doesn't
mean the error is tied to the command and can be recovered by just
issuing it again.  Many of the errors are fatal port-wide connditions
including HSM violation, host bus error and ATA bus error and require
freezing and port reset.

The freezing part wasn't implemented previously.  This used to be okay
because port resets were scheduled anyway and EH eventually resets and
recovers the port.  With PMP support added, this is no longer true.
The error condition and recover actions are attributed to the fan-out
port and the host port condition isn't properly recovered leading to
EH failures.

This patch makes CERR errors which require resets to freeze the port.
This will force host port reset and proper recovery.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Andrew Ryder <tireman@shaw.ca>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2008-01-14 21:11:02 -05:00
..
ahci.c libata: kill spurious NCQ completion detection 2007-12-07 15:27:54 -05:00
ata_generic.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
ata_piix.c ata_piix: ignore ATA_DMA_ERR on vmware ich4 2008-01-14 21:11:01 -05:00
Kconfig Update libata driver for bf548 atapi controller against the 2.6.24 tree. 2007-10-17 20:49:02 -04:00
libata-acpi.c libata-acpi: implement _GTF command filtering 2007-12-17 20:33:15 -05:00
libata-core.c libata: fix ATAPI draining 2007-12-17 20:43:28 -05:00
libata-eh.c libata: don't normalize UNKNOWN to NONE after reset 2008-01-10 16:53:22 -05:00
libata-pmp.c libata-pmp: 4726 hates SRST 2008-01-10 16:53:12 -05:00
libata-scsi.c libata and starting/stopping ATAPI floppy devices 2008-01-10 17:13:19 -05:00
libata-sff.c libata-sff: PCI IRQ handling fix 2008-01-10 16:52:51 -05:00
libata.h libata-acpi: add new hooks ata_acpi_dissociate() and ata_acpi_on_disable() 2007-12-17 20:33:12 -05:00
Makefile drivers/ata: add support to Freescale 3.0Gbps SATA Controller 2007-10-17 20:49:02 -04:00
pata_acpi.c [libata] fix 'if(' and similar areas that lack whitespace 2007-10-29 06:15:27 -04:00
pata_ali.c pata_ali: trim trailing whitespace (fix checkpatch complaints) 2007-11-23 21:08:42 -05:00
pata_amd.c pata_amd/pata_via: de-couple programming of PIO/MWDMA and UDMA timings 2007-12-04 14:11:36 -05:00
pata_artop.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_at32.c Several fixes for the AVR32 PATA driver 2007-12-01 17:35:58 -05:00
pata_atiixp.c pata_atiixp: Audit notes on locking 2007-10-12 14:55:42 -04:00
pata_bf54x.c Set proper ATA UDMA mode for bf548 according to system clock. 2007-12-01 17:35:58 -05:00
pata_cmd64x.c pata_cmd64x.c typo fix 2007-10-20 01:02:48 +02:00
pata_cmd640.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_cs5520.c [libata] struct pci_dev related cleanups 2007-10-12 14:55:47 -04:00
pata_cs5530.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_cs5535.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_cs5536.c pata_cs5536: MWDMA fix 2007-10-19 22:55:03 -04:00
pata_cypress.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_efar.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_hpt3x2n.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_hpt3x3.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_hpt37x.c pata_hpt37x: Fix HPT374 detection 2007-12-19 14:29:01 -08:00
pata_hpt366.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_icside.c Fix pata_icside build for recent libata API changes 2007-10-25 02:05:26 -04:00
pata_isapnp.c pata_isapnp: Polled devices 2007-11-23 19:33:27 -05:00
pata_it821x.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_it8213.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_ixp4xx_cf.c pata_ixp4xx_cf: fix compilation introduced by ata_port_desc() conversion 2008-01-10 16:53:10 -05:00
pata_jmicron.c pata_jmicron: fix disabled port handling in jmicron_pre_reset() 2007-11-23 19:23:55 -05:00
pata_legacy.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_marvell.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_mpc52xx.c mpc52xx-ata: fix compile warning (unused variable) 2007-10-14 08:57:30 -07:00
pata_mpiix.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_netcell.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_ns87410.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_ns87415.c pata_ns87415: define SUPERIO_IDE_MAX_RETRIES 2007-10-29 06:21:33 -04:00
pata_oldpiix.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_opti.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_optidma.c [libata] fix 'if(' and similar areas that lack whitespace 2007-10-29 06:15:27 -04:00
pata_pcmcia.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
pata_pdc202xx_old.c pata_pdc202xx_old: Further fixups 2008-01-10 16:52:53 -05:00
pata_pdc2027x.c [libata] fix 'if(' and similar areas that lack whitespace 2007-10-29 06:15:27 -04:00
pata_platform.c libata: pata_platform: Support polling-mode configuration. 2007-11-08 13:08:41 -05:00
pata_qdi.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_radisys.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_rz1000.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_sc1200.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_scc.c libata: implement ata_wait_after_reset() 2007-10-29 06:15:27 -04:00
pata_serverworks.c pata_serverworks: Fix problem with some drive combinations 2007-11-05 18:08:46 -05:00
pata_sil680.c pata_sil680: kill bogus reset code (take 2) 2007-11-23 19:23:55 -05:00
pata_sis.c pata_sis.c: Add Packard Bell EasyNote K5305 to laptops 2007-11-19 12:28:11 +09:00
pata_sl82c105.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_triflex.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_via.c pata_amd/pata_via: de-couple programming of PIO/MWDMA and UDMA timings 2007-12-04 14:11:36 -05:00
pata_winbond.c [libata] fix 'if(' and similar areas that lack whitespace 2007-10-29 06:15:27 -04:00
pdc_adma.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_fsl.c ata/sata_fsl: Remove ata_scsi_suspend/resume callbacks 2007-11-03 08:46:29 -04:00
sata_inic162x.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_mv.c sata_mv: improve warnings about Highpoint RocketRAID 23xx cards 2007-12-17 20:33:12 -05:00
sata_nv.c sata_nv: don't use legacy DMA in ADMA mode (v3) 2007-12-04 14:01:18 -05:00
sata_promise.c sata_promise: fix endianess bug in ASIC PRD bug workaround 2007-11-03 08:46:54 -04:00
sata_promise.h Move libata to drivers/ata. 2006-08-10 07:31:37 -04:00
sata_qstor.c sata_qstor: use hardreset instead of softreset 2008-01-10 16:52:41 -05:00
sata_sil24.c sata_sil24: freeze on non-dev errors reported via CERR 2008-01-14 21:11:02 -05:00
sata_sil.c libata: clear link->eh_info.serror from ata_std_postreset() 2007-12-17 20:33:11 -05:00
sata_sis.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_svw.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_sx4.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_uli.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_via.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_vsc.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sis.h libata: PATA-mode fixes for sis_sata 2007-07-02 10:17:42 -04:00