Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b4c555a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull libata fixes from Jeff Garzik:

1) Fix regression that could cause a misdiagnosis, which in turn could
   lead to an erroneous 3.0 Gbps -> 1.5 downshift, particularly when hotplug
   and suspend/resume is involved.

2) Fix a regression that led to ata%d controller ids being numbered one
   larger than in <= 3.4-rc3 (oh, the horror!).  Controller ids should now be
   as expected.

3) add some DT, PCI id's

4) ata/pata_arasan_cf: minor cpp fixing/cleaning

* tag 'tag/upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  ata: ahci_platform: Add synopsys ahci controller in DT's compatible list
  ata/pata_arasan_cf: Move arasan_cf_pm_ops out of #ifdef, #endif macros
  libata: init ata_print_id to 0
  ahci: Detect Marvell 88SE9172 SATA controller
  libata: skip old error history when counting probe trials
parents 4e78f002 5f098a3e
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
* Calxeda SATA Controller
* AHCI SATA Controller

SATA nodes are defined to describe on-chip Serial ATA controllers.
Each SATA controller should have its own node.

Required properties:
- compatible        : compatible list, contains "calxeda,hb-ahci"
- compatible        : compatible list, contains "calxeda,hb-ahci" or "snps,spear-ahci"
- interrupts        : <interrupt mapping for SATA IRQ>
- reg               : <registers mapping>

@@ -14,4 +14,3 @@ Example:
                reg = <0xffe08000 0x1000>;
                interrupts = <115>;
        };
+2 −0
Original line number Diff line number Diff line
@@ -394,6 +394,8 @@ static const struct pci_device_id ahci_pci_tbl[] = {
	  .driver_data = board_ahci_yes_fbs },			/* 88se9128 */
	{ PCI_DEVICE(0x1b4b, 0x9125),
	  .driver_data = board_ahci_yes_fbs },			/* 88se9125 */
	{ PCI_DEVICE(0x1b4b, 0x917a),
	  .driver_data = board_ahci_yes_fbs },			/* 88se9172 */
	{ PCI_DEVICE(0x1b4b, 0x91a3),
	  .driver_data = board_ahci_yes_fbs },

+1 −0
Original line number Diff line number Diff line
@@ -280,6 +280,7 @@ static struct dev_pm_ops ahci_pm_ops = {

static const struct of_device_id ahci_of_match[] = {
	{ .compatible = "calxeda,hb-ahci", },
	{ .compatible = "snps,spear-ahci", },
	{},
};
MODULE_DEVICE_TABLE(of, ahci_of_match);
+1 −1
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ static unsigned int ata_dev_set_xfermode(struct ata_device *dev);
static void ata_dev_xfermask(struct ata_device *dev);
static unsigned long ata_dev_blacklisted(const struct ata_device *dev);

atomic_t ata_print_id = ATOMIC_INIT(1);
atomic_t ata_print_id = ATOMIC_INIT(0);

struct ata_force_param {
	const char	*name;
+2 −1
Original line number Diff line number Diff line
@@ -3501,7 +3501,8 @@ static int ata_count_probe_trials_cb(struct ata_ering_entry *ent, void *void_arg
	u64 now = get_jiffies_64();
	int *trials = void_arg;

	if (ent->timestamp < now - min(now, interval))
	if ((ent->eflags & ATA_EFLAG_OLD_ER) ||
	    (ent->timestamp < now - min(now, interval)))
		return -1;

	(*trials)++;
Loading