summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-02-24 17:28:52 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2011-02-24 17:28:52 -0800
commite08a9b5408ffe279148add5ede78a55ae2c18310 (patch)
tree19ee431ece6a38fc379eb9d40ad76838f277bbfc
parentd3a7c14081a9ed55afe669d37b2bb8ebcb9b622e (diff)
downloadlongterm-queue-2.6.33-e08a9b5408ffe279148add5ede78a55ae2c18310.tar.gz
.33 patches
-rw-r--r--queue-2.6.33/acer-wmi-fix-capitalisation-of-guid.patch31
-rw-r--r--queue-2.6.33/arm-ensure-predictable-endian-state-on-signal-handler-entry.patch35
-rw-r--r--queue-2.6.33/ecryptfs-copy-up-lower-inode-attrs-in-getattr.patch38
-rw-r--r--queue-2.6.33/genirq-disable-the-shirq_debug-call-in-request_threaded_irq-for-now.patch59
-rw-r--r--queue-2.6.33/p54pci-update-receive-dma-buffers-before-and-after-processing.patch59
-rw-r--r--queue-2.6.33/platform-x86-acer-wmi-world-writable-sysfs-threeg-file.patch30
-rw-r--r--queue-2.6.33/platform-x86-asus_acpi-world-writable-procfs-files.patch39
-rw-r--r--queue-2.6.33/platform-x86-tc1100-wmi-world-writable-sysfs-wireless-and-jogdial-files.patch30
-rw-r--r--queue-2.6.33/revert-drm-radeon-kms-switch-back-to-min-max-pll-post-divider-iteration.patch41
-rw-r--r--queue-2.6.33/series15
-rw-r--r--queue-2.6.33/sierra-add-new-id-for-airprime-sierra-usb-ip-modem.patch39
-rw-r--r--queue-2.6.33/tcp-fix-inet_twsk_deschedule.patch44
-rw-r--r--queue-2.6.33/usb-add-quirk-for-samsung-android-phone-modem.patch37
-rw-r--r--queue-2.6.33/usb-add-quirks-entry-for-keytouch-qwerty-panel.patch35
-rw-r--r--queue-2.6.33/usb-add-samsung-sgh-i500-android-modem-id-switch-to-visor-driver.patch59
-rw-r--r--queue-2.6.33/usb-musb-omap2430-fix-kernel-panic-on-reboot.patch89
16 files changed, 680 insertions, 0 deletions
diff --git a/queue-2.6.33/acer-wmi-fix-capitalisation-of-guid.patch b/queue-2.6.33/acer-wmi-fix-capitalisation-of-guid.patch
new file mode 100644
index 0000000..c481796
--- /dev/null
+++ b/queue-2.6.33/acer-wmi-fix-capitalisation-of-guid.patch
@@ -0,0 +1,31 @@
+From bbb706079abe955a9e3f208f541de97d99449236 Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <mjg@redhat.com>
+Date: Wed, 9 Feb 2011 16:39:40 -0500
+Subject: acer-wmi: Fix capitalisation of GUID
+
+From: Matthew Garrett <mjg@redhat.com>
+
+commit bbb706079abe955a9e3f208f541de97d99449236 upstream.
+
+6AF4F258-B401-42fd-BE91-3D4AC2D7C0D3 needs to be
+6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3 to match the hardware alias.
+
+Signed-off-by: Matthew Garrett <mjg@redhat.com>
+Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/platform/x86/acer-wmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/platform/x86/acer-wmi.c
++++ b/drivers/platform/x86/acer-wmi.c
+@@ -90,7 +90,7 @@ struct acer_quirks {
+ */
+ #define AMW0_GUID1 "67C3371D-95A3-4C37-BB61-DD47B491DAAB"
+ #define AMW0_GUID2 "431F16ED-0C2B-444C-B267-27DEB140CF9C"
+-#define WMID_GUID1 "6AF4F258-B401-42fd-BE91-3D4AC2D7C0D3"
++#define WMID_GUID1 "6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3"
+ #define WMID_GUID2 "95764E09-FB56-4e83-B31A-37761F60994A"
+
+ MODULE_ALIAS("wmi:67C3371D-95A3-4C37-BB61-DD47B491DAAB");
diff --git a/queue-2.6.33/arm-ensure-predictable-endian-state-on-signal-handler-entry.patch b/queue-2.6.33/arm-ensure-predictable-endian-state-on-signal-handler-entry.patch
new file mode 100644
index 0000000..cbcea05
--- /dev/null
+++ b/queue-2.6.33/arm-ensure-predictable-endian-state-on-signal-handler-entry.patch
@@ -0,0 +1,35 @@
+From 53399053eb505cf541b2405bd9d9bca5ecfb96fb Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+Date: Sun, 20 Feb 2011 12:22:52 +0000
+Subject: ARM: Ensure predictable endian state on signal handler entry
+
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+
+commit 53399053eb505cf541b2405bd9d9bca5ecfb96fb upstream.
+
+Ensure a predictable endian state when entering signal handlers. This
+avoids programs which use SETEND to momentarily switch their endian
+state from having their signal handlers entered with an unpredictable
+endian state.
+
+Acked-by: Dave Martin <dave.martin@linaro.org>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/arm/kernel/signal.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/kernel/signal.c
++++ b/arch/arm/kernel/signal.c
+@@ -389,7 +389,9 @@ setup_return(struct pt_regs *regs, struc
+ unsigned long handler = (unsigned long)ka->sa.sa_handler;
+ unsigned long retcode;
+ int thumb = 0;
+- unsigned long cpsr = regs->ARM_cpsr & ~PSR_f;
++ unsigned long cpsr = regs->ARM_cpsr & ~(PSR_f | PSR_E_BIT);
++
++ cpsr |= PSR_ENDSTATE;
+
+ /*
+ * Maybe we need to deliver a 32-bit signal to a 26-bit task.
diff --git a/queue-2.6.33/ecryptfs-copy-up-lower-inode-attrs-in-getattr.patch b/queue-2.6.33/ecryptfs-copy-up-lower-inode-attrs-in-getattr.patch
new file mode 100644
index 0000000..720305a
--- /dev/null
+++ b/queue-2.6.33/ecryptfs-copy-up-lower-inode-attrs-in-getattr.patch
@@ -0,0 +1,38 @@
+From 55f9cf6bbaa682958a7dd2755f883b768270c3ce Mon Sep 17 00:00:00 2001
+From: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
+Date: Tue, 11 Jan 2011 12:43:42 -0600
+Subject: eCryptfs: Copy up lower inode attrs in getattr
+
+From: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
+
+commit 55f9cf6bbaa682958a7dd2755f883b768270c3ce upstream.
+
+The lower filesystem may do some type of inode revalidation during a
+getattr call. eCryptfs should take advantage of that by copying the
+lower inode attributes to the eCryptfs inode after a call to
+vfs_getattr() on the lower inode.
+
+I originally wrote this fix while working on eCryptfs on nfsv3 support,
+but discovered it also fixed an eCryptfs on ext4 nanosecond timestamp
+bug that was reported.
+
+https://bugs.launchpad.net/bugs/613873
+
+Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ fs/ecryptfs/inode.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/fs/ecryptfs/inode.c
++++ b/fs/ecryptfs/inode.c
+@@ -1031,6 +1031,8 @@ int ecryptfs_getattr(struct vfsmount *mn
+ rc = vfs_getattr(ecryptfs_dentry_to_lower_mnt(dentry),
+ ecryptfs_dentry_to_lower(dentry), &lower_stat);
+ if (!rc) {
++ fsstack_copy_attr_all(dentry->d_inode,
++ ecryptfs_inode_to_lower(dentry->d_inode));
+ generic_fillattr(dentry->d_inode, stat);
+ stat->blocks = lower_stat.blocks;
+ }
diff --git a/queue-2.6.33/genirq-disable-the-shirq_debug-call-in-request_threaded_irq-for-now.patch b/queue-2.6.33/genirq-disable-the-shirq_debug-call-in-request_threaded_irq-for-now.patch
new file mode 100644
index 0000000..1000ecf
--- /dev/null
+++ b/queue-2.6.33/genirq-disable-the-shirq_debug-call-in-request_threaded_irq-for-now.patch
@@ -0,0 +1,59 @@
+From 6d83f94db95cfe65d2a6359cccdf61cf087c2598 Mon Sep 17 00:00:00 2001
+From: Thomas Gleixner <tglx@linutronix.de>
+Date: Fri, 18 Feb 2011 23:27:23 +0100
+Subject: genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now
+
+From: Thomas Gleixner <tglx@linutronix.de>
+
+commit 6d83f94db95cfe65d2a6359cccdf61cf087c2598 upstream.
+
+With CONFIG_SHIRQ_DEBUG=y we call a newly installed interrupt handler
+in request_threaded_irq().
+
+The original implementation (commit a304e1b8) called the handler
+_BEFORE_ it was installed, but that caused problems with handlers
+calling disable_irq_nosync(). See commit 377bf1e4.
+
+It's braindead in the first place to call disable_irq_nosync in shared
+handlers, but ....
+
+Moving this call after we installed the handler looks innocent, but it
+is very subtle broken on SMP.
+
+Interrupt handlers rely on the fact, that the irq core prevents
+reentrancy.
+
+Now this debug call violates that promise because we run the handler
+w/o the IRQ_INPROGRESS protection - which we cannot apply here because
+that would result in a possibly forever masked interrupt line.
+
+A concurrent real hardware interrupt on a different CPU results in
+handler reentrancy and can lead to complete wreckage, which was
+unfortunately observed in reality and took a fricking long time to
+debug.
+
+Leave the code here for now. We want this debug feature, but that's
+not easy to fix. We really should get rid of those
+disable_irq_nosync() abusers and remove that function completely.
+
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Cc: Anton Vorontsov <avorontsov@ru.mvista.com>
+Cc: David Woodhouse <dwmw2@infradead.org>
+Cc: Arjan van de Ven <arjan@infradead.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ kernel/irq/manage.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/kernel/irq/manage.c
++++ b/kernel/irq/manage.c
+@@ -1097,7 +1097,7 @@ int request_threaded_irq(unsigned int ir
+ if (retval)
+ kfree(action);
+
+-#ifdef CONFIG_DEBUG_SHIRQ
++#ifdef CONFIG_DEBUG_SHIRQ_FIXME
+ if (!retval && (irqflags & IRQF_SHARED)) {
+ /*
+ * It's a shared IRQ -- the driver ought to be prepared for it
diff --git a/queue-2.6.33/p54pci-update-receive-dma-buffers-before-and-after-processing.patch b/queue-2.6.33/p54pci-update-receive-dma-buffers-before-and-after-processing.patch
new file mode 100644
index 0000000..eb7f458
--- /dev/null
+++ b/queue-2.6.33/p54pci-update-receive-dma-buffers-before-and-after-processing.patch
@@ -0,0 +1,59 @@
+From 0bf719dfdecc5552155cbec78e49fa06e531e35c Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@googlemail.com>
+Date: Fri, 11 Feb 2011 01:48:42 +0100
+Subject: p54pci: update receive dma buffers before and after processing
+
+From: Christian Lamparter <chunkeey@googlemail.com>
+
+commit 0bf719dfdecc5552155cbec78e49fa06e531e35c upstream.
+
+Documentation/DMA-API-HOWTO.txt states:
+
+"DMA transfers need to be synced properly in order for
+the cpu and device to see the most uptodate and correct
+copy of the DMA buffer."
+
+Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/wireless/p54/p54pci.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+--- a/drivers/net/wireless/p54/p54pci.c
++++ b/drivers/net/wireless/p54/p54pci.c
+@@ -198,6 +198,7 @@ static void p54p_check_rx_ring(struct ie
+ while (i != idx) {
+ u16 len;
+ struct sk_buff *skb;
++ dma_addr_t dma_addr;
+ desc = &ring[i];
+ len = le16_to_cpu(desc->len);
+ skb = rx_buf[i];
+@@ -215,17 +216,20 @@ static void p54p_check_rx_ring(struct ie
+
+ len = priv->common.rx_mtu;
+ }
++ dma_addr = le32_to_cpu(desc->host_addr);
++ pci_dma_sync_single_for_cpu(priv->pdev, dma_addr,
++ priv->common.rx_mtu + 32, PCI_DMA_FROMDEVICE);
+ skb_put(skb, len);
+
+ if (p54_rx(dev, skb)) {
+- pci_unmap_single(priv->pdev,
+- le32_to_cpu(desc->host_addr),
+- priv->common.rx_mtu + 32,
+- PCI_DMA_FROMDEVICE);
++ pci_unmap_single(priv->pdev, dma_addr,
++ priv->common.rx_mtu + 32, PCI_DMA_FROMDEVICE);
+ rx_buf[i] = NULL;
+- desc->host_addr = 0;
++ desc->host_addr = cpu_to_le32(0);
+ } else {
+ skb_trim(skb, 0);
++ pci_dma_sync_single_for_device(priv->pdev, dma_addr,
++ priv->common.rx_mtu + 32, PCI_DMA_FROMDEVICE);
+ desc->len = cpu_to_le16(priv->common.rx_mtu + 32);
+ }
+
diff --git a/queue-2.6.33/platform-x86-acer-wmi-world-writable-sysfs-threeg-file.patch b/queue-2.6.33/platform-x86-acer-wmi-world-writable-sysfs-threeg-file.patch
new file mode 100644
index 0000000..dd182b2
--- /dev/null
+++ b/queue-2.6.33/platform-x86-acer-wmi-world-writable-sysfs-threeg-file.patch
@@ -0,0 +1,30 @@
+From b80b168f918bba4b847e884492415546b340e19d Mon Sep 17 00:00:00 2001
+From: Vasiliy Kulikov <segoon@openwall.com>
+Date: Fri, 4 Feb 2011 15:23:56 +0300
+Subject: platform: x86: acer-wmi: world-writable sysfs threeg file
+
+From: Vasiliy Kulikov <segoon@openwall.com>
+
+commit b80b168f918bba4b847e884492415546b340e19d upstream.
+
+Don't allow everybody to write to hardware registers.
+
+Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
+Signed-off-by: Matthew Garrett <mjg@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/platform/x86/acer-wmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/platform/x86/acer-wmi.c
++++ b/drivers/platform/x86/acer-wmi.c
+@@ -1062,7 +1062,7 @@ static ssize_t set_bool_threeg(struct de
+ return -EINVAL;
+ return count;
+ }
+-static DEVICE_ATTR(threeg, S_IWUGO | S_IRUGO | S_IWUSR, show_bool_threeg,
++static DEVICE_ATTR(threeg, S_IRUGO | S_IWUSR, show_bool_threeg,
+ set_bool_threeg);
+
+ static ssize_t show_interface(struct device *dev, struct device_attribute *attr,
diff --git a/queue-2.6.33/platform-x86-asus_acpi-world-writable-procfs-files.patch b/queue-2.6.33/platform-x86-asus_acpi-world-writable-procfs-files.patch
new file mode 100644
index 0000000..62ef40b
--- /dev/null
+++ b/queue-2.6.33/platform-x86-asus_acpi-world-writable-procfs-files.patch
@@ -0,0 +1,39 @@
+From 8040835760adf0ef66876c063d47f79f015fb55d Mon Sep 17 00:00:00 2001
+From: Vasiliy Kulikov <segoon@openwall.com>
+Date: Fri, 4 Feb 2011 15:23:59 +0300
+Subject: platform: x86: asus_acpi: world-writable procfs files
+
+From: Vasiliy Kulikov <segoon@openwall.com>
+
+commit 8040835760adf0ef66876c063d47f79f015fb55d upstream.
+
+Don't allow everybody to change ACPI settings. The comment says that it
+is done deliberatelly, however, the comment before disp_proc_write()
+says that at least one of these setting is experimental.
+
+Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
+Signed-off-by: Matthew Garrett <mjg@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/platform/x86/asus_acpi.c | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+--- a/drivers/platform/x86/asus_acpi.c
++++ b/drivers/platform/x86/asus_acpi.c
+@@ -1078,14 +1078,8 @@ static int asus_hotk_add_fs(struct acpi_
+ struct proc_dir_entry *proc;
+ mode_t mode;
+
+- /*
+- * If parameter uid or gid is not changed, keep the default setting for
+- * our proc entries (-rw-rw-rw-) else, it means we care about security,
+- * and then set to -rw-rw----
+- */
+-
+ if ((asus_uid == 0) && (asus_gid == 0)) {
+- mode = S_IFREG | S_IRUGO | S_IWUGO;
++ mode = S_IFREG | S_IRUGO | S_IWUSR | S_IWGRP;
+ } else {
+ mode = S_IFREG | S_IRUSR | S_IRGRP | S_IWUSR | S_IWGRP;
+ printk(KERN_WARNING " asus_uid and asus_gid parameters are "
diff --git a/queue-2.6.33/platform-x86-tc1100-wmi-world-writable-sysfs-wireless-and-jogdial-files.patch b/queue-2.6.33/platform-x86-tc1100-wmi-world-writable-sysfs-wireless-and-jogdial-files.patch
new file mode 100644
index 0000000..dd1af4d
--- /dev/null
+++ b/queue-2.6.33/platform-x86-tc1100-wmi-world-writable-sysfs-wireless-and-jogdial-files.patch
@@ -0,0 +1,30 @@
+From 8a6a142c1286797978e4db266d22875a5f424897 Mon Sep 17 00:00:00 2001
+From: Vasiliy Kulikov <segoon@openwall.com>
+Date: Fri, 4 Feb 2011 15:24:03 +0300
+Subject: platform: x86: tc1100-wmi: world-writable sysfs wireless and jogdial files
+
+From: Vasiliy Kulikov <segoon@openwall.com>
+
+commit 8a6a142c1286797978e4db266d22875a5f424897 upstream.
+
+Don't allow everybody to change WMI settings.
+
+Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
+Signed-off-by: Matthew Garrett <mjg@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/platform/x86/tc1100-wmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/platform/x86/tc1100-wmi.c
++++ b/drivers/platform/x86/tc1100-wmi.c
+@@ -161,7 +161,7 @@ set_bool_##value(struct device *dev, str
+ return -EINVAL; \
+ return count; \
+ } \
+-static DEVICE_ATTR(value, S_IWUGO | S_IRUGO | S_IWUSR, \
++static DEVICE_ATTR(value, S_IRUGO | S_IWUSR, \
+ show_bool_##value, set_bool_##value);
+
+ show_set_bool(wireless, TC1100_INSTANCE_WIRELESS);
diff --git a/queue-2.6.33/revert-drm-radeon-kms-switch-back-to-min-max-pll-post-divider-iteration.patch b/queue-2.6.33/revert-drm-radeon-kms-switch-back-to-min-max-pll-post-divider-iteration.patch
new file mode 100644
index 0000000..00eb72b
--- /dev/null
+++ b/queue-2.6.33/revert-drm-radeon-kms-switch-back-to-min-max-pll-post-divider-iteration.patch
@@ -0,0 +1,41 @@
+From bd6a60afeb4c9ada3ff27f1d13db1a2b5c11d8c0 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon, 21 Feb 2011 01:11:59 -0500
+Subject: Revert "drm/radeon/kms: switch back to min->max pll post divider iteration"
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit bd6a60afeb4c9ada3ff27f1d13db1a2b5c11d8c0 upstream.
+
+This reverts commit a6f9761743bf35b052180f4a8bdae4d2cc0465f6.
+
+Remove this commit as it is no longer necessary. The relevant bugs
+were fixed properly in:
+drm/radeon/kms: hopefully fix pll issues for real (v3)
+5b40ddf888398ce4cccbf3b9d0a18d90149ed7ff
+drm/radeon/kms: add missing frac fb div flag for dce4+
+9f4283f49f0a96a64c5a45fe56f0f8c942885eef
+
+This commit also broke certain ~5 Mhz modes on old arcade monitors,
+so reverting this commit fixes:
+https://bugzilla.kernel.org/show_bug.cgi?id=29502
+
+Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/radeon_display.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_display.c
++++ b/drivers/gpu/drm/radeon/radeon_display.c
+@@ -464,7 +464,7 @@ void radeon_compute_pll(struct radeon_pl
+ max_fractional_feed_div = pll->max_frac_feedback_div;
+ }
+
+- for (post_div = min_post_div; post_div <= max_post_div; ++post_div) {
++ for (post_div = max_post_div; post_div >= min_post_div; --post_div) {
+ uint32_t ref_div;
+
+ if ((pll->flags & RADEON_PLL_NO_ODD_POST_DIV) && (post_div & 1))
diff --git a/queue-2.6.33/series b/queue-2.6.33/series
index f6a80bc..9fea9f1 100644
--- a/queue-2.6.33/series
+++ b/queue-2.6.33/series
@@ -363,3 +363,18 @@ net-deinit-automatic-list_head.patch
alsa-hda-add-position_fix-quirk-for-an-asus-device.patch
alsa-caiaq-fix-possible-string-buffer-overflow.patch
radio-aimslab.c-needs-include-linux-delay.h.patch
+arm-ensure-predictable-endian-state-on-signal-handler-entry.patch
+acer-wmi-fix-capitalisation-of-guid.patch
+ecryptfs-copy-up-lower-inode-attrs-in-getattr.patch
+genirq-disable-the-shirq_debug-call-in-request_threaded_irq-for-now.patch
+platform-x86-acer-wmi-world-writable-sysfs-threeg-file.patch
+platform-x86-asus_acpi-world-writable-procfs-files.patch
+platform-x86-tc1100-wmi-world-writable-sysfs-wireless-and-jogdial-files.patch
+usb-musb-omap2430-fix-kernel-panic-on-reboot.patch
+usb-add-quirks-entry-for-keytouch-qwerty-panel.patch
+usb-add-samsung-sgh-i500-android-modem-id-switch-to-visor-driver.patch
+usb-add-quirk-for-samsung-android-phone-modem.patch
+sierra-add-new-id-for-airprime-sierra-usb-ip-modem.patch
+p54pci-update-receive-dma-buffers-before-and-after-processing.patch
+revert-drm-radeon-kms-switch-back-to-min-max-pll-post-divider-iteration.patch
+tcp-fix-inet_twsk_deschedule.patch
diff --git a/queue-2.6.33/sierra-add-new-id-for-airprime-sierra-usb-ip-modem.patch b/queue-2.6.33/sierra-add-new-id-for-airprime-sierra-usb-ip-modem.patch
new file mode 100644
index 0000000..22de32d
--- /dev/null
+++ b/queue-2.6.33/sierra-add-new-id-for-airprime-sierra-usb-ip-modem.patch
@@ -0,0 +1,39 @@
+From e1dc5157c574e7249dc1cd072fde2e48b3011533 Mon Sep 17 00:00:00 2001
+From: Jon Thomas <jthomas@redhat.com>
+Date: Wed, 16 Feb 2011 11:02:34 -0500
+Subject: sierra: add new ID for Airprime/Sierra USB IP modem
+
+From: Jon Thomas <jthomas@redhat.com>
+
+commit e1dc5157c574e7249dc1cd072fde2e48b3011533 upstream.
+
+I picked up a new Sierra usb 308 (At&t Shockwave) on 2/2011 and the vendor code
+is 0x0f3d
+
+Looking up vendor and product id's I see:
+
+0f3d Airprime, Incorporated
+ 0112 CDMA 1xEVDO PC Card, PC 5220
+
+Sierra and Airprime are somehow related and I'm guessing the At&t usb 308 might
+be have some common hardware with the AirPrime SL809x.
+
+Signed-off-by: Jon Thomas <jthomas@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/sierra.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/usb/serial/sierra.c
++++ b/drivers/usb/serial/sierra.c
+@@ -300,6 +300,9 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(0x1199, 0x68A3), /* Sierra Wireless Direct IP modems */
+ .driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist
+ },
++ { USB_DEVICE(0x0f3d, 0x68A3), /* Airprime/Sierra Wireless Direct IP modems */
++ .driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist
++ },
+ { USB_DEVICE(0x413C, 0x08133) }, /* Dell Computer Corp. Wireless 5720 VZW Mobile Broadband (EVDO Rev-A) Minicard GPS Port */
+
+ { }
diff --git a/queue-2.6.33/tcp-fix-inet_twsk_deschedule.patch b/queue-2.6.33/tcp-fix-inet_twsk_deschedule.patch
new file mode 100644
index 0000000..4347362
--- /dev/null
+++ b/queue-2.6.33/tcp-fix-inet_twsk_deschedule.patch
@@ -0,0 +1,44 @@
+From 91035f0b7d89291af728b6f3e370c3be58fcbe1b Mon Sep 17 00:00:00 2001
+From: Eric Dumazet <eric.dumazet@gmail.com>
+Date: Fri, 18 Feb 2011 22:35:56 +0000
+Subject: tcp: fix inet_twsk_deschedule()
+
+From: Eric Dumazet <eric.dumazet@gmail.com>
+
+commit 91035f0b7d89291af728b6f3e370c3be58fcbe1b upstream.
+
+Eric W. Biederman reported a lockdep splat in inet_twsk_deschedule()
+
+This is caused by inet_twsk_purge(), run from process context,
+and commit 575f4cd5a5b6394577 (net: Use rcu lookups in inet_twsk_purge.)
+removed the BH disabling that was necessary.
+
+Add the BH disabling but fine grained, right before calling
+inet_twsk_deschedule(), instead of whole function.
+
+With help from Linus Torvalds and Eric W. Biederman
+
+Reported-by: Eric W. Biederman <ebiederm@xmission.com>
+Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+CC: Daniel Lezcano <daniel.lezcano@free.fr>
+CC: Pavel Emelyanov <xemul@openvz.org>
+CC: Arnaldo Carvalho de Melo <acme@redhat.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/ipv4/inet_timewait_sock.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/net/ipv4/inet_timewait_sock.c
++++ b/net/ipv4/inet_timewait_sock.c
+@@ -504,7 +504,9 @@ restart:
+ }
+
+ rcu_read_unlock();
++ local_bh_disable();
+ inet_twsk_deschedule(tw, twdr);
++ local_bh_enable();
+ inet_twsk_put(tw);
+ goto restart_rcu;
+ }
diff --git a/queue-2.6.33/usb-add-quirk-for-samsung-android-phone-modem.patch b/queue-2.6.33/usb-add-quirk-for-samsung-android-phone-modem.patch
new file mode 100644
index 0000000..b9caa34
--- /dev/null
+++ b/queue-2.6.33/usb-add-quirk-for-samsung-android-phone-modem.patch
@@ -0,0 +1,37 @@
+From 72a012ce0a02c6c616676a24b40ff81d1aaeafda Mon Sep 17 00:00:00 2001
+From: Maciej Szmigiero <mhej@o2.pl>
+Date: Sat, 5 Feb 2011 21:52:00 +0100
+Subject: USB: Add quirk for Samsung Android phone modem
+
+From: Maciej Szmigiero <mhej@o2.pl>
+
+commit 72a012ce0a02c6c616676a24b40ff81d1aaeafda upstream.
+
+My Galaxy Spica needs this quirk when in modem mode, otherwise
+it causes endless USB bus resets and is unusable in this mode.
+
+Unfortunately Samsung decided to reuse ID of its old CDMA phone SGH-I500
+for the modem part.
+That's why in addition to this patch the visor driver must be prevented
+from binding to SPH-I500 ID, so ACM driver can do that.
+
+Signed-off-by: Maciej Szmigiero <mhej@o2.pl>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/quirks.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/usb/core/quirks.c
++++ b/drivers/usb/core/quirks.c
+@@ -45,6 +45,10 @@ static const struct usb_device_id usb_qu
+ { USB_DEVICE(0x04b4, 0x0526), .driver_info =
+ USB_QUIRK_CONFIG_INTF_STRINGS },
+
++ /* Samsung Android phone modem - ID conflict with SPH-I500 */
++ { USB_DEVICE(0x04e8, 0x6601), .driver_info =
++ USB_QUIRK_CONFIG_INTF_STRINGS },
++
+ /* Roland SC-8820 */
+ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME },
+
diff --git a/queue-2.6.33/usb-add-quirks-entry-for-keytouch-qwerty-panel.patch b/queue-2.6.33/usb-add-quirks-entry-for-keytouch-qwerty-panel.patch
new file mode 100644
index 0000000..7f3b137
--- /dev/null
+++ b/queue-2.6.33/usb-add-quirks-entry-for-keytouch-qwerty-panel.patch
@@ -0,0 +1,35 @@
+From 3c18e30f87ac5466bddbb05cf955605efd7db025 Mon Sep 17 00:00:00 2001
+From: Alan Stern <stern@rowland.harvard.edu>
+Date: Thu, 17 Feb 2011 10:26:38 -0500
+Subject: USB: add quirks entry for Keytouch QWERTY Panel
+
+From: Alan Stern <stern@rowland.harvard.edu>
+
+commit 3c18e30f87ac5466bddbb05cf955605efd7db025 upstream.
+
+This patch (as1448) adds a quirks entry for the Keytouch QWERTY Panel
+firmware, used in the IEC 60945 keyboard. This device crashes during
+enumeration when the computer asks for its configuration string
+descriptor.
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+Tested-by: kholis <nur.kholis.majid@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/quirks.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/usb/core/quirks.c
++++ b/drivers/usb/core/quirks.c
+@@ -65,6 +65,10 @@ static const struct usb_device_id usb_qu
+ /* M-Systems Flash Disk Pioneers */
+ { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
+
++ /* Keytouch QWERTY Panel keyboard */
++ { USB_DEVICE(0x0926, 0x3333), .driver_info =
++ USB_QUIRK_CONFIG_INTF_STRINGS },
++
+ /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */
+ { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF },
+
diff --git a/queue-2.6.33/usb-add-samsung-sgh-i500-android-modem-id-switch-to-visor-driver.patch b/queue-2.6.33/usb-add-samsung-sgh-i500-android-modem-id-switch-to-visor-driver.patch
new file mode 100644
index 0000000..ab897d5
--- /dev/null
+++ b/queue-2.6.33/usb-add-samsung-sgh-i500-android-modem-id-switch-to-visor-driver.patch
@@ -0,0 +1,59 @@
+From acb52cb1613e1d3c8a8c650717cc51965c60d7d4 Mon Sep 17 00:00:00 2001
+From: Maciej Szmigiero <mhej@o2.pl>
+Date: Mon, 7 Feb 2011 12:42:36 +0100
+Subject: USB: Add Samsung SGH-I500/Android modem ID switch to visor driver
+
+From: Maciej Szmigiero <mhej@o2.pl>
+
+commit acb52cb1613e1d3c8a8c650717cc51965c60d7d4 upstream.
+
+[USB]Add Samsung SGH-I500/Android modem ID switch to visor driver
+
+Samsung decided to reuse USB ID of its old CDMA phone SGH-I500 for the
+modem part of some of their Android phones. At least Galaxy Spica
+is affected.
+
+This modem needs ACM driver and does not work with visor driver which
+binds the conflicting ID for SGH-I500.
+Because SGH-I500 is pretty an old hardware its best to add switch to
+visor
+driver in cause somebody still wants to use that phone with Linux.
+
+Note that this is needed only when using the Android phone as modem,
+not in USB storage or ADB mode.
+
+Signed-off-by: Maciej Szmigiero <mhej@o2.pl>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/visor.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- a/drivers/usb/serial/visor.c
++++ b/drivers/usb/serial/visor.c
+@@ -27,6 +27,7 @@
+ #include <linux/uaccess.h>
+ #include <linux/usb.h>
+ #include <linux/usb/serial.h>
++#include <linux/usb/cdc.h>
+ #include "visor.h"
+
+ /*
+@@ -758,6 +759,17 @@ static int visor_probe(struct usb_serial
+
+ dbg("%s", __func__);
+
++ /*
++ * some Samsung Android phones in modem mode have the same ID
++ * as SPH-I500, but they are ACM devices, so dont bind to them
++ */
++ if (id->idVendor == SAMSUNG_VENDOR_ID &&
++ id->idProduct == SAMSUNG_SPH_I500_ID &&
++ serial->dev->descriptor.bDeviceClass == USB_CLASS_COMM &&
++ serial->dev->descriptor.bDeviceSubClass ==
++ USB_CDC_SUBCLASS_ACM)
++ return -ENODEV;
++
+ if (serial->dev->actconfig->desc.bConfigurationValue != 1) {
+ dev_err(&serial->dev->dev, "active config #%d != 1 ??\n",
+ serial->dev->actconfig->desc.bConfigurationValue);
diff --git a/queue-2.6.33/usb-musb-omap2430-fix-kernel-panic-on-reboot.patch b/queue-2.6.33/usb-musb-omap2430-fix-kernel-panic-on-reboot.patch
new file mode 100644
index 0000000..7cc1d09
--- /dev/null
+++ b/queue-2.6.33/usb-musb-omap2430-fix-kernel-panic-on-reboot.patch
@@ -0,0 +1,89 @@
+From b193b412e62b134adf69af286c7e7f8e99259350 Mon Sep 17 00:00:00 2001
+From: Johan Hovold <jhovold@gmail.com>
+Date: Fri, 11 Feb 2011 16:57:08 +0100
+Subject: usb: musb: omap2430: fix kernel panic on reboot
+
+From: Johan Hovold <jhovold@gmail.com>
+
+commit b193b412e62b134adf69af286c7e7f8e99259350 upstream.
+
+Cancel idle timer in musb_platform_exit.
+
+The idle timer could trigger after clock had been disabled leading to
+kernel panic when MUSB_DEVCTL is accessed in musb_do_idle on 2.6.37.
+
+The fault below is no longer triggered on 2.6.38-rc4 (clock is disabled
+later, and only if compiled as a module, and the offending memory access
+has moved) but the timer should be cancelled nonetheless.
+
+Rebooting... musb_hdrc musb_hdrc: remove, state 4
+usb usb1: USB disconnect, address 1
+musb_hdrc musb_hdrc: USB bus 1 deregistered
+Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa0ab060
+Internal error: : 1028 [#1] PREEMPT
+last sysfs file: /sys/kernel/uevent_seqnum
+Modules linked in:
+CPU: 0 Not tainted (2.6.37+ #6)
+PC is at musb_do_idle+0x24/0x138
+LR is at musb_do_idle+0x18/0x138
+pc : [<c02377d8>] lr : [<c02377cc>] psr: 80000193
+sp : cf2bdd80 ip : cf2bdd80 fp : c048a20c
+r10: c048a60c r9 : c048a40c r8 : cf85e110
+r7 : cf2bc000 r6 : 40000113 r5 : c0489800 r4 : cf85e110
+r3 : 00000004 r2 : 00000006 r1 : fa0ab000 r0 : cf8a7000
+Flags: Nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
+Control: 10c5387d Table: 8faac019 DAC: 00000015
+Process reboot (pid: 769, stack limit = 0xcf2bc2f0)
+Stack: (0xcf2bdd80 to 0xcf2be000)
+dd80: 00000103 c0489800 c02377b4 c005fa34 00000555 c0071a8c c04a3858 cf2bdda8
+dda0: 00000555 c048a00c cf2bdda8 cf2bdda8 1838beb0 00000103 00000004 cf2bc000
+ddc0: 00000001 00000001 c04896c8 0000000a 00000000 c005ac14 00000001 c003f32c
+dde0: 00000000 00000025 00000000 cf2bc000 00000002 00000001 cf2bc000 00000000
+de00: 00000001 c005ad08 cf2bc000 c002e07c c03ec039 ffffffff fa200000 c0033608
+de20: 00000001 00000000 cf852c14 cf81f200 c045b714 c045b708 cf2bc000 c04a37e8
+de40: c0033c04 cf2bc000 00000000 00000001 cf2bde68 cf2bde68 c01c3abc c004f7d8
+de60: 60000013 ffffffff c0033c04 00000000 01234567 fee1dead 00000000 c006627c
+de80: 00000001 c00662c8 28121969 c00663ec cfa38c40 cf9f6a00 cf2bded0 cf9f6a0c
+dea0: 00000000 cf92f000 00008914 c02cd284 c04a55c8 c028b398 c00715c0 becf24a8
+dec0: 30687465 00000000 00000000 00000000 00000002 1301a8c0 00000000 00000000
+dee0: 00000002 1301a8c0 00000000 00000000 c0450494 cf527920 00011f10 cf2bdf08
+df00: 00011f10 cf2bdf10 00011f10 cf2bdf18 c00f0b44 c004f7e8 cf2bdf18 cf2bdf18
+df20: 00011f10 cf2bdf30 00011f10 cf2bdf38 cf401300 cf486100 00000008 c00d2b28
+df40: 00011f10 cf401300 00200200 c00d3388 00011f10 cfb63a88 cfb63a80 c00c2f08
+df60: 00000000 00000000 cfb63a80 00000000 cf0a3480 00000006 c0033c04 cfb63a80
+df80: 00000000 c00c0104 00000003 cf0a3480 cfb63a80 00000000 00000001 00000004
+dfa0: 00000058 c0033a80 00000000 00000001 fee1dead 28121969 01234567 00000000
+dfc0: 00000000 00000001 00000004 00000058 00000001 00000001 00000000 00000001
+dfe0: 4024d200 becf2cb0 00009210 4024d218 60000010 fee1dead 00000000 00000000
+[<c02377d8>] (musb_do_idle+0x24/0x138) from [<c005fa34>] (run_timer_softirq+0x1a8/0x26)
+[<c005fa34>] (run_timer_softirq+0x1a8/0x26c) from [<c005ac14>] (__do_softirq+0x88/0x13)
+[<c005ac14>] (__do_softirq+0x88/0x138) from [<c005ad08>] (irq_exit+0x44/0x98)
+[<c005ad08>] (irq_exit+0x44/0x98) from [<c002e07c>] (asm_do_IRQ+0x7c/0xa0)
+[<c002e07c>] (asm_do_IRQ+0x7c/0xa0) from [<c0033608>] (__irq_svc+0x48/0xa8)
+Exception stack(0xcf2bde20 to 0xcf2bde68)
+de20: 00000001 00000000 cf852c14 cf81f200 c045b714 c045b708 cf2bc000 c04a37e8
+de40: c0033c04 cf2bc000 00000000 00000001 cf2bde68 cf2bde68 c01c3abc c004f7d8
+de60: 60000013 ffffffff
+[<c0033608>] (__irq_svc+0x48/0xa8) from [<c004f7d8>] (sub_preempt_count+0x0/0xb8)
+Code: ebf86030 e5940098 e594108c e5902010 (e5d13060)
+---[ end trace 3689c0d808f9bf7c ]---
+Kernel panic - not syncing: Fatal exception in interrupt
+
+Signed-off-by: Johan Hovold <jhovold@gmail.com>
+Signed-off-by: Felipe Balbi <balbi@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/omap2430.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/musb/omap2430.c
++++ b/drivers/usb/musb/omap2430.c
+@@ -309,6 +309,7 @@ static int musb_platform_resume(struct m
+
+ int musb_platform_exit(struct musb *musb)
+ {
++ del_timer_sync(&musb_idle_timer);
+
+ omap_vbus_power(musb, 0 /*off*/, 1);
+