Please do a bk pull bk://gkernel.bkbits.net/libata-2.6 This will update the following files: drivers/scsi/Kconfig | 8 drivers/scsi/Makefile | 1 drivers/scsi/ahci.c | 18 + drivers/scsi/ata_piix.c | 4 drivers/scsi/libata-core.c | 115 ++++++- drivers/scsi/libata-scsi.c | 1 drivers/scsi/libata.h | 1 drivers/scsi/sata_nv.c | 10 drivers/scsi/sata_promise.c | 8 drivers/scsi/sata_qstor.c | 700 ++++++++++++++++++++++++++++++++++++++++++++ drivers/scsi/sata_sil.c | 10 drivers/scsi/sata_sis.c | 10 drivers/scsi/sata_svw.c | 10 drivers/scsi/sata_sx4.c | 8 drivers/scsi/sata_uli.c | 10 drivers/scsi/sata_via.c | 213 +++++++++---- drivers/scsi/sata_vsc.c | 10 include/linux/libata.h | 64 ---- 18 files changed, 1058 insertions(+), 143 deletions(-) through these ChangeSets: (05/02/23 1.2043) [libata] Add missing hooks, to avoid oops in advanced SATA drivers Advanced SATA drivers should not (and cannot) use the basic PCI IDE hooks for checking the Status and Error registers, as these registers are either in non-standard locations, or simply don't exist. In the error handling path, libata was unconditionally calling some PCI IDE hardware bitbanging functions, which would cause an oops in the AHCI driver and any other advanced libata driver. (05/02/18 1.2040) [PATCH] libata: fix command queue leak when xlat_func fails ata_scsi_translate allocates from the libata command queue by calling ata_scsi_qc_new. If xlat_func returns non-zero, control jumps to err_out which fails to free the allocated command. Fix is to add a new API to free unused commands. Signed-off-by: John W. Linville Signed-off-by: Jeff Garzik (05/02/17 1.2035.16.1) [libata] add ->bmdma_{stop,status} hooks The timeout/error handling path was assuming that the hardware in question was PCI IDE BMDMA-like, which is incorrect in a few cases. Turn direct function calls into two new hooks. (05/02/17 1.2038) [PATCH] sata_qstor: new basic driver for Pacific Digital This is a new basic libata SATA driver for the Pacific Digital QStor SATA/RAID card. It features ordinary per-drive SATA with single-request DMA for R/W commands, and PIO for everything else. It currently does not implement any of the hardware RAID support, nor hot-plug, nor the tagged/native command-queuing features. On the other hand, it is small and simple as a result. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik (05/02/13 1.2037) [libata] do not call pci_disable_device() for certain errors If PCI request regions fails, then someone else is using the hardware we wish to use. For that one case, calling pci_disable_device() is rather rude. (04/11/16 1.1938.367.2) [libata sata_via] add support for VT6421 SATA (04/11/16 1.1938.367.1) [libata sata_via] minor cleanups Preparation for addition of VT6421 support. Mostly moving bits of code into discrete functions.