diff options
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) { @@ -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 @@ -1 +1 @@ -2.6.30-rc6 +2.6.30-rc7 |
