linux/drivers/ata
Tejun Heo 56c819df77 libata: update ATAPI overflow draining
For misc ATAPI commands which transfer variable length data to the
host, overflow can occur due to application or hardware bug.  Such
overflows can be ignored safely as long as overflow data is properly
drained.  libata HSM implementation has this implemented in
__atapi_pio_bytes() and recently updated for 2.6.24-rc but it requires
further improvements.  Improve drain logic such that...

* Report overflow errors using ehi desc mechanism instead of printing
  directly.

* Properly calculate the number of bytes to be drained considering
  actual number of consumed bytes for partial draining.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Acked-by: Albert Lee <albertcc@tw.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-02-19 11:35:37 +01:00
..
Kconfig sata_mv: Remove PCI dependency 2008-02-01 12:26:37 -05:00
Makefile Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
ahci.c ahci: fix CAP.NP and PI handling 2008-02-06 06:59:27 -05:00
ata_generic.c ata_generic: Cenatek support 2008-01-23 05:24:17 -05:00
ata_piix.c ata: fix sparse warning in ata_piix.c 2008-02-15 13:50:58 -05:00
libata-acpi.c libata: reimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask() 2008-01-23 05:24:12 -05:00
libata-core.c libata: update ATAPI overflow draining 2008-02-19 11:35:37 +01:00
libata-eh.c libata: fix off-by-one in error categorization 2008-01-23 05:24:17 -05:00
libata-pmp.c libata-pmp: 4726 hates SRST 2008-01-10 16:53:12 -05:00
libata-scsi.c ata: make ata_scsiop_inq_89 static in libata-scsi.c 2008-02-15 13:50:53 -05:00
libata-sff.c libata: factor out ata_pci_activate_sff_host() from ata_pci_one() 2008-01-23 05:24:16 -05:00
libata.h libata: move ata_set_mode() to libata-eh.c 2008-01-23 05:24:10 -05:00
pata_acpi.c ata: fix sparse warning in pata_acpi.c 2008-02-15 13:51:33 -05:00
pata_ali.c libata: checkpatch fixes 2008-01-23 05:24:10 -05:00
pata_amd.c ata: sparse fixes for pata_amd.c 2008-02-15 13:51:24 -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 drivers/ata/: Spelling fixes 2008-02-03 17:08:11 +02:00
pata_atiixp.c pata_atiixp: Audit notes on locking 2007-10-12 14:55:42 -04:00
pata_bf54x.c Blackfin pata-bf54x driver: fix compiling bug - no ata_port struct in struct ata_device any more 2008-02-01 12:26:43 -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 PCI: Remove users of pci_enable_device_bars() 2008-02-01 15:04:27 -08: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 ata: fix sparse warning in pata_cs5536.c 2008-02-15 13:51:27 -05: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 drivers/ata/: Spelling fixes 2008-02-03 17:08:11 +02: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: checkpatch fixes 2008-01-23 05:24:13 -05: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 libata: convert to chained sg 2008-01-23 05:24:14 -05:00
pata_isapnp.c pata_isapnp: Polled devices 2007-11-23 19:33:27 -05:00
pata_it821x.c libata/pata_it821x: Improve handling of poorly compatible emulations 2008-01-23 05:24:15 -05:00
pata_it8213.c drivers/ata/: Spelling fixes 2008-02-03 17:08:11 +02:00
pata_ixp4xx_cf.c libata: update ->data_xfer hook for ATAPI 2008-01-23 05:24:14 -05:00
pata_jmicron.c ata: fix sparse warning in pata_jmicron.c 2008-02-15 13:51:29 -05:00
pata_legacy.c pata_legacy: don't call ata_host_detach() after initialization failure 2008-02-15 13:51:12 -05:00
pata_marvell.c ata: fix sparse warning in pata_marvell.c 2008-02-15 13:51:30 -05:00
pata_mpc52xx.c Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11: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_ninja32.c pata_ninja32: setup changes 2008-02-11 14:30:07 -05: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_of_platform.c Rename: linux/pata_platform.h to linux/ata_platform.h 2008-02-06 06:54:17 -05: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 pata_pcmcia: convert to new data_xfer prototype 2008-01-23 05:24:15 -05:00
pata_pdc202xx_old.c libata: rename ATA_PROT_ATAPI_* to ATAPI_PROT_* 2008-01-23 05:24:14 -05:00
pata_pdc2027x.c libata annotations and fixes 2008-01-23 05:24:15 -05:00
pata_platform.c Rename: linux/pata_platform.h to linux/ata_platform.h 2008-02-06 06:54:17 -05:00
pata_qdi.c libata: update ->data_xfer hook for ATAPI 2008-01-23 05:24:14 -05: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 pata_scc.c: add thaw ops 2008-02-15 13:51:22 -05:00
pata_serverworks.c pata_serverworks: Fix cable types and cosmetics 2008-01-23 05:24:17 -05:00
pata_sil680.c pata_sil680: kill bogus reset code (take 2) 2007-11-23 19:23:55 -05:00
pata_sis.c drivers/ata/: Spelling fixes 2008-02-03 17:08:11 +02:00
pata_sl82c105.c pata_sl82c105: dual channel support 2008-02-01 12:26:40 -05: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_via: fix SATA cable detection on cx700 2008-02-11 14:29:42 -05:00
pata_winbond.c pata_winbond: error return 2008-01-23 05:24:17 -05:00
pdc_adma.c libata: convert to chained sg 2008-01-23 05:24:14 -05:00
sata_fsl.c libata: kill now unused n_iter and fix sata_fsl 2008-02-06 06:59:32 -05:00
sata_inic162x.c iommu sg merging: sata_inic162x: use pci_set_dma_max_seg_size 2008-02-05 09:44:11 -08:00
sata_mv.c ata: fix sparse warnings in sata_mv.c 2008-02-15 13:51:03 -05:00
sata_nv.c sata_nv: fix ATAPI issues with memory over 4GB (v7) 2008-02-06 07:00:27 -05:00
sata_promise.c ata: fix sparse warning in sata_promise.c 2008-02-15 13:50:59 -05:00
sata_promise.h libata annotations and fixes 2008-01-23 05:24:15 -05:00
sata_qstor.c libata: convert to chained sg 2008-01-23 05:24:14 -05:00
sata_sil.c libata: implement protocol tests 2008-01-23 05:24:10 -05:00
sata_sil24.c libata: convert to chained sg 2008-01-23 05:24:14 -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 annotations and fixes 2008-01-23 05:24:15 -05:00
sata_uli.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_via.c ata: fix sparse warning in sata_via.c 2008-02-15 13:51:01 -05: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