From: Greg Kroah-Hartman Date: Thu, 7 Sep 2017 15:19:40 +0000 (+0200) Subject: 3.18-stable patches X-Git-Tag: v4.13.1~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=019844b2915622a75807b3190d6d15fa07c33d5e;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: cs5536-add-support-for-ide-controller-variant.patch workqueue-fix-flag-collision.patch --- diff --git a/queue-3.18/cs5536-add-support-for-ide-controller-variant.patch b/queue-3.18/cs5536-add-support-for-ide-controller-variant.patch new file mode 100644 index 00000000000..7d82e603f78 --- /dev/null +++ b/queue-3.18/cs5536-add-support-for-ide-controller-variant.patch @@ -0,0 +1,55 @@ +From 591b6bb605785c12a21e8b07a08a277065b655a5 Mon Sep 17 00:00:00 2001 +From: Andrey Korolyov +Date: Thu, 10 Aug 2017 13:21:14 +0300 +Subject: cs5536: add support for IDE controller variant + +From: Andrey Korolyov + +commit 591b6bb605785c12a21e8b07a08a277065b655a5 upstream. + +Several legacy devices such as Geode-based Cisco ASA appliances +and DB800 development board do possess CS5536 IDE controller +with different PCI id than existing one. Using pata_generic is +not always feasible as at least DB800 requires MSR quirk from +pata_cs5536 to be used with vendor firmware. + +Signed-off-by: Andrey Korolyov +Signed-off-by: Tejun Heo +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/ata/pata_amd.c | 1 + + drivers/ata/pata_cs5536.c | 1 + + include/linux/pci_ids.h | 1 + + 3 files changed, 3 insertions(+) + +--- a/drivers/ata/pata_amd.c ++++ b/drivers/ata/pata_amd.c +@@ -616,6 +616,7 @@ static const struct pci_device_id amd[] + { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_IDE), 8 }, + { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE), 8 }, + { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_IDE), 9 }, ++ { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_DEV_IDE), 9 }, + + { }, + }; +--- a/drivers/ata/pata_cs5536.c ++++ b/drivers/ata/pata_cs5536.c +@@ -289,6 +289,7 @@ static int cs5536_init_one(struct pci_de + + static const struct pci_device_id cs5536[] = { + { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_IDE), }, ++ { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_DEV_IDE), }, + { }, + }; + +--- a/include/linux/pci_ids.h ++++ b/include/linux/pci_ids.h +@@ -570,6 +570,7 @@ + #define PCI_DEVICE_ID_AMD_CS5536_EHC 0x2095 + #define PCI_DEVICE_ID_AMD_CS5536_UDC 0x2096 + #define PCI_DEVICE_ID_AMD_CS5536_UOC 0x2097 ++#define PCI_DEVICE_ID_AMD_CS5536_DEV_IDE 0x2092 + #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A + #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 + #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 diff --git a/queue-3.18/series b/queue-3.18/series index b992afce24f..585bcc5ad03 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -8,3 +8,5 @@ driver-core-bus-fix-a-potential-double-free.patch input-trackpoint-assume-3-buttons-when-buttons-detection-fails.patch dlm-avoid-double-free-on-error-path-in-dlm_device_-register-unregister.patch cma-fix-calculation-of-aligned-offset.patch +workqueue-fix-flag-collision.patch +cs5536-add-support-for-ide-controller-variant.patch diff --git a/queue-3.18/workqueue-fix-flag-collision.patch b/queue-3.18/workqueue-fix-flag-collision.patch new file mode 100644 index 00000000000..6999b7e0089 --- /dev/null +++ b/queue-3.18/workqueue-fix-flag-collision.patch @@ -0,0 +1,34 @@ +From fbf1c41fc0f4d3574ac2377245efd666c1fa3075 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Sun, 3 Sep 2017 01:18:41 +0100 +Subject: workqueue: Fix flag collision + +From: Ben Hutchings + +commit fbf1c41fc0f4d3574ac2377245efd666c1fa3075 upstream. + +Commit 0a94efb5acbb ("workqueue: implicit ordered attribute should be +overridable") introduced a __WQ_ORDERED_EXPLICIT flag but gave it the +same value as __WQ_LEGACY. I don't believe these were intended to +mean the same thing, so renumber __WQ_ORDERED_EXPLICIT. + +Fixes: 0a94efb5acbb ("workqueue: implicit ordered attribute should be ...") +Signed-off-by: Ben Hutchings +Signed-off-by: Tejun Heo +Signed-off-by: Greg Kroah-Hartman + +--- + include/linux/workqueue.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/include/linux/workqueue.h ++++ b/include/linux/workqueue.h +@@ -315,7 +315,7 @@ enum { + + __WQ_DRAINING = 1 << 16, /* internal: workqueue is draining */ + __WQ_ORDERED = 1 << 17, /* internal: workqueue is ordered */ +- __WQ_ORDERED_EXPLICIT = 1 << 18, /* internal: alloc_ordered_workqueue() */ ++ __WQ_ORDERED_EXPLICIT = 1 << 19, /* internal: alloc_ordered_workqueue() */ + + WQ_MAX_ACTIVE = 512, /* I like 512, better ideas? */ + WQ_MAX_UNBOUND_PER_CPU = 4, /* 4 * #cpus for unbound wq */