]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Sep 2014 17:48:47 +0000 (10:48 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Sep 2014 17:48:47 +0000 (10:48 -0700)
added patches:
ahci-add-device-ids-for-intel-9-series-pch.patch
ahci-add-pcid-for-marvel-0x9182-controller.patch
libata-widen-crucial-m550-blacklist-matching.patch
of-irq-fix-lookup-to-use-interrupts-extended-property-first.patch
pata_scc-propagate-return-value-of-scc_wait_after_reset.patch

queue-3.14/ahci-add-device-ids-for-intel-9-series-pch.patch [new file with mode: 0644]
queue-3.14/ahci-add-pcid-for-marvel-0x9182-controller.patch [new file with mode: 0644]
queue-3.14/libata-widen-crucial-m550-blacklist-matching.patch [new file with mode: 0644]
queue-3.14/of-irq-fix-lookup-to-use-interrupts-extended-property-first.patch [new file with mode: 0644]
queue-3.14/pata_scc-propagate-return-value-of-scc_wait_after_reset.patch [new file with mode: 0644]
queue-3.14/series

diff --git a/queue-3.14/ahci-add-device-ids-for-intel-9-series-pch.patch b/queue-3.14/ahci-add-device-ids-for-intel-9-series-pch.patch
new file mode 100644 (file)
index 0000000..bd133d6
--- /dev/null
@@ -0,0 +1,36 @@
+From 1b071a0947dbce5c184c12262e02540fbc493457 Mon Sep 17 00:00:00 2001
+From: James Ralston <james.d.ralston@intel.com>
+Date: Wed, 27 Aug 2014 14:29:07 -0700
+Subject: ahci: Add Device IDs for Intel 9 Series PCH
+
+From: James Ralston <james.d.ralston@intel.com>
+
+commit 1b071a0947dbce5c184c12262e02540fbc493457 upstream.
+
+This patch adds the AHCI mode SATA Device IDs for the Intel 9 Series PCH.
+
+Signed-off-by: James Ralston <james.d.ralston@intel.com>
+Signed-off-by: Tejun Heo <tj@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/ata/ahci.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/ata/ahci.c
++++ b/drivers/ata/ahci.c
+@@ -306,6 +306,14 @@ static const struct pci_device_id ahci_p
+       { PCI_VDEVICE(INTEL, 0x9c85), board_ahci }, /* Wildcat Point-LP RAID */
+       { PCI_VDEVICE(INTEL, 0x9c87), board_ahci }, /* Wildcat Point-LP RAID */
+       { PCI_VDEVICE(INTEL, 0x9c8f), board_ahci }, /* Wildcat Point-LP RAID */
++      { PCI_VDEVICE(INTEL, 0x8c82), board_ahci }, /* 9 Series AHCI */
++      { PCI_VDEVICE(INTEL, 0x8c83), board_ahci }, /* 9 Series AHCI */
++      { PCI_VDEVICE(INTEL, 0x8c84), board_ahci }, /* 9 Series RAID */
++      { PCI_VDEVICE(INTEL, 0x8c85), board_ahci }, /* 9 Series RAID */
++      { PCI_VDEVICE(INTEL, 0x8c86), board_ahci }, /* 9 Series RAID */
++      { PCI_VDEVICE(INTEL, 0x8c87), board_ahci }, /* 9 Series RAID */
++      { PCI_VDEVICE(INTEL, 0x8c8e), board_ahci }, /* 9 Series RAID */
++      { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci }, /* 9 Series RAID */
+       /* JMicron 360/1/3/5/6, match class to avoid IDE function */
+       { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
diff --git a/queue-3.14/ahci-add-pcid-for-marvel-0x9182-controller.patch b/queue-3.14/ahci-add-pcid-for-marvel-0x9182-controller.patch
new file mode 100644 (file)
index 0000000..6634b9d
--- /dev/null
@@ -0,0 +1,32 @@
+From c5edfff9db6f4d2c35c802acb4abe0df178becee Mon Sep 17 00:00:00 2001
+From: Murali Karicheri <m-karicheri2@ti.com>
+Date: Fri, 5 Sep 2014 13:21:00 -0400
+Subject: ahci: add pcid for Marvel 0x9182 controller
+
+From: Murali Karicheri <m-karicheri2@ti.com>
+
+commit c5edfff9db6f4d2c35c802acb4abe0df178becee upstream.
+
+Keystone K2E EVM uses Marvel 0x9182 controller. This requires support
+for the ID in the ahci driver.
+
+Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
+Signed-off-by: Tejun Heo <tj@kernel.org>
+Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/ata/ahci.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/ata/ahci.c
++++ b/drivers/ata/ahci.c
+@@ -451,6 +451,8 @@ static const struct pci_device_id ahci_p
+       { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x917a),
+         .driver_data = board_ahci_yes_fbs },                  /* 88se9172 */
+       { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9172),
++        .driver_data = board_ahci_yes_fbs },                  /* 88se9182 */
++      { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9182),
+         .driver_data = board_ahci_yes_fbs },                  /* 88se9172 */
+       { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9192),
+         .driver_data = board_ahci_yes_fbs },                  /* 88se9172 on some Gigabyte */
diff --git a/queue-3.14/libata-widen-crucial-m550-blacklist-matching.patch b/queue-3.14/libata-widen-crucial-m550-blacklist-matching.patch
new file mode 100644 (file)
index 0000000..f19e8a8
--- /dev/null
@@ -0,0 +1,34 @@
+From 2a13772a144d2956a7fedd18685921d0a9b8b783 Mon Sep 17 00:00:00 2001
+From: Tejun Heo <tj@kernel.org>
+Date: Mon, 18 Aug 2014 17:40:09 -0400
+Subject: libata: widen Crucial M550 blacklist matching
+
+From: Tejun Heo <tj@kernel.org>
+
+commit 2a13772a144d2956a7fedd18685921d0a9b8b783 upstream.
+
+Crucial M550 may cause data corruption on queued trims and is
+blacklisted.  The pattern used for it fails to match 1TB one as the
+capacity section will be four chars instead of three.  Widen the
+pattern.
+
+Signed-off-by: Tejun Heo <tj@kernel.org>
+Reported-by: Charles Reiss <woggling@gmail.com>
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=81071
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/ata/libata-core.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -4227,7 +4227,7 @@ static const struct ata_blacklist_entry
+       { "Micron_M500*",               NULL,   ATA_HORKAGE_NO_NCQ_TRIM, },
+       { "Crucial_CT???M500SSD*",      NULL,   ATA_HORKAGE_NO_NCQ_TRIM, },
+       { "Micron_M550*",               NULL,   ATA_HORKAGE_NO_NCQ_TRIM, },
+-      { "Crucial_CT???M550SSD*",      NULL,   ATA_HORKAGE_NO_NCQ_TRIM, },
++      { "Crucial_CT*M550SSD*",        NULL,   ATA_HORKAGE_NO_NCQ_TRIM, },
+       /*
+        * Some WD SATA-I drives spin up and down erratically when the link
diff --git a/queue-3.14/of-irq-fix-lookup-to-use-interrupts-extended-property-first.patch b/queue-3.14/of-irq-fix-lookup-to-use-interrupts-extended-property-first.patch
new file mode 100644 (file)
index 0000000..de32bbf
--- /dev/null
@@ -0,0 +1,82 @@
+From a9ecdc0fdc54aa499604dbd43132988effcac9b4 Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Wed, 6 Aug 2014 13:02:27 -0700
+Subject: of/irq: Fix lookup to use 'interrupts-extended' property first
+
+From: Florian Fainelli <f.fainelli@gmail.com>
+
+commit a9ecdc0fdc54aa499604dbd43132988effcac9b4 upstream.
+
+In case the Device Tree blob passed by the boot agent supplies both an
+'interrupts-extended' and an 'interrupts' property in order to allow for
+older kernels to be usable, prefer the new-style 'interrupts-extended'
+property which conveys a lot more information.
+
+This allows us to have bootloaders willingly maintaining backwards
+compatibility with older kernels without entirely deprecating the
+'interrupts' property.
+
+Update the bindings documentation to describe a situation where both the
+'interrupts-extended' and the 'interrupts' property are present, and
+which one takes precedence over the other.
+
+Acked-by: Rob Herring <robh@kernel.org>
+Signed-off-by: Brian Norris <computersforpeace@gmail.com>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Grant Likely <grant.likely@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ Documentation/devicetree/bindings/interrupt-controller/interrupts.txt |   12 ++++---
+ drivers/of/irq.c                                                      |   17 +++++-----
+ 2 files changed, 16 insertions(+), 13 deletions(-)
+
+--- a/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
++++ b/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
+@@ -4,11 +4,13 @@ Specifying interrupt information for dev
+ 1) Interrupt client nodes
+ -------------------------
+-Nodes that describe devices which generate interrupts must contain an either an
+-"interrupts" property or an "interrupts-extended" property. These properties
+-contain a list of interrupt specifiers, one per output interrupt. The format of
+-the interrupt specifier is determined by the interrupt controller to which the
+-interrupts are routed; see section 2 below for details.
++Nodes that describe devices which generate interrupts must contain an
++"interrupts" property, an "interrupts-extended" property, or both. If both are
++present, the latter should take precedence; the former may be provided simply
++for compatibility with software that does not recognize the latter. These
++properties contain a list of interrupt specifiers, one per output interrupt. The
++format of the interrupt specifier is determined by the interrupt controller to
++which the interrupts are routed; see section 2 below for details.
+   Example:
+       interrupt-parent = <&intc1>;
+--- a/drivers/of/irq.c
++++ b/drivers/of/irq.c
+@@ -301,16 +301,17 @@ int of_irq_parse_one(struct device_node
+       /* Get the reg property (if any) */
+       addr = of_get_property(device, "reg", NULL);
++      /* Try the new-style interrupts-extended first */
++      res = of_parse_phandle_with_args(device, "interrupts-extended",
++                                      "#interrupt-cells", index, out_irq);
++      if (!res)
++              return of_irq_parse_raw(addr, out_irq);
++
+       /* Get the interrupts property */
+       intspec = of_get_property(device, "interrupts", &intlen);
+-      if (intspec == NULL) {
+-              /* Try the new-style interrupts-extended */
+-              res = of_parse_phandle_with_args(device, "interrupts-extended",
+-                                              "#interrupt-cells", index, out_irq);
+-              if (res)
+-                      return -EINVAL;
+-              return of_irq_parse_raw(addr, out_irq);
+-      }
++      if (intspec == NULL)
++              return -EINVAL;
++
+       intlen /= sizeof(*intspec);
+       pr_debug(" intspec=%d intlen=%d\n", be32_to_cpup(intspec), intlen);
diff --git a/queue-3.14/pata_scc-propagate-return-value-of-scc_wait_after_reset.patch b/queue-3.14/pata_scc-propagate-return-value-of-scc_wait_after_reset.patch
new file mode 100644 (file)
index 0000000..635f963
--- /dev/null
@@ -0,0 +1,65 @@
+From 4dc7c76cd500fa78c64adfda4b070b870a2b993c Mon Sep 17 00:00:00 2001
+From: Arjun Sreedharan <arjun024@gmail.com>
+Date: Sun, 17 Aug 2014 20:00:09 +0530
+Subject: pata_scc: propagate return value of scc_wait_after_reset
+
+From: Arjun Sreedharan <arjun024@gmail.com>
+
+commit 4dc7c76cd500fa78c64adfda4b070b870a2b993c upstream.
+
+scc_bus_softreset not necessarily should return zero.
+Propagate the error code.
+
+Signed-off-by: Arjun Sreedharan <arjun024@gmail.com>
+Signed-off-by: Tejun Heo <tj@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/ata/pata_scc.c |   15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+--- a/drivers/ata/pata_scc.c
++++ b/drivers/ata/pata_scc.c
+@@ -586,7 +586,7 @@ static int scc_wait_after_reset(struct a
+  *    Note: Original code is ata_bus_softreset().
+  */
+-static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
++static int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
+                                       unsigned long deadline)
+ {
+       struct ata_ioports *ioaddr = &ap->ioaddr;
+@@ -600,9 +600,7 @@ static unsigned int scc_bus_softreset(st
+       udelay(20);
+       out_be32(ioaddr->ctl_addr, ap->ctl);
+-      scc_wait_after_reset(&ap->link, devmask, deadline);
+-
+-      return 0;
++      return scc_wait_after_reset(&ap->link, devmask, deadline);
+ }
+ /**
+@@ -619,7 +617,8 @@ static int scc_softreset(struct ata_link
+ {
+       struct ata_port *ap = link->ap;
+       unsigned int slave_possible = ap->flags & ATA_FLAG_SLAVE_POSS;
+-      unsigned int devmask = 0, err_mask;
++      unsigned int devmask = 0;
++      int rc;
+       u8 err;
+       DPRINTK("ENTER\n");
+@@ -635,9 +634,9 @@ static int scc_softreset(struct ata_link
+       /* issue bus reset */
+       DPRINTK("about to softreset, devmask=%x\n", devmask);
+-      err_mask = scc_bus_softreset(ap, devmask, deadline);
+-      if (err_mask) {
+-              ata_port_err(ap, "SRST failed (err_mask=0x%x)\n", err_mask);
++      rc = scc_bus_softreset(ap, devmask, deadline);
++      if (rc) {
++              ata_port_err(ap, "SRST failed (err_mask=0x%x)\n", rc);
+               return -EIO;
+       }
index 4b04094757a69ec514fb2d91113655ad4ef8cbee..243a4e13c1d4ec55ba4d46563a37aed7ef66d491 100644 (file)
@@ -20,3 +20,8 @@ drm-radeon-tweak-accel_working2-query-for-hawaii.patch
 drm-i915-read-head-register-back-in-init_ring_common-to-enforce-ordering.patch
 drm-radeon-enable-bapm-by-default-on-desktop-tn-rl-boards.patch
 drm-radeon-tn-only-enable-bapm-on-msi-systems.patch
+of-irq-fix-lookup-to-use-interrupts-extended-property-first.patch
+libata-widen-crucial-m550-blacklist-matching.patch
+pata_scc-propagate-return-value-of-scc_wait_after_reset.patch
+ahci-add-device-ids-for-intel-9-series-pch.patch
+ahci-add-pcid-for-marvel-0x9182-controller.patch