]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 Jan 2013 17:52:08 +0000 (09:52 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 Jan 2013 17:52:08 +0000 (09:52 -0800)
added patches:
drm-i915-make-the-panel-fitter-work-on-pipes-b-and-c-on-ivb.patch
i2400m-add-intel-6150-device-ids.patch
jffs2-hold-erase_completion_lock-on-exit.patch

queue-3.0/drm-i915-make-the-panel-fitter-work-on-pipes-b-and-c-on-ivb.patch [new file with mode: 0644]
queue-3.0/i2400m-add-intel-6150-device-ids.patch [new file with mode: 0644]
queue-3.0/jffs2-hold-erase_completion_lock-on-exit.patch [new file with mode: 0644]
queue-3.0/series

diff --git a/queue-3.0/drm-i915-make-the-panel-fitter-work-on-pipes-b-and-c-on-ivb.patch b/queue-3.0/drm-i915-make-the-panel-fitter-work-on-pipes-b-and-c-on-ivb.patch
new file mode 100644 (file)
index 0000000..67cfb37
--- /dev/null
@@ -0,0 +1,50 @@
+From 13888d78c664a1f61d7b09d282f5916993827a40 Mon Sep 17 00:00:00 2001
+From: Paulo Zanoni <paulo.r.zanoni@intel.com>
+Date: Tue, 20 Nov 2012 13:27:41 -0200
+Subject: drm/i915: make the panel fitter work on pipes B and C on IVB
+
+From: Paulo Zanoni <paulo.r.zanoni@intel.com>
+
+commit 13888d78c664a1f61d7b09d282f5916993827a40 upstream.
+
+I actually found this problem on Haswell, but then discovered Ivy
+Bridge also has it by reading the spec.
+
+I don't have the hardware to test this.
+
+Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
+Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_reg.h      |    2 ++
+ drivers/gpu/drm/i915/intel_display.c |    6 +++++-
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/i915_reg.h
++++ b/drivers/gpu/drm/i915/i915_reg.h
+@@ -2754,6 +2754,8 @@
+ #define _PFA_CTL_1               0x68080
+ #define _PFB_CTL_1               0x68880
+ #define  PF_ENABLE              (1<<31)
++#define  PF_PIPE_SEL_MASK_IVB (3<<29)
++#define  PF_PIPE_SEL_IVB(pipe)        ((pipe)<<29)
+ #define  PF_FILTER_MASK               (3<<23)
+ #define  PF_FILTER_PROGRAMMED (0<<23)
+ #define  PF_FILTER_MED_3x3    (1<<23)
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -2696,7 +2696,11 @@ static void ironlake_crtc_enable(struct
+                * as some pre-programmed values are broken,
+                * e.g. x201.
+                */
+-              I915_WRITE(PF_CTL(pipe), PF_ENABLE | PF_FILTER_MED_3x3);
++              if (IS_IVYBRIDGE(dev))
++                      I915_WRITE(PF_CTL(pipe), PF_ENABLE | PF_FILTER_MED_3x3 |
++                                               PF_PIPE_SEL_IVB(pipe));
++              else
++                      I915_WRITE(PF_CTL(pipe), PF_ENABLE | PF_FILTER_MED_3x3);
+               I915_WRITE(PF_WIN_POS(pipe), dev_priv->pch_pf_pos);
+               I915_WRITE(PF_WIN_SZ(pipe), dev_priv->pch_pf_size);
+       }
diff --git a/queue-3.0/i2400m-add-intel-6150-device-ids.patch b/queue-3.0/i2400m-add-intel-6150-device-ids.patch
new file mode 100644 (file)
index 0000000..d6031fd
--- /dev/null
@@ -0,0 +1,54 @@
+From 999a7c5776a0ed2133645fa7e008bec05bda9254 Mon Sep 17 00:00:00 2001
+From: Dan Williams <dcbw@redhat.com>
+Date: Fri, 14 Dec 2012 13:10:50 +0000
+Subject: i2400m: add Intel 6150 device IDs
+
+From: Dan Williams <dcbw@redhat.com>
+
+commit 999a7c5776a0ed2133645fa7e008bec05bda9254 upstream.
+
+Add device IDs for WiMAX function of Intel 6150 cards.
+
+Signed-off-by: Dan Williams <dcbw@redhat.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wimax/i2400m/i2400m-usb.h |    3 +++
+ drivers/net/wimax/i2400m/usb.c        |    6 ++++++
+ 2 files changed, 9 insertions(+)
+
+--- a/drivers/net/wimax/i2400m/i2400m-usb.h
++++ b/drivers/net/wimax/i2400m/i2400m-usb.h
+@@ -152,6 +152,9 @@ enum {
+       /* Device IDs */
+       USB_DEVICE_ID_I6050 = 0x0186,
+       USB_DEVICE_ID_I6050_2 = 0x0188,
++      USB_DEVICE_ID_I6150 = 0x07d6,
++      USB_DEVICE_ID_I6150_2 = 0x07d7,
++      USB_DEVICE_ID_I6150_3 = 0x07d9,
+       USB_DEVICE_ID_I6250 = 0x0187,
+ };
+--- a/drivers/net/wimax/i2400m/usb.c
++++ b/drivers/net/wimax/i2400m/usb.c
+@@ -491,6 +491,9 @@ int i2400mu_probe(struct usb_interface *
+       switch (id->idProduct) {
+       case USB_DEVICE_ID_I6050:
+       case USB_DEVICE_ID_I6050_2:
++      case USB_DEVICE_ID_I6150:
++      case USB_DEVICE_ID_I6150_2:
++      case USB_DEVICE_ID_I6150_3:
+       case USB_DEVICE_ID_I6250:
+               i2400mu->i6050 = 1;
+               break;
+@@ -740,6 +743,9 @@ static
+ struct usb_device_id i2400mu_id_table[] = {
+       { USB_DEVICE(0x8086, USB_DEVICE_ID_I6050) },
+       { USB_DEVICE(0x8086, USB_DEVICE_ID_I6050_2) },
++      { USB_DEVICE(0x8087, USB_DEVICE_ID_I6150) },
++      { USB_DEVICE(0x8087, USB_DEVICE_ID_I6150_2) },
++      { USB_DEVICE(0x8087, USB_DEVICE_ID_I6150_3) },
+       { USB_DEVICE(0x8086, USB_DEVICE_ID_I6250) },
+       { USB_DEVICE(0x8086, 0x0181) },
+       { USB_DEVICE(0x8086, 0x1403) },
diff --git a/queue-3.0/jffs2-hold-erase_completion_lock-on-exit.patch b/queue-3.0/jffs2-hold-erase_completion_lock-on-exit.patch
new file mode 100644 (file)
index 0000000..cef01fb
--- /dev/null
@@ -0,0 +1,45 @@
+From 2cbba75a56ea78e6876b4e2547a882f10b3fe72b Mon Sep 17 00:00:00 2001
+From: Alexey Khoroshilov <khoroshilov@ispras.ru>
+Date: Mon, 5 Nov 2012 22:40:14 +0400
+Subject: jffs2: hold erase_completion_lock on exit
+
+From: Alexey Khoroshilov <khoroshilov@ispras.ru>
+
+commit 2cbba75a56ea78e6876b4e2547a882f10b3fe72b upstream.
+
+Users of jffs2_do_reserve_space() expect they still held
+erase_completion_lock after call to it. But there is a path
+where jffs2_do_reserve_space() leaves erase_completion_lock unlocked.
+The patch fixes it.
+
+Found by Linux Driver Verification project (linuxtesting.org).
+
+Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
+Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/jffs2/nodemgmt.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/fs/jffs2/nodemgmt.c
++++ b/fs/jffs2/nodemgmt.c
+@@ -355,14 +355,16 @@ static int jffs2_do_reserve_space(struct
+                       spin_unlock(&c->erase_completion_lock);
+                       ret = jffs2_prealloc_raw_node_refs(c, jeb, 1);
+-                      if (ret)
+-                              return ret;
++
+                       /* Just lock it again and continue. Nothing much can change because
+                          we hold c->alloc_sem anyway. In fact, it's not entirely clear why
+                          we hold c->erase_completion_lock in the majority of this function...
+                          but that's a question for another (more caffeine-rich) day. */
+                       spin_lock(&c->erase_completion_lock);
++                      if (ret)
++                              return ret;
++
+                       waste = jeb->free_size;
+                       jffs2_link_node_ref(c, jeb,
+                                           (jeb->offset + c->sector_size - waste) | REF_OBSOLETE,
index 03a8f9fb7b02ced13096c8536befc8a928e2b33c..e3b75d00e5a1597c3a00003b47a70930f5268d0a 100644 (file)
@@ -16,3 +16,6 @@ mfd-only-unregister-platform-devices-allocated-by-the-mfd-core.patch
 ext4-fix-memory-leak-in-ext4_xattr_set_acl-s-error-path.patch
 sunrpc-ensure-that-we-free-the-rpc_task-after-cleanups-are-done.patch
 sunrpc-ensure-we-release-the-socket-write-lock-if-the-rpc_task-exits-early.patch
+jffs2-hold-erase_completion_lock-on-exit.patch
+i2400m-add-intel-6150-device-ids.patch
+drm-i915-make-the-panel-fitter-work-on-pipes-b-and-c-on-ivb.patch