linux/drivers/ata
Conke Hu 55a61604cd ahci.c: walkaround for SB600 SATA internal error issue
There is a HW issue in ATI SB600 SATA that PxSERR.E should not be
set on some conditions, for example, when there is no media in SATA
CD/DVD drive or media is not ready, AHCI controller fails to execute
ATAPI commands and reports PORT_IRQ_TF_ERR, but ATI SB600 SATA
controller sets PxSERR.E at the
same time, which is not necessary.
    This patch is just to ignore the INTERNAL ERROR in such case.
Without this patch, ahci error handler will report many errors as
below:
    ----------- cut from dmesg -----------
ata9: soft resetting port
ata9: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata9.00: configured for UDMA/33
ata9: EH complete
ata9.00: exception Emask 0x40 SAct 0x0 SErr 0x800 action 0x2
ata9.00: (irq_stat 0x40000001)
ata9.00: cmd a0/00:00:00:00:20/00:00:00:00:00/a0 tag 0 cdb 0x0 data 0
        res 51/24:03:00:00:20/00:00:00:00:00/a0 Emask 0x40 (internal error)
ata9: soft resetting port
ata9: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata9.00: configured for UDMA/33
ata9: EH complete
ata9.00: exception Emask 0x40 SAct 0x0 SErr 0x800 action 0x2
ata9.00: (irq_stat 0x40000001)
ata9.00: cmd a0/01:00:00:00:00/00:00:00:00:00/a0 tag 0 cdb 0x43 data 12 in
        res 51/24:03:00:00:00/00:00:00:00:00/a0 Emask 0x40 (internal error)
    -------- end cut ---------

Signed-off-by: Conke Hu <conke.hu@amd.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-03-28 02:04:27 -04:00
..
Kconfig drivers/ata/Kconfig: PATA_SCC depends on wrong platform 2007-03-19 11:56:59 -04:00
Makefile libata: PATA driver for Celleb 2007-02-21 04:58:16 -05:00
ahci.c ahci.c: walkaround for SB600 SATA internal error issue 2007-03-28 02:04:27 -04:00
ata_generic.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
ata_piix.c ata_piix: Remove ugly layering violation 2007-03-09 08:41:15 -05:00
libata-acpi.c [libata] Disable ACPI by default; fix namespace problems 2007-03-28 01:57:37 -04:00
libata-core.c [libata] Disable ACPI by default; fix namespace problems 2007-03-28 01:57:37 -04:00
libata-eh.c libata: don't whine if ->prereset() returns -ENOENT 2007-03-19 11:55:43 -04:00
libata-scsi.c libata: add CONFIG_PM to libata core layer 2007-03-02 18:30:35 -05:00
libata-sff.c [libata] Trim trailing whitespace. 2007-02-26 05:51:33 -05:00
libata.h [libata] Disable ACPI by default; fix namespace problems 2007-03-28 01:57:37 -04:00
pata_ali.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_amd.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_artop.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_atiixp.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_cmd64x.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_cs5520.c [PATCH] trivial ATA iomem annotations 2007-03-14 15:27:50 -07:00
pata_cs5530.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_cs5535.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_cypress.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_efar.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_hpt3x2n.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_hpt3x3.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_hpt37x.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_hpt366.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_isapnp.c libata: clear drvdata in ata_host_release(), take#2 2007-03-01 20:16:28 -05:00
pata_it821x.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_it8213.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_ixp4xx_cf.c pata_ixp4xx_cf: fix interrupt 2007-03-19 11:58:01 -04:00
pata_jmicron.c [libata] pata_jmicron: build fix 2007-03-03 10:36:19 -05:00
pata_legacy.c pata_legacy: fix io/irq mismatch 2007-03-06 04:04:30 -05:00
pata_marvell.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_mpc52xx.c [PATCH] misc NULL noise 2007-03-14 15:27:49 -07:00
pata_mpiix.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_netcell.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_ns87410.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_oldpiix.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_opti.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_optidma.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_pcmcia.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_pdc202xx_old.c pata_pdc202xx_old: fix data corruption and other problems 2007-03-06 04:04:30 -05:00
pata_pdc2027x.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_platform.c libata: clear drvdata in ata_host_release(), take#2 2007-03-01 20:16:28 -05:00
pata_qdi.c pata_qdi: Fix initialisation 2007-03-02 18:18:38 -05:00
pata_radisys.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_rz1000.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_sc1200.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_scc.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_serverworks.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_sil680.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_sis.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_sl82c105.c [libata] pata_{legacy,sc1200,sl82c105}: add missing hooks 2007-03-02 18:09:05 -05:00
pata_triflex.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_via.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_winbond.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pdc_adma.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_inic162x.c sata_inic162x: kill double region requests 2007-03-19 11:56:59 -04:00
sata_mv.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_nv.c sata_nv: revert use of notifiers for now 2007-03-09 08:41:16 -05:00
sata_promise.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_promise.h Move libata to drivers/ata. 2006-08-10 07:31:37 -04:00
sata_qstor.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_sil.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
sata_sil24.c sata_sil24: Add Adaptec 1220SA PCI ID 2007-03-19 11:56:59 -04:00
sata_sis.c [PATCH] trivial ATA iomem annotations 2007-03-14 15:27:50 -07:00
sata_svw.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_sx4.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_uli.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_via.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_vsc.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sis.h SiS warning fixes 2007-02-21 04:58:17 -05:00