diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-01-20 14:54:16 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-01-20 14:54:16 -0500 |
| commit | b97f880c8342fd6e49a02c9ef7507a678722b2b3 (patch) | |
| tree | 969469f6ed09c443db1f5af2b6ce15c4b792ee53 | |
| parent | d4b2d0061d76e43f614e23eae3017f43a1a7c6c1 (diff) | |
| parent | ce7514526742c0898b837d4395f515b79dfb5a12 (diff) | |
Merge branch 'for-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
Pull libata fixes from Tejun Heo:
- Bartlomiej will be co-maintaining PATA portion of libata. git
workflow will stay the same.
- sata_sil24 wasn't happy with tag ordered submission. An option to
restore the old tag allocation behavior is implemented for sil24.
- a very old race condition in PIO host state machine which can trigger
BUG fixed.
- other driver-specific changes
* 'for-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
libata: prevent HSM state change race between ISR and PIO
libata: allow sata_sil24 to opt-out of tag ordered submission
ata: pata_at91: depend on !ARCH_MULTIPLATFORM
ahci: Remove Device ID for Intel Sunrise Point PCH
ahci: Use dev_info() to inform about the lack of Device Sleep support
libata: Whitelist SSDs that are known to properly return zeroes after TRIM
sata_dwc_460ex: fix resource leak on error path
ata: add MAINTAINERS entry for libata PATA drivers
libata: clean up MAINTAINERS entries
libata: export ata_get_cmd_descript()
ahci_xgene: Fix the DMA state machine lockup for the ATA_CMD_PACKET PIO mode command.
ahci_xgene: Fix the endianess issue in APM X-Gene SoC AHCI SATA controller driver.
| -rw-r--r-- | MAINTAINERS | 75 | ||||
| -rw-r--r-- | drivers/ata/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/ata/ahci.c | 1 | ||||
| -rw-r--r-- | drivers/ata/ahci_xgene.c | 14 | ||||
| -rw-r--r-- | drivers/ata/libahci.c | 2 | ||||
| -rw-r--r-- | drivers/ata/libata-core.c | 36 | ||||
| -rw-r--r-- | drivers/ata/libata-eh.c | 1 | ||||
| -rw-r--r-- | drivers/ata/libata-scsi.c | 10 | ||||
| -rw-r--r-- | drivers/ata/libata-sff.c | 12 | ||||
| -rw-r--r-- | drivers/ata/sata_dwc_460ex.c | 26 | ||||
| -rw-r--r-- | drivers/ata/sata_sil24.c | 2 | ||||
| -rw-r--r-- | include/linux/libata.h | 2 |
12 files changed, 118 insertions, 64 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 64e13d5c1e65..93409ade65a5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -754,13 +754,6 @@ L: linux-media@vger.kernel.org | |||
| 754 | S: Maintained | 754 | S: Maintained |
| 755 | F: drivers/media/i2c/aptina-pll.* | 755 | F: drivers/media/i2c/aptina-pll.* |
| 756 | 756 | ||
| 757 | ARASAN COMPACT FLASH PATA CONTROLLER | ||
| 758 | M: Viresh Kumar <viresh.linux@gmail.com> | ||
| 759 | L: linux-ide@vger.kernel.org | ||
| 760 | S: Maintained | ||
| 761 | F: include/linux/pata_arasan_cf_data.h | ||
| 762 | F: drivers/ata/pata_arasan_cf.c | ||
| 763 | |||
| 764 | ARC FRAMEBUFFER DRIVER | 757 | ARC FRAMEBUFFER DRIVER |
| 765 | M: Jaya Kumar <jayalk@intworks.biz> | 758 | M: Jaya Kumar <jayalk@intworks.biz> |
| 766 | S: Maintained | 759 | S: Maintained |
| @@ -5704,6 +5697,49 @@ F: drivers/lguest/ | |||
| 5704 | F: include/linux/lguest*.h | 5697 | F: include/linux/lguest*.h |
| 5705 | F: tools/lguest/ | 5698 | F: tools/lguest/ |
| 5706 | 5699 | ||
| 5700 | LIBATA SUBSYSTEM (Serial and Parallel ATA drivers) | ||
| 5701 | M: Tejun Heo <tj@kernel.org> | ||
| 5702 | L: linux-ide@vger.kernel.org | ||
| 5703 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git | ||
| 5704 | S: Maintained | ||
| 5705 | F: drivers/ata/ | ||
| 5706 | F: include/linux/ata.h | ||
| 5707 | F: include/linux/libata.h | ||
| 5708 | |||
| 5709 | LIBATA PATA ARASAN COMPACT FLASH CONTROLLER | ||
| 5710 | M: Viresh Kumar <viresh.linux@gmail.com> | ||
| 5711 | L: linux-ide@vger.kernel.org | ||
| 5712 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git | ||
| 5713 | S: Maintained | ||
| 5714 | F: include/linux/pata_arasan_cf_data.h | ||
| 5715 | F: drivers/ata/pata_arasan_cf.c | ||
| 5716 | |||
| 5717 | LIBATA PATA DRIVERS | ||
| 5718 | M: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | ||
| 5719 | M: Tejun Heo <tj@kernel.org> | ||
| 5720 | L: linux-ide@vger.kernel.org | ||
| 5721 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git | ||
| 5722 | S: Maintained | ||
| 5723 | F: drivers/ata/pata_*.c | ||
| 5724 | F: drivers/ata/ata_generic.c | ||
| 5725 | |||
| 5726 | LIBATA SATA AHCI PLATFORM devices support | ||
| 5727 | M: Hans de Goede <hdegoede@redhat.com> | ||
| 5728 | M: Tejun Heo <tj@kernel.org> | ||
| 5729 | L: linux-ide@vger.kernel.org | ||
| 5730 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git | ||
| 5731 | S: Maintained | ||
| 5732 | F: drivers/ata/ahci_platform.c | ||
| 5733 | F: drivers/ata/libahci_platform.c | ||
| 5734 | F: include/linux/ahci_platform.h | ||
| 5735 | |||
| 5736 | LIBATA SATA PROMISE TX2/TX4 CONTROLLER DRIVER | ||
| 5737 | M: Mikael Pettersson <mikpelinux@gmail.com> | ||
| 5738 | L: linux-ide@vger.kernel.org | ||
| 5739 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git | ||
| 5740 | S: Maintained | ||
| 5741 | F: drivers/ata/sata_promise.* | ||
| 5742 | |||
| 5707 | LIBLOCKDEP | 5743 | LIBLOCKDEP |
| 5708 | M: Sasha Levin <sasha.levin@oracle.com> | 5744 | M: Sasha Levin <sasha.levin@oracle.com> |
| 5709 | S: Maintained | 5745 | S: Maintained |
| @@ -7578,12 +7614,6 @@ W: http://wireless.kernel.org/en/users/Drivers/p54 | |||
| 7578 | S: Obsolete | 7614 | S: Obsolete |
| 7579 | F: drivers/net/wireless/prism54/ | 7615 | F: drivers/net/wireless/prism54/ |
| 7580 | 7616 | ||
| 7581 | PROMISE SATA TX2/TX4 CONTROLLER LIBATA DRIVER | ||
| 7582 | M: Mikael Pettersson <mikpelinux@gmail.com> | ||
| 7583 | L: linux-ide@vger.kernel.org | ||
| 7584 | S: Maintained | ||
| 7585 | F: drivers/ata/sata_promise.* | ||
| 7586 | |||
| 7587 | PS3 NETWORK SUPPORT | 7617 | PS3 NETWORK SUPPORT |
| 7588 | M: Geoff Levand <geoff@infradead.org> | 7618 | M: Geoff Levand <geoff@infradead.org> |
| 7589 | L: netdev@vger.kernel.org | 7619 | L: netdev@vger.kernel.org |
| @@ -8557,25 +8587,6 @@ S: Maintained | |||
| 8557 | F: drivers/misc/phantom.c | 8587 | F: drivers/misc/phantom.c |
| 8558 | F: include/uapi/linux/phantom.h | 8588 | F: include/uapi/linux/phantom.h |
| 8559 | 8589 | ||
| 8560 | SERIAL ATA (SATA) SUBSYSTEM | ||
| 8561 | M: Tejun Heo <tj@kernel.org> | ||
| 8562 | L: linux-ide@vger.kernel.org | ||
| 8563 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git | ||
| 8564 | S: Supported | ||
| 8565 | F: drivers/ata/ | ||
| 8566 | F: include/linux/ata.h | ||
| 8567 | F: include/linux/libata.h | ||
| 8568 | |||
| 8569 | SERIAL ATA AHCI PLATFORM devices support | ||
| 8570 | M: Hans de Goede <hdegoede@redhat.com> | ||
| 8571 | M: Tejun Heo <tj@kernel.org> | ||
| 8572 | L: linux-ide@vger.kernel.org | ||
| 8573 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git | ||
| 8574 | S: Supported | ||
| 8575 | F: drivers/ata/ahci_platform.c | ||
| 8576 | F: drivers/ata/libahci_platform.c | ||
| 8577 | F: include/linux/ahci_platform.h | ||
| 8578 | |||
| 8579 | SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER | 8590 | SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER |
| 8580 | M: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> | 8591 | M: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> |
| 8581 | L: linux-scsi@vger.kernel.org | 8592 | L: linux-scsi@vger.kernel.org |
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index a3a13605a9c4..5f601553b9b0 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig | |||
| @@ -835,6 +835,7 @@ config PATA_AT32 | |||
| 835 | config PATA_AT91 | 835 | config PATA_AT91 |
| 836 | tristate "PATA support for AT91SAM9260" | 836 | tristate "PATA support for AT91SAM9260" |
| 837 | depends on ARM && SOC_AT91SAM9 | 837 | depends on ARM && SOC_AT91SAM9 |
| 838 | depends on !ARCH_MULTIPLATFORM | ||
| 838 | help | 839 | help |
| 839 | This option enables support for IDE devices on the Atmel AT91SAM9260 SoC. | 840 | This option enables support for IDE devices on the Atmel AT91SAM9260 SoC. |
| 840 | 841 | ||
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 49f1e6890587..33bb06e006c9 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
| @@ -325,7 +325,6 @@ static const struct pci_device_id ahci_pci_tbl[] = { | |||
| 325 | { PCI_VDEVICE(INTEL, 0x9d05), board_ahci }, /* Sunrise Point-LP RAID */ | 325 | { PCI_VDEVICE(INTEL, 0x9d05), board_ahci }, /* Sunrise Point-LP RAID */ |
| 326 | { PCI_VDEVICE(INTEL, 0x9d07), board_ahci }, /* Sunrise Point-LP RAID */ | 326 | { PCI_VDEVICE(INTEL, 0x9d07), board_ahci }, /* Sunrise Point-LP RAID */ |
| 327 | { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H AHCI */ | 327 | { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H AHCI */ |
| 328 | { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H RAID */ | ||
| 329 | { PCI_VDEVICE(INTEL, 0xa105), board_ahci }, /* Sunrise Point-H RAID */ | 328 | { PCI_VDEVICE(INTEL, 0xa105), board_ahci }, /* Sunrise Point-H RAID */ |
| 330 | { PCI_VDEVICE(INTEL, 0xa107), board_ahci }, /* Sunrise Point-H RAID */ | 329 | { PCI_VDEVICE(INTEL, 0xa107), board_ahci }, /* Sunrise Point-H RAID */ |
| 331 | { PCI_VDEVICE(INTEL, 0xa10f), board_ahci }, /* Sunrise Point-H RAID */ | 330 | { PCI_VDEVICE(INTEL, 0xa10f), board_ahci }, /* Sunrise Point-H RAID */ |
diff --git a/drivers/ata/ahci_xgene.c b/drivers/ata/ahci_xgene.c index feeb8f1e2fe8..cbcd20810355 100644 --- a/drivers/ata/ahci_xgene.c +++ b/drivers/ata/ahci_xgene.c | |||
| @@ -125,10 +125,11 @@ static int xgene_ahci_restart_engine(struct ata_port *ap) | |||
| 125 | * xgene_ahci_qc_issue - Issue commands to the device | 125 | * xgene_ahci_qc_issue - Issue commands to the device |
| 126 | * @qc: Command to issue | 126 | * @qc: Command to issue |
| 127 | * | 127 | * |
| 128 | * Due to Hardware errata for IDENTIFY DEVICE command, the controller cannot | 128 | * Due to Hardware errata for IDENTIFY DEVICE command and PACKET |
| 129 | * clear the BSY bit after receiving the PIO setup FIS. This results in the dma | 129 | * command of ATAPI protocol set, the controller cannot clear the BSY bit |
| 130 | * state machine goes into the CMFatalErrorUpdate state and locks up. By | 130 | * after receiving the PIO setup FIS. This results in the DMA state machine |
| 131 | * restarting the dma engine, it removes the controller out of lock up state. | 131 | * going into the CMFatalErrorUpdate state and locks up. By restarting the |
| 132 | * DMA engine, it removes the controller out of lock up state. | ||
| 132 | */ | 133 | */ |
| 133 | static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc) | 134 | static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc) |
| 134 | { | 135 | { |
| @@ -137,7 +138,8 @@ static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc) | |||
| 137 | struct xgene_ahci_context *ctx = hpriv->plat_data; | 138 | struct xgene_ahci_context *ctx = hpriv->plat_data; |
| 138 | int rc = 0; | 139 | int rc = 0; |
| 139 | 140 | ||
| 140 | if (unlikely(ctx->last_cmd[ap->port_no] == ATA_CMD_ID_ATA)) | 141 | if (unlikely((ctx->last_cmd[ap->port_no] == ATA_CMD_ID_ATA) || |
| 142 | (ctx->last_cmd[ap->port_no] == ATA_CMD_PACKET))) | ||
| 141 | xgene_ahci_restart_engine(ap); | 143 | xgene_ahci_restart_engine(ap); |
| 142 | 144 | ||
| 143 | rc = ahci_qc_issue(qc); | 145 | rc = ahci_qc_issue(qc); |
| @@ -188,7 +190,7 @@ static unsigned int xgene_ahci_read_id(struct ata_device *dev, | |||
| 188 | * | 190 | * |
| 189 | * Clear reserved bit 8 (DEVSLP bit) as we don't support DEVSLP | 191 | * Clear reserved bit 8 (DEVSLP bit) as we don't support DEVSLP |
| 190 | */ | 192 | */ |
| 191 | id[ATA_ID_FEATURE_SUPP] | ||
