]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.32 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Thu, 11 Mar 2010 20:05:41 +0000 (12:05 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 11 Mar 2010 20:05:41 +0000 (12:05 -0800)
queue-2.6.32/drm-i915-use-a-dmi-quirk-to-skip-a-broken-sdvo-tv-output.patch [new file with mode: 0644]
queue-2.6.32/drm-ttm-handle-oom-in-ttm_tt_swapout.patch [new file with mode: 0644]
queue-2.6.32/series
queue-2.6.32/usb-cp210x-add-81e8-zephyr-bioharness.patch [new file with mode: 0644]
queue-2.6.32/usb-unusual_devs-add-support-for-multiple-option-3g-sticks.patch [new file with mode: 0644]

diff --git a/queue-2.6.32/drm-i915-use-a-dmi-quirk-to-skip-a-broken-sdvo-tv-output.patch b/queue-2.6.32/drm-i915-use-a-dmi-quirk-to-skip-a-broken-sdvo-tv-output.patch
new file mode 100644 (file)
index 0000000..9dd0875
--- /dev/null
@@ -0,0 +1,70 @@
+From 6070a4a928f8c92b9fae7d6717ebbb05f425d6b2 Mon Sep 17 00:00:00 2001
+From: Zhao Yakui <yakui.zhao@intel.com>
+Date: Mon, 8 Feb 2010 21:35:12 +0800
+Subject: drm/i915: Use a dmi quirk to skip a broken SDVO TV output.
+
+From: Zhao Yakui <yakui.zhao@intel.com>
+
+commit 6070a4a928f8c92b9fae7d6717ebbb05f425d6b2 upstream.
+
+This IBM system has a multi-function SDVO card that reports both VGA
+and TV, but the system has no TV connector.  The TV connector always
+reported as connected, which would lead to poor modesetting choices.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=25787
+
+Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
+Tested-by: Vance <liangghv@sg.ibm.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/i915/intel_sdvo.c |   23 ++++++++++++++++++++++-
+ 1 file changed, 22 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/intel_sdvo.c
++++ b/drivers/gpu/drm/i915/intel_sdvo.c
+@@ -35,6 +35,7 @@
+ #include "i915_drm.h"
+ #include "i915_drv.h"
+ #include "intel_sdvo_regs.h"
++#include <linux/dmi.h>
+ #undef SDVO_DEBUG
+@@ -2289,6 +2290,25 @@ intel_sdvo_get_slave_addr(struct drm_dev
+               return 0x72;
+ }
++static int intel_sdvo_bad_tv_callback(const struct dmi_system_id *id)
++{
++      DRM_DEBUG_KMS("Ignoring bad SDVO TV connector for %s\n", id->ident);
++      return 1;
++}
++
++static struct dmi_system_id intel_sdvo_bad_tv[] = {
++      {
++              .callback = intel_sdvo_bad_tv_callback,
++              .ident = "IntelG45/ICH10R/DME1737",
++              .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "IBM CORPORATION"),
++                      DMI_MATCH(DMI_PRODUCT_NAME, "4800784"),
++              },
++      },
++
++      { }     /* terminating entry */
++};
++
+ static bool
+ intel_sdvo_output_setup(struct intel_output *intel_output, uint16_t flags)
+ {
+@@ -2329,7 +2349,8 @@ intel_sdvo_output_setup(struct intel_out
+                                       (1 << INTEL_SDVO_NON_TV_CLONE_BIT) |
+                                       (1 << INTEL_ANALOG_CLONE_BIT);
+               }
+-      } else if (flags & SDVO_OUTPUT_SVID0) {
++      } else if ((flags & SDVO_OUTPUT_SVID0) &&
++                 !dmi_check_system(intel_sdvo_bad_tv)) {
+               sdvo_priv->controlled_output = SDVO_OUTPUT_SVID0;
+               encoder->encoder_type = DRM_MODE_ENCODER_TVDAC;
diff --git a/queue-2.6.32/drm-ttm-handle-oom-in-ttm_tt_swapout.patch b/queue-2.6.32/drm-ttm-handle-oom-in-ttm_tt_swapout.patch
new file mode 100644 (file)
index 0000000..13bb914
--- /dev/null
@@ -0,0 +1,91 @@
+From 290e55056ec3d25c72088628245d8cae037b30db Mon Sep 17 00:00:00 2001
+From: Maarten Maathuis <madman2003@gmail.com>
+Date: Sat, 20 Feb 2010 03:22:21 +0100
+Subject: drm/ttm: handle OOM in ttm_tt_swapout
+
+From: Maarten Maathuis <madman2003@gmail.com>
+
+commit 290e55056ec3d25c72088628245d8cae037b30db upstream.
+
+- Without this change I get a general protection fault.
+- Also use PTR_ERR where applicable.
+
+Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
+Reviewed-by: Dave Airlie <airlied@redhat.com>
+Acked-by: Thomas Hellstrom <thellstrom@vmware.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/ttm/ttm_tt.c |   18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+--- a/drivers/gpu/drm/ttm/ttm_tt.c
++++ b/drivers/gpu/drm/ttm/ttm_tt.c
+@@ -466,7 +466,7 @@ static int ttm_tt_swapin(struct ttm_tt *
+       void *from_virtual;
+       void *to_virtual;
+       int i;
+-      int ret;
++      int ret = -ENOMEM;
+       if (ttm->page_flags & TTM_PAGE_FLAG_USER) {
+               ret = ttm_tt_set_user(ttm, ttm->tsk, ttm->start,
+@@ -485,8 +485,10 @@ static int ttm_tt_swapin(struct ttm_tt *
+       for (i = 0; i < ttm->num_pages; ++i) {
+               from_page = read_mapping_page(swap_space, i, NULL);
+-              if (IS_ERR(from_page))
++              if (IS_ERR(from_page)) {
++                      ret = PTR_ERR(from_page);
+                       goto out_err;
++              }
+               to_page = __ttm_tt_get_page(ttm, i);
+               if (unlikely(to_page == NULL))
+                       goto out_err;
+@@ -509,7 +511,7 @@ static int ttm_tt_swapin(struct ttm_tt *
+       return 0;
+ out_err:
+       ttm_tt_free_alloced_pages(ttm);
+-      return -ENOMEM;
++      return ret;
+ }
+ int ttm_tt_swapout(struct ttm_tt *ttm, struct file *persistant_swap_storage)
+@@ -521,6 +523,7 @@ int ttm_tt_swapout(struct ttm_tt *ttm, s
+       void *from_virtual;
+       void *to_virtual;
+       int i;
++      int ret = -ENOMEM;
+       BUG_ON(ttm->state != tt_unbound && ttm->state != tt_unpopulated);
+       BUG_ON(ttm->caching_state != tt_cached);
+@@ -543,7 +546,7 @@ int ttm_tt_swapout(struct ttm_tt *ttm, s
+                                               0);
+               if (unlikely(IS_ERR(swap_storage))) {
+                       printk(KERN_ERR "Failed allocating swap storage.\n");
+-                      return -ENOMEM;
++                      return PTR_ERR(swap_storage);
+               }
+       } else
+               swap_storage = persistant_swap_storage;
+@@ -555,9 +558,10 @@ int ttm_tt_swapout(struct ttm_tt *ttm, s
+               if (unlikely(from_page == NULL))
+                       continue;
+               to_page = read_mapping_page(swap_space, i, NULL);
+-              if (unlikely(to_page == NULL))
++              if (unlikely(IS_ERR(to_page))) {
++                      ret = PTR_ERR(to_page);
+                       goto out_err;
+-
++              }
+               preempt_disable();
+               from_virtual = kmap_atomic(from_page, KM_USER0);
+               to_virtual = kmap_atomic(to_page, KM_USER1);
+@@ -581,5 +585,5 @@ out_err:
+       if (!persistant_swap_storage)
+               fput(swap_storage);
+-      return -ENOMEM;
++      return ret;
+ }
index 912c4be0d0797a1128d25f1a3960c298ef03afa5..62be4a83352dac52001361d4fcf7d7f2b910c408 100644 (file)
@@ -125,6 +125,10 @@ usb-ftdi_sio-new-device-id-for-papouch-ad4usb.patch
 usb-ftdi_sio-add-device-ids-several-elv-one-mindstorms-nxt.patch
 usb-add-new-ftdi_sio-device-ids.patch
 usb-serial-ftdi-add-contec-vendor-and-product-id.patch
+usb-cp210x-add-81e8-zephyr-bioharness.patch
+usb-unusual_devs-add-support-for-multiple-option-3g-sticks.patch
+drm-i915-use-a-dmi-quirk-to-skip-a-broken-sdvo-tv-output.patch
+drm-ttm-handle-oom-in-ttm_tt_swapout.patch
 sched-fix-sched_mv_power_savings-for-smt.patch
 sched-fix-smt-scheduler-regression-in-find_busiest_queue.patch
 sched-don-t-use-possibly-stale-sched_class.patch
diff --git a/queue-2.6.32/usb-cp210x-add-81e8-zephyr-bioharness.patch b/queue-2.6.32/usb-cp210x-add-81e8-zephyr-bioharness.patch
new file mode 100644 (file)
index 0000000..2e11a18
--- /dev/null
@@ -0,0 +1,35 @@
+From bd07c551aae5d2200c7b195142e5ba63f26424da Mon Sep 17 00:00:00 2001
+From: Alan Cox <alan@linux.intel.com>
+Date: Mon, 8 Feb 2010 10:10:44 +0000
+Subject: USB: cp210x: Add 81E8 (Zephyr Bioharness)
+
+From: Alan Cox <alan@linux.intel.com>
+
+commit bd07c551aae5d2200c7b195142e5ba63f26424da upstream.
+
+As reported in
+http://bugzilla.kernel.org/show_bug.cgi?id=10980
+
+Signed-off-by: Alan Cox <alan@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/cp210x.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/serial/cp210x.c
++++ b/drivers/usb/serial/cp210x.c
+@@ -91,11 +91,12 @@ static struct usb_device_id id_table []
+       { USB_DEVICE(0x10C4, 0x81C8) }, /* Lipowsky Industrie Elektronik GmbH, Baby-JTAG */
+       { USB_DEVICE(0x10C4, 0x81E2) }, /* Lipowsky Industrie Elektronik GmbH, Baby-LIN */
+       { USB_DEVICE(0x10C4, 0x81E7) }, /* Aerocomm Radio */
++      { USB_DEVICE(0x10C4, 0x81E8) }, /* Zephyr Bioharness */
+       { USB_DEVICE(0x10C4, 0x81F2) }, /* C1007 HF band RFID controller */
+       { USB_DEVICE(0x10C4, 0x8218) }, /* Lipowsky Industrie Elektronik GmbH, HARP-1 */
+       { USB_DEVICE(0x10C4, 0x822B) }, /* Modem EDGE(GSM) Comander 2 */
+       { USB_DEVICE(0x10C4, 0x826B) }, /* Cygnal Integrated Products, Inc., Fasttrax GPS demostration module */
+-      { USB_DEVICE(0x10c4, 0x8293) }, /* Telegesys ETRX2USB */
++      { USB_DEVICE(0x10C4, 0x8293) }, /* Telegesys ETRX2USB */
+       { USB_DEVICE(0x10C4, 0x82F9) }, /* Procyon AVS */
+       { USB_DEVICE(0x10C4, 0x8341) }, /* Siemens MC35PU GPRS Modem */
+       { USB_DEVICE(0x10C4, 0x8382) }, /* Cygnal Integrated Products, Inc. */
diff --git a/queue-2.6.32/usb-unusual_devs-add-support-for-multiple-option-3g-sticks.patch b/queue-2.6.32/usb-unusual_devs-add-support-for-multiple-option-3g-sticks.patch
new file mode 100644 (file)
index 0000000..a167693
--- /dev/null
@@ -0,0 +1,126 @@
+From 46216e4fbe8c62059b5440dec0b236f386248a41 Mon Sep 17 00:00:00 2001
+From: Jan Dumon <j.dumon@option.com>
+Date: Tue, 5 Jan 2010 15:53:26 +0100
+Subject: USB: unusual_devs: Add support for multiple Option 3G sticks
+
+From: Jan Dumon <j.dumon@option.com>
+
+commit 46216e4fbe8c62059b5440dec0b236f386248a41 upstream.
+
+Enable the SD-Card interface on multiple Option 3G sticks.
+The unusual_devs.h entry is necessary because the device descriptor is
+vendor-specific. That prevents usb-storage from binding to it as an interface
+driver.
+
+Signed-off-by: Jan Dumon <j.dumon@option.com>
+Signed-off-by: Phil Dibowitz <phil@ipom.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/storage/unusual_devs.h |   88 ++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 86 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/storage/unusual_devs.h
++++ b/drivers/usb/storage/unusual_devs.h
+@@ -1147,8 +1147,8 @@ UNUSUAL_DEV( 0x0af0, 0x7401, 0x0000, 0x0
+               0 ),
+ /* Reported by Jan Dumon <j.dumon@option.com>
+- * This device (wrongly) has a vendor-specific device descriptor.
+- * The entry is needed so usb-storage can bind to it's mass-storage
++ * These devices (wrongly) have a vendor-specific device descriptor.
++ * These entries are needed so usb-storage can bind to their mass-storage
+  * interface as an interface driver */
+ UNUSUAL_DEV( 0x0af0, 0x7501, 0x0000, 0x0000,
+               "Option",
+@@ -1156,6 +1156,90 @@ UNUSUAL_DEV( 0x0af0, 0x7501, 0x0000, 0x0
+               US_SC_DEVICE, US_PR_DEVICE, NULL,
+               0 ),
++UNUSUAL_DEV( 0x0af0, 0x7701, 0x0000, 0x0000,
++              "Option",
++              "GI 0451 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0x7706, 0x0000, 0x0000,
++              "Option",
++              "GI 0451 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0x7901, 0x0000, 0x0000,
++              "Option",
++              "GI 0452 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0x7A01, 0x0000, 0x0000,
++              "Option",
++              "GI 0461 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0x7A05, 0x0000, 0x0000,
++              "Option",
++              "GI 0461 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0x8300, 0x0000, 0x0000,
++              "Option",
++              "GI 033x SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0x8302, 0x0000, 0x0000,
++              "Option",
++              "GI 033x SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0000,
++              "Option",
++              "GI 033x SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0xc100, 0x0000, 0x0000,
++              "Option",
++              "GI 070x SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0xd057, 0x0000, 0x0000,
++              "Option",
++              "GI 1505 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0xd058, 0x0000, 0x0000,
++              "Option",
++              "GI 1509 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0xd157, 0x0000, 0x0000,
++              "Option",
++              "GI 1515 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0xd257, 0x0000, 0x0000,
++              "Option",
++              "GI 1215 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
++UNUSUAL_DEV( 0x0af0, 0xd357, 0x0000, 0x0000,
++              "Option",
++              "GI 1505 SD-Card",
++              US_SC_DEVICE, US_PR_DEVICE, NULL,
++              0 ),
++
+ /* Reported by Ben Efros <ben@pc-doctor.com> */
+ UNUSUAL_DEV( 0x0bc2, 0x3010, 0x0000, 0x0000,
+               "Seagate",