aboutsummaryrefslogtreecommitdiffstats
diff options
-rw-r--r--driver-core/driver-core-devtmpfs-driver-core-maintained-dev-tmpfs.patch2
-rw-r--r--driver-core/ide-remove-driver_data-direct-access-of-struct-device.patch4
-rw-r--r--driver-core/wireless-remove-driver_data-direct-access-of-struct-device.patch44
-rw-r--r--driver-core/xen-block-remove-driver_data-direct-access-of-struct-device.patch4
-rw-r--r--series2
-rw-r--r--usb.current/revert-usb-correct-makefile-to-make-isp1760-buildable.patch35
-rw-r--r--usb.current/usb-serial-fix-crash-when-sub-driver-updates-firmware.patch44
-rw-r--r--usb/usb-xhci-add-makefile-maintainers-and-kconfig-entries.patch2
-rw-r--r--version2
9 files changed, 110 insertions, 29 deletions
diff --git a/driver-core/driver-core-devtmpfs-driver-core-maintained-dev-tmpfs.patch b/driver-core/driver-core-devtmpfs-driver-core-maintained-dev-tmpfs.patch
index 6037e78d1c2a26..f92d78c8cc53ea 100644
--- a/driver-core/driver-core-devtmpfs-driver-core-maintained-dev-tmpfs.patch
+++ b/driver-core/driver-core-devtmpfs-driver-core-maintained-dev-tmpfs.patch
@@ -562,7 +562,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#include <trace/boot.h>
#include <asm/io.h>
-@@ -778,6 +779,7 @@ static void __init do_basic_setup(void)
+@@ -777,6 +778,7 @@ static void __init do_basic_setup(void)
init_workqueues();
cpuset_init_smp();
usermodehelper_init();
diff --git a/driver-core/ide-remove-driver_data-direct-access-of-struct-device.patch b/driver-core/ide-remove-driver_data-direct-access-of-struct-device.patch
index 5437aaab3e276b..0d907d96b342cf 100644
--- a/driver-core/ide-remove-driver_data-direct-access-of-struct-device.patch
+++ b/driver-core/ide-remove-driver_data-direct-access-of-struct-device.patch
@@ -55,7 +55,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct request_pm_state rqpm;
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
-@@ -550,7 +550,7 @@ static int ide_register_port(ide_hwif_t
+@@ -553,7 +553,7 @@ static int ide_register_port(ide_hwif_t
/* register with global device tree */
dev_set_name(&hwif->gendev, hwif->name);
@@ -64,7 +64,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (hwif->gendev.parent == NULL)
hwif->gendev.parent = hwif->dev;
hwif->gendev.release = hwif_release_dev;
-@@ -999,9 +999,9 @@ static void hwif_register_devices(ide_hw
+@@ -1002,9 +1002,9 @@ static void hwif_register_devices(ide_hw
int ret;
dev_set_name(dev, "%u.%u", hwif->index, i);
diff --git a/driver-core/wireless-remove-driver_data-direct-access-of-struct-device.patch b/driver-core/wireless-remove-driver_data-direct-access-of-struct-device.patch
index 922e26568d76f8..523d8b27712489 100644
--- a/driver-core/wireless-remove-driver_data-direct-access-of-struct-device.patch
+++ b/driver-core/wireless-remove-driver_data-direct-access-of-struct-device.patch
@@ -281,7 +281,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
else
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
-@@ -4364,7 +4364,7 @@ static int iwl3945_mac_beacon_update(str
+@@ -4359,7 +4359,7 @@ static int iwl3945_mac_beacon_update(str
static ssize_t show_debug_level(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -290,7 +290,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return sprintf(buf, "0x%08X\n", priv->debug_level);
}
-@@ -4372,7 +4372,7 @@ static ssize_t store_debug_level(struct
+@@ -4367,7 +4367,7 @@ static ssize_t store_debug_level(struct
struct device_attribute *attr,
const char *buf, size_t count)
{
@@ -299,7 +299,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
unsigned long val;
int ret;
-@@ -4393,7 +4393,7 @@ static DEVICE_ATTR(debug_level, S_IWUSR
+@@ -4388,7 +4388,7 @@ static DEVICE_ATTR(debug_level, S_IWUSR
static ssize_t show_temperature(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -308,7 +308,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (!iwl_is_alive(priv))
return -EAGAIN;
-@@ -4406,7 +4406,7 @@ static DEVICE_ATTR(temperature, S_IRUGO,
+@@ -4401,7 +4401,7 @@ static DEVICE_ATTR(temperature, S_IRUGO,
static ssize_t show_tx_power(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -317,7 +317,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return sprintf(buf, "%d\n", priv->tx_power_user_lmt);
}
-@@ -4414,7 +4414,7 @@ static ssize_t store_tx_power(struct dev
+@@ -4409,7 +4409,7 @@ static ssize_t store_tx_power(struct dev
struct device_attribute *attr,
const char *buf, size_t count)
{
@@ -326,7 +326,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
char *p = (char *)buf;
u32 val;
-@@ -4432,7 +4432,7 @@ static DEVICE_ATTR(tx_power, S_IWUSR | S
+@@ -4427,7 +4427,7 @@ static DEVICE_ATTR(tx_power, S_IWUSR | S
static ssize_t show_flags(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -335,7 +335,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return sprintf(buf, "0x%04X\n", priv->active_rxon.flags);
}
-@@ -4441,7 +4441,7 @@ static ssize_t store_flags(struct device
+@@ -4436,7 +4436,7 @@ static ssize_t store_flags(struct device
struct device_attribute *attr,
const char *buf, size_t count)
{
@@ -344,7 +344,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
u32 flags = simple_strtoul(buf, NULL, 0);
mutex_lock(&priv->mutex);
-@@ -4466,7 +4466,7 @@ static DEVICE_ATTR(flags, S_IWUSR | S_IR
+@@ -4461,7 +4461,7 @@ static DEVICE_ATTR(flags, S_IWUSR | S_IR
static ssize_t show_filter_flags(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -353,7 +353,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return sprintf(buf, "0x%04X\n",
le32_to_cpu(priv->active_rxon.filter_flags));
-@@ -4476,7 +4476,7 @@ static ssize_t store_filter_flags(struct
+@@ -4471,7 +4471,7 @@ static ssize_t store_filter_flags(struct
struct device_attribute *attr,
const char *buf, size_t count)
{
@@ -362,7 +362,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
u32 filter_flags = simple_strtoul(buf, NULL, 0);
mutex_lock(&priv->mutex);
-@@ -4761,7 +4761,7 @@ static DEVICE_ATTR(antenna, S_IWUSR | S_
+@@ -4756,7 +4756,7 @@ static DEVICE_ATTR(antenna, S_IWUSR | S_
static ssize_t show_status(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -371,7 +371,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (!iwl_is_alive(priv))
return -EAGAIN;
return sprintf(buf, "0x%08x\n", (int)priv->status);
-@@ -4773,10 +4773,11 @@ static ssize_t dump_error_log(struct dev
+@@ -4768,10 +4768,11 @@ static ssize_t dump_error_log(struct dev
struct device_attribute *attr,
const char *buf, size_t count)
{
@@ -384,7 +384,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return strnlen(buf, count);
}
-@@ -4787,10 +4788,11 @@ static ssize_t dump_event_log(struct dev
+@@ -4782,10 +4783,11 @@ static ssize_t dump_event_log(struct dev
struct device_attribute *attr,
const char *buf, size_t count)
{
@@ -399,7 +399,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
-@@ -2895,7 +2895,7 @@ static int iwl_mac_beacon_update(struct
+@@ -2888,7 +2888,7 @@ static int iwl_mac_beacon_update(struct
static ssize_t show_debug_level(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -408,7 +408,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return sprintf(buf, "0x%08X\n", priv->debug_level);
}
-@@ -2903,7 +2903,7 @@ static ssize_t store_debug_level(struct
+@@ -2896,7 +2896,7 @@ static ssize_t store_debug_level(struct
struct device_attribute *attr,
const char *buf, size_t count)
{
@@ -417,7 +417,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
unsigned long val;
int ret;
-@@ -2926,7 +2926,7 @@ static DEVICE_ATTR(debug_level, S_IWUSR
+@@ -2919,7 +2919,7 @@ static DEVICE_ATTR(debug_level, S_IWUSR
static ssize_t show_version(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -426,7 +426,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct iwl_alive_resp *palive = &priv->card_alive;
ssize_t pos = 0;
u16 eeprom_ver;
-@@ -2957,7 +2957,7 @@ static DEVICE_ATTR(version, S_IWUSR | S_
+@@ -2950,7 +2950,7 @@ static DEVICE_ATTR(version, S_IWUSR | S_
static ssize_t show_temperature(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -435,7 +435,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (!iwl_is_alive(priv))
return -EAGAIN;
-@@ -2970,7 +2970,7 @@ static DEVICE_ATTR(temperature, S_IRUGO,
+@@ -2963,7 +2963,7 @@ static DEVICE_ATTR(temperature, S_IRUGO,
static ssize_t show_tx_power(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -444,7 +444,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (!iwl_is_ready_rf(priv))
return sprintf(buf, "off\n");
-@@ -2982,7 +2982,7 @@ static ssize_t store_tx_power(struct dev
+@@ -2975,7 +2975,7 @@ static ssize_t store_tx_power(struct dev
struct device_attribute *attr,
const char *buf, size_t count)
{
@@ -453,7 +453,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
unsigned long val;
int ret;
-@@ -3000,7 +3000,7 @@ static DEVICE_ATTR(tx_power, S_IWUSR | S
+@@ -2993,7 +2993,7 @@ static DEVICE_ATTR(tx_power, S_IWUSR | S
static ssize_t show_flags(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -462,7 +462,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return sprintf(buf, "0x%04X\n", priv->active_rxon.flags);
}
-@@ -3009,7 +3009,7 @@ static ssize_t store_flags(struct device
+@@ -3002,7 +3002,7 @@ static ssize_t store_flags(struct device
struct device_attribute *attr,
const char *buf, size_t count)
{
@@ -471,7 +471,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
unsigned long val;
u32 flags;
int ret = strict_strtoul(buf, 0, &val);
-@@ -3038,7 +3038,7 @@ static DEVICE_ATTR(flags, S_IWUSR | S_IR
+@@ -3031,7 +3031,7 @@ static DEVICE_ATTR(flags, S_IWUSR | S_IR
static ssize_t show_filter_flags(struct device *d,
struct device_attribute *attr, char *buf)
{
@@ -480,7 +480,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return sprintf(buf, "0x%04X\n",
le32_to_cpu(priv->active_rxon.filter_flags));
-@@ -3048,7 +3048,7 @@ static ssize_t store_filter_flags(struct
+@@ -3041,7 +3041,7 @@ static ssize_t store_filter_flags(struct
struct device_attribute *attr,
const char *buf, size_t count)
{
diff --git a/driver-core/xen-block-remove-driver_data-direct-access-of-struct-device.patch b/driver-core/xen-block-remove-driver_data-direct-access-of-struct-device.patch
index 759cb0e06d6ceb..500fd4feede4e3 100644
--- a/driver-core/xen-block-remove-driver_data-direct-access-of-struct-device.patch
+++ b/driver-core/xen-block-remove-driver_data-direct-access-of-struct-device.patch
@@ -64,7 +64,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct block_device *bd;
dev_dbg(&dev->dev, "blkfront:backend_changed.\n");
-@@ -997,7 +997,7 @@ static void backend_changed(struct xenbu
+@@ -999,7 +999,7 @@ static void backend_changed(struct xenbu
static int blkfront_remove(struct xenbus_device *dev)
{
@@ -73,7 +73,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
dev_dbg(&dev->dev, "blkfront_remove: %s removed\n", dev->nodename);
-@@ -1010,7 +1010,7 @@ static int blkfront_remove(struct xenbus
+@@ -1012,7 +1012,7 @@ static int blkfront_remove(struct xenbus
static int blkfront_is_ready(struct xenbus_device *dev)
{
diff --git a/series b/series
index a89a180669c296..7a85df39f83183 100644
--- a/series
+++ b/series
@@ -20,6 +20,8 @@ usb.current/usb-atmel-usba-udc-fix-control-out-requests.patch
usb.current/usb-atmel_usb_udc-use-kzalloc-to-allocate-ep-structures.patch
usb.current/usb-yet-another-conexant-clone-to-add-to-cdc-acm.c.patch
usb.current/usb-isp1760-urb_dequeue-doesn-t-always-find-the-urbs.patch
+usb.current/usb-serial-fix-crash-when-sub-driver-updates-firmware.patch
+usb.current/revert-usb-correct-makefile-to-make-isp1760-buildable.patch
diff --git a/usb.current/revert-usb-correct-makefile-to-make-isp1760-buildable.patch b/usb.current/revert-usb-correct-makefile-to-make-isp1760-buildable.patch
new file mode 100644
index 00000000000000..7d105b5f77296e
--- /dev/null
+++ b/usb.current/revert-usb-correct-makefile-to-make-isp1760-buildable.patch
@@ -0,0 +1,35 @@
+From vapier@gentoo.org Thu May 28 13:19:36 2009
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 20 May 2009 08:49:48 -0400
+Subject: Revert "USB: Correct Makefile to make isp1760 buildable"
+To: linux-kernel@vger.kernel.org
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, linux-usb@vger.kernel.org
+Message-ID: <1242823788-21001-1-git-send-email-vapier@gentoo.org>
+
+
+This reverts commit 26e1287594864169577327fef233befc9739be3b.
+
+A larger patch (f7e7aa585) a few days after this one added the same line
+to the Makefile, but in a different place. While it'd be more correct to
+revert that one, it's easier to revert this one because this is a
+one-liner.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+CC: Greg Kroah-Hartman <gregkh@suse.de>
+CC: linux-usb@vger.kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/usb/Makefile
++++ b/drivers/usb/Makefile
+@@ -11,7 +11,6 @@ obj-$(CONFIG_USB_MON) += mon/
+ obj-$(CONFIG_PCI) += host/
+ obj-$(CONFIG_USB_EHCI_HCD) += host/
+ obj-$(CONFIG_USB_ISP116X_HCD) += host/
+-obj-$(CONFIG_USB_ISP1760_HCD) += host/
+ obj-$(CONFIG_USB_OHCI_HCD) += host/
+ obj-$(CONFIG_USB_UHCI_HCD) += host/
+ obj-$(CONFIG_USB_FHCI_HCD) += host/
diff --git a/usb.current/usb-serial-fix-crash-when-sub-driver-updates-firmware.patch b/usb.current/usb-serial-fix-crash-when-sub-driver-updates-firmware.patch
new file mode 100644
index 00000000000000..883496157f86af
--- /dev/null
+++ b/usb.current/usb-serial-fix-crash-when-sub-driver-updates-firmware.patch
@@ -0,0 +1,44 @@
+From stern@rowland.harvard.edu Thu May 28 13:18:13 2009
+From: Alan Stern <stern@rowland.harvard.edu>
+Date: Wed, 27 May 2009 11:25:52 -0400 (EDT)
+Subject: usb-serial: fix crash when sub-driver updates firmware
+To: Greg KH <greg@kroah.com>
+Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Message-ID: <Pine.LNX.4.44L0.0905271121440.2942-100000@iolanthe.rowland.org>
+
+
+This patch (as1244) fixes a crash in usb-serial that occurs when a
+sub-driver returns a positive value from its attach method, indicating
+that new firmware was loaded and the device will disconnect and
+reconnect. The usb-serial core then skips the step of registering the
+port devices; when the disconnect occurs, the attempt to unregister
+the ports fails dramatically.
+
+This problem shows up with Keyspan devices and it might affect others
+as well.
+
+When the attach method returns a positive value, the patch sets
+num_ports to 0. This tells usb_serial_disconnect() not to try
+unregistering any of the ports; instead they are cleaned up by
+destroy_serial().
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+Tested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+
+---
+ drivers/usb/serial/usb-serial.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/serial/usb-serial.c
++++ b/drivers/usb/serial/usb-serial.c
+@@ -974,6 +974,7 @@ int usb_serial_probe(struct usb_interfac
+ if (retval > 0) {
+ /* quietly accept this device, but don't bind to a
+ serial port as it's about to disappear */
++ serial->num_ports = 0;
+ goto exit;
+ }
+ }
diff --git a/usb/usb-xhci-add-makefile-maintainers-and-kconfig-entries.patch b/usb/usb-xhci-add-makefile-maintainers-and-kconfig-entries.patch
index bc8ff735954a4f..91cf2e1515a7b6 100644
--- a/usb/usb-xhci-add-makefile-maintainers-and-kconfig-entries.patch
+++ b/usb/usb-xhci-add-makefile-maintainers-and-kconfig-entries.patch
@@ -78,7 +78,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
obj-$(CONFIG_USB_R8A66597_HCD) += host/
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -6013,6 +6013,12 @@ L: linux-wireless@vger.kernel.org
+@@ -6029,6 +6029,12 @@ L: linux-wireless@vger.kernel.org
S: Maintained
F: drivers/net/wireless/rndis_wlan.c
diff --git a/version b/version
index a156c25c203818..5d4e9994cbffec 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2.6.30-rc6
+2.6.30-rc7