linux/drivers/ata
Bart Hartgers a55ab496ea sata_via: Delay on vt6420 when starting ATAPI DMA write
When writing a disc on certain lite-on dvd-writers (also rebadged
as optiarc/LG/...) connected to a vt6420, the ATAPI CDB ends
up in the datastream and on the disc, causing silent corruption.
Delaying between sending the CDB and starting DMA seems to
prevent this.

I do not know if there are burners that do not suffer from
this, but the patch should be safe for those as well.

There are many reports of this issue, but AFAICT no solution was
found before. For example:
http://lkml.indiana.edu/hypermail/linux/kernel/0802.3/0561.html

Signed-off-by: Bart Hartgers <bart.hartgers@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-03-01 15:19:21 -05:00
..
ahci.c libata: make functions/variables static 2010-03-01 14:58:44 -05:00
ata_generic.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
ata_piix.c libata: implement spurious irq handling for SFF and apply it to piix 2010-03-01 14:58:44 -05:00
Kconfig libata: Allow pata_legacy to be built on non-ISA but PCI systems 2010-03-01 14:58:46 -05:00
libata-acpi.c libata-acpi: missing _SDD is not an error 2009-12-03 02:46:33 -05:00
libata-core.c libata: fix CFA handling in ide_timing_compute() 2010-03-01 14:58:44 -05:00
libata-eh.c libata: retry FS IOs even if it has failed with AC_ERR_INVALID 2010-01-20 14:25:11 -05:00
libata-pmp.c libata: add SATA PMP revision information for spec 1.2 2009-09-08 21:21:14 -04:00
libata-scsi.c block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors 2010-02-26 13:58:08 +01:00
libata-sff.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
libata.h libata: make gtf_filter per-dev 2009-10-06 00:26:27 -04:00
Makefile Merge commit 'origin/master' into next 2009-12-09 17:14:38 +11:00
pata_acpi.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_ali.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_amd.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_artop.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_at32.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_at91.c [libata] pata_at91: fix backslash-continued string 2010-03-01 14:58:46 -05:00
pata_atiixp.c pata_atiixp: enable parallel scan 2010-03-01 15:07:01 -05:00
pata_atp867x.c pata_atp867x: add Power Management support 2009-10-06 20:58:23 -04:00
pata_bf54x.c pata_bf54x: handle portmuxing of pins through GPIO PORTs 2009-12-21 13:55:38 -05:00
pata_cmd64x.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_cmd640.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_cs5520.c pata_cs5520: remove dead VDMA support 2009-12-03 15:52:51 -05:00
pata_cs5530.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_cs5535.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_cs5536.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_cypress.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_efar.c pata_efar: Enable parallel scanning 2010-03-01 15:07:21 -05:00
pata_hpt3x2n.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_hpt3x3.c pata_hpt3x3: Power Management fix 2009-12-03 15:58:53 -05:00
pata_hpt37x.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_hpt366.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_icside.c Merge branch 'origin' into devel 2009-03-28 20:29:51 +00:00
pata_isapnp.c [libata] Improve timeout handling 2009-03-24 22:52:39 -04:00
pata_it821x.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_it8213.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_ixp4xx_cf.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
pata_jmicron.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_legacy.c pata_legacy: add pointers to QDI65x0 documentation 2009-12-03 16:06:47 -05:00
pata_macio.c libata/drivers: Add driver for Apple "MacIO" IDE controller 2009-12-09 17:09:28 +11:00
pata_marvell.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_mpc52xx.c powerpc/5xxx: Add common mpc5xxx_get_bus_frequency() function 2009-06-17 00:30:22 -06:00
pata_mpiix.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_netcell.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_ninja32.c ata: Report 16/32bit PIO as best we can 2009-04-16 15:28:23 -04:00
pata_ns87410.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_ns87415.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_octeon_cf.c pata_octeon_cf: use resource_size(), to fix resource sizing bug 2009-12-17 01:02:50 -05:00
pata_of_platform.c powerpc: Fix no interrupt handling in pata_of_platform 2008-10-10 15:55:17 +11:00
pata_oldpiix.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_opti.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_optidma.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_palmld.c [ARM] 5522/1: PalmLD: IDE support 2009-05-31 14:50:40 +01:00
pata_pcmcia.c libata: make functions/variables static 2010-03-01 14:58:44 -05:00
pata_pdc202xx_old.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_pdc2027x.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_piccolo.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_platform.c drivers/ata: use resource_size 2009-09-11 02:25:58 -04:00
pata_qdi.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_radisys.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_rb532_cf.c drivers/ata: use resource_size 2009-09-11 02:25:58 -04:00
pata_rdc.c [libata] MWDMA0 is unsupported on PIIX-like PATA controllers 2009-12-03 17:52:16 -05:00
pata_rz1000.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_sc1200.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_scc.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_sch.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_serverworks.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_sil680.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_sis.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_sl82c105.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_triflex.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_via.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_winbond.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pdc_adma.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sata_fsl.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
sata_inic162x.c drivers/ata: Remove unnecessary semicolons 2009-09-01 19:47:20 -04:00
sata_mv.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2009-12-19 11:04:29 -08:00
sata_nv.c block: Consolidate phys_segment and hw_segment limits 2010-02-26 13:58:08 +01:00
sata_promise.c sata_promise: don't classify overruns as HSM errors 2010-01-12 14:33:07 -05:00
sata_promise.h libata annotations and fixes 2008-01-23 05:24:15 -05:00
sata_qstor.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sata_sil24.c sata_sil24: MSI support, disabled by default 2009-12-03 02:46:34 -05:00
sata_sil.c [libata] sata_sil: disable DMA engine in sil_freeze() 2009-09-01 19:47:19 -04:00
sata_sis.c sata_sis: convert to slave_link 2009-09-08 21:17:36 -04:00
sata_svw.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
sata_sx4.c sata_sx4: speed up ECC initialization 2009-06-10 07:50:17 -04:00
sata_uli.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
sata_via.c sata_via: Delay on vt6420 when starting ATAPI DMA write 2010-03-01 15:19:21 -05:00
sata_vsc.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sis.h libata: PATA-mode fixes for sis_sata 2007-07-02 10:17:42 -04:00