]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Oct 2012 16:20:37 +0000 (09:20 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Oct 2012 16:20:37 +0000 (09:20 -0700)
added patches:
intel-iommu-default-to-non-coherent-for-domains-unattached-to-iommus.patch
media-gspca_pac7302-add-support-for-device-1ae7-2001-speedlink-snappy-microphone-sl-6825-sbk.patch
media-rc-ite-cir-initialise-ite_dev-rdev-earlier.patch

queue-3.4/intel-iommu-default-to-non-coherent-for-domains-unattached-to-iommus.patch [new file with mode: 0644]
queue-3.4/media-gspca_pac7302-add-support-for-device-1ae7-2001-speedlink-snappy-microphone-sl-6825-sbk.patch [new file with mode: 0644]
queue-3.4/media-rc-ite-cir-initialise-ite_dev-rdev-earlier.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/intel-iommu-default-to-non-coherent-for-domains-unattached-to-iommus.patch b/queue-3.4/intel-iommu-default-to-non-coherent-for-domains-unattached-to-iommus.patch
new file mode 100644 (file)
index 0000000..bff1a39
--- /dev/null
@@ -0,0 +1,52 @@
+From 2e12bc29fc5a12242d68e11875db3dd58efad9ff Mon Sep 17 00:00:00 2001
+From: Alex Williamson <alex.williamson@redhat.com>
+Date: Fri, 11 Nov 2011 17:26:44 -0700
+Subject: intel-iommu: Default to non-coherent for domains unattached to iommus
+
+From: Alex Williamson <alex.williamson@redhat.com>
+
+commit 2e12bc29fc5a12242d68e11875db3dd58efad9ff upstream.
+
+domain_update_iommu_coherency() currently defaults to setting domains
+as coherent when the domain is not attached to any iommus.  This
+allows for a window in domain_context_mapping_one() where such a
+domain can update context entries non-coherently, and only after
+update the domain capability to clear iommu_coherency.
+
+This can be seen using KVM device assignment on VT-d systems that
+do not support coherency in the ecap register.  When a device is
+added to a guest, a domain is created (iommu_coherency = 0), the
+device is attached, and ranges are mapped.  If we then hot unplug
+the device, the coherency is updated and set to the default (1)
+since no iommus are attached to the domain.  A subsequent attach
+of a device makes use of the same dmar domain (now marked coherent)
+updates context entries with coherency enabled, and only disables
+coherency as the last step in the process.
+
+To fix this, switch domain_update_iommu_coherency() to use the
+safer, non-coherent default for domains not attached to iommus.
+
+Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
+Tested-by: Donald Dutile <ddutile@redhat.com>
+Acked-by: Donald Dutile <ddutile@redhat.com>
+Acked-by: Chris Wright <chrisw@sous-sol.org>
+Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/iommu/intel-iommu.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/iommu/intel-iommu.c
++++ b/drivers/iommu/intel-iommu.c
+@@ -588,7 +588,9 @@ static void domain_update_iommu_coherenc
+ {
+       int i;
+-      domain->iommu_coherency = 1;
++      i = find_first_bit(domain->iommu_bmp, g_num_of_iommus);
++
++      domain->iommu_coherency = i < g_num_of_iommus ? 1 : 0;
+       for_each_set_bit(i, domain->iommu_bmp, g_num_of_iommus) {
+               if (!ecap_coherent(g_iommus[i]->ecap)) {
diff --git a/queue-3.4/media-gspca_pac7302-add-support-for-device-1ae7-2001-speedlink-snappy-microphone-sl-6825-sbk.patch b/queue-3.4/media-gspca_pac7302-add-support-for-device-1ae7-2001-speedlink-snappy-microphone-sl-6825-sbk.patch
new file mode 100644 (file)
index 0000000..58e0e12
--- /dev/null
@@ -0,0 +1,28 @@
+From 97d2fbf501e3cf105ac957086c7e40e62e15cdf8 Mon Sep 17 00:00:00 2001
+From: Frank Schäfer <fschaefer.oss@googlemail.com>
+Date: Sun, 9 Sep 2012 15:02:19 -0300
+Subject: media: gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK
+
+From: Frank Schäfer <fschaefer.oss@googlemail.com>
+
+commit 97d2fbf501e3cf105ac957086c7e40e62e15cdf8 upstream.
+
+Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/video/gspca/pac7302.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/media/video/gspca/pac7302.c
++++ b/drivers/media/video/gspca/pac7302.c
+@@ -945,6 +945,7 @@ static const struct usb_device_id device
+       {USB_DEVICE(0x093a, 0x262a)},
+       {USB_DEVICE(0x093a, 0x262c)},
+       {USB_DEVICE(0x145f, 0x013c)},
++      {USB_DEVICE(0x1ae7, 0x2001)}, /* SpeedLink Snappy Mic SL-6825-SBK */
+       {}
+ };
+ MODULE_DEVICE_TABLE(usb, device_table);
diff --git a/queue-3.4/media-rc-ite-cir-initialise-ite_dev-rdev-earlier.patch b/queue-3.4/media-rc-ite-cir-initialise-ite_dev-rdev-earlier.patch
new file mode 100644 (file)
index 0000000..9d36beb
--- /dev/null
@@ -0,0 +1,43 @@
+From 4b961180ef275035b1538317ffd0e21e80e63e77 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sun, 19 Aug 2012 19:32:27 -0300
+Subject: media: rc: ite-cir: Initialise ite_dev::rdev earlier
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+commit 4b961180ef275035b1538317ffd0e21e80e63e77 upstream.
+
+ite_dev::rdev is currently initialised in ite_probe() after
+rc_register_device() returns.  If a newly registered device is opened
+quickly enough, we may enable interrupts and try to use ite_dev::rdev
+before it has been initialised.  Move it up to the earliest point we
+can, right after calling rc_allocate_device().
+
+Reported-and-tested-by: YunQiang Su <wzssyqa@gmail.com>
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/rc/ite-cir.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/media/rc/ite-cir.c
++++ b/drivers/media/rc/ite-cir.c
+@@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pde
+       rdev = rc_allocate_device();
+       if (!rdev)
+               goto failure;
++      itdev->rdev = rdev;
+       ret = -ENODEV;
+@@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pde
+       if (ret)
+               goto failure;
+-      itdev->rdev = rdev;
+       ite_pr(KERN_NOTICE, "driver has been successfully loaded\n");
+       return 0;
index 6a0417458d9ff099141b7a7568281367ff54701f..89472a60446b8dbf2e625d0245d1522416334f1e 100644 (file)
@@ -2,3 +2,6 @@ mn10300-only-add-mmem-funcs-to-kbuild_cflags-if-gcc-supports-it.patch
 kbuild-make-fix-if_changed-when-command-contains-backslashes.patch
 kbuild-fix-gcc-x-syntax.patch
 slab-fix-the-deadlock-issue-on-l3-alien-lock.patch
+intel-iommu-default-to-non-coherent-for-domains-unattached-to-iommus.patch
+media-rc-ite-cir-initialise-ite_dev-rdev-earlier.patch
+media-gspca_pac7302-add-support-for-device-1ae7-2001-speedlink-snappy-microphone-sl-6825-sbk.patch