commit 116b23b0ed36f8d5b56d16ac50266fce8de904c1 Merge: b6ef977... 9e1402a... Author: Linus Torvalds Date: Fri Dec 1 20:55:21 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: [PATCH] Fix an offset error when reading the CS89x0 ADD_PORT register [PATCH] spidernet: poor network performance [PATCH] Spidernet: remove ETH_ZLEN check in earlier patch [PATCH] bonding: fix an oops when slave device does not provide get_stats [PATCH] drivers/net: SAA9730: Fix build error Revert "[PATCH] zd1211rw: Removed unneeded packed attributes" [PATCH] zd1211rw: Fix of a locking bug [PATCH] softmac: remove netif_tx_disable when scanning [PATCH] ieee80211: Fix kernel panic when QoS is enabled commit b6ef977b608b01e0f338afd9445cab5436c61e00 Merge: 9ba5aa3... bdbf77d... Author: Linus Torvalds Date: Fri Dec 1 16:47:26 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1 [WATCHDOG] MIPS RM9000 on-chip watchdog device [WATCHDOG] Add iTCO vendor specific support [WATCHDOG] sc1200wdt.c pnp unregister fix. [WATCHDOG] config.h removal [WATCHDOG] NS pc87413-wdt Watchdog driver - fixes [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1 [WATCHDOG] NS pc87413-wdt Watchdog driver commit 9ba5aa3126873a9c29999b78de20a52c5f87d389 Merge: c3e59d1... a17259a... Author: Linus Torvalds Date: Fri Dec 1 16:46:22 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [PATCH] libata: add missing sht->slave_destroy [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers commit c3e59d1e891f6140a346de2b8547e25133c716b0 Merge: b07e3c3... aa414df... Author: Linus Torvalds Date: Fri Dec 1 16:44:02 2006 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (31 commits) [MIPS] Remove duplicate ISA DMA code for 0 DMA channel case. [MIPS] Remove unused definition of cpu_to_lelongp() [MIPS] Remove userspace proofing from . [MIPS] Remove old junk left from old atomic_lock. [MIPS] Use conditional traps for BUG_ON on MIPS II and better. [MIPS] mips HPT cleanup: make clocksource_mips public [MIPS] do_IRQ cleanup [MIPS] Avoid dupliate D-cache flush on R400C / R4400 SC and MC variants. [MIPS] Remove redundant r4k_blast_icache() calls [MIPS] Work around bogus gcc warnings. [MIPS] Fix double inclusions [MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq [MIPS] IRQ cleanups [MIPS] mips hpt cleanup: get rid of mips_hpt_init [MIPS] PB1200: Remove duplicate definitions [MIPS] Fix alignment hole in struct cache_desc; shrink struct. [MIPS] Oprofile: kernel support for the R10000. [MIPS] Remove unused R10000 performance counter definitions. [MIPS] Add support for kexec [MIPS] Don't print presence of WAIT instruction on bootup. ... commit b07e3c3a1db0ce399d2a1d04860e1b901927c05e Merge: 5f56bbd... b94c7e6... Author: Linus Torvalds Date: Fri Dec 1 16:43:42 2006 -0800 Merge branch 'for-2.6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-2.6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: validate kernel object classes and permissions SELinux: ensure keys constant in hashtab_search SELinux: export object class and permission definitions SELinux: remove current object class and permission validation mechanism commit 5f56bbdf1e35d41b4b3d4c92bdb3e70c63877e4d Merge: 9641219... f469b26... Author: Linus Torvalds Date: Fri Dec 1 16:43:06 2006 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (25 commits) IB/ucm: Fix deadlock in cleanup IB/cm: Fix automatic path migration support IPoIB: Fix skb leak when freeing neighbour IB/srp: Fix memory leak on reconnect RDMA/addr: list_move() cleanups RDMA/addr: Fix some cancellation problems in process_req() RDMA/amso1100: Prevent deadlock in destroy QP IB/mthca: Fix initial SRQ logsize for mem-free HCAs IB/ehca: Use WQE offset instead of WQE addr for pending work reqs RDMA/iwcm: Fix comment for iwcm_deref_id() to match code RDMA/iwcm: Remove unnecessary function argument RDMA/iwcm: Remove unnecessary initializations RDMA/iwcm: Fix memory leak RDMA/iwcm: Fix memory corruption bug in cm_work_handler() IB: Convert kmem_cache_t -> struct kmem_cache IB/ipath: Fix typo in pma_counter_select subscript RDMA/amso1100: Fix section mismatches IB/mthca: Fix section mismatches IB/srp: Increase supported CDB size RDMA/cm: Remove setting local write as part of QP access flags ... commit 9641219825a54249d77d7aa1afa7d874a05c7f90 Merge: 72a73a6... 94fcda1... Author: Linus Torvalds Date: Fri Dec 1 16:41:58 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (103 commits) usbcore: remove unused argument in autosuspend USB: keep count of unsuspended children USB hub: simplify remote-wakeup handling USB: struct usb_device: change flag to bitflag OHCI: make autostop conditional on CONFIG_PM USB: Add autosuspend support to the hub driver EHCI: Fix root-hub and port suspend/resume problems USB: create a new thread for every USB device found during the probe sequence USB: add driver for the USB debug devices USB: added dynamic major number for USB endpoints USB: pegasus error path not resetting task's state USB: endianness fix for asix.c USB: build the appledisplay driver USB serial: replace kmalloc+memset with kzalloc USB: hid-core: canonical defines for Apple USB device IDs USB: idmouse cleanup USB: make drivers/usb/core/driver.c:usb_device_match() static USB: lh7a40x_udc remove double declaration USB: pxa2xx_udc recognizes ixp425 rev b0 chip usbtouchscreen: add support for DMC TSC-10/25 devices ... commit 72a73a69f6a79266b8b4b18f796907b73a5c01e3 Merge: 4549df8... 2b290da... Author: Linus Torvalds Date: Fri Dec 1 16:41:27 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (28 commits) PCI: make arch/i386/pci/common.c:pci_bf_sort static PCI: ibmphp_pci.c: fix NULL dereference pciehp: remove unnecessary pci_disable_msi pciehp: remove unnecessary free_irq PCI: rpaphp: change device tree examination PCI: Change memory allocation for acpiphp slots i2c-i801: SMBus patch for Intel ICH9 PCI: irq: irq and pci_ids patch for Intel ICH9 PCI: pci_{enable,disable}_device() nestable ports PCI: switch pci_{enable,disable}_device() to be nestable PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap pci/i386: style cleanups PCI: Block on access to temporarily unavailable pci device pci: fix __pci_register_driver error handling pci: clear osc support flags if no _OSC method acpiphp: fix missing acpiphp_glue_exit() acpiphp: fix use of list_for_each macro Altix: Initial ACPI support - ROM shadowing. Altix: SN ACPI hotplug support. Altix: Add initial ACPI IO support ... commit 4549df891a31b9a05b7d183106c09049b79327be Merge: 6b8cc71... e17e0f5... Author: Linus Torvalds Date: Fri Dec 1 16:41:07 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits) Driver core: show drivers in /sys/module/ Documentation/driver-model/platform.txt update/rewrite Driver core: platform_driver_probe(), can save codespace driver core: Use klist_remove() in device_move() driver core: Introduce device_move(): move a device to a new parent. Driver core: make drivers/base/core.c:setup_parent() static driver core: Introduce device_find_child(). sysfs: sysfs_write_file() writes zero terminated data cpu topology: consider sysfs_create_group return value Driver core: Call platform_notify_remove later ACPI: Change ACPI to use dev_archdata instead of firmware_data Driver core: add dev_archdata to struct device Driver core: convert sound core to use struct device Driver core: change mem class_devices to be real devices Driver core: convert fb code to use struct device Driver core: convert firmware code to use struct device Driver core: convert mmc code to use struct device Driver core: convert ppdev code to use struct device Driver core: convert PPP code to use struct device Driver core: convert cpuid code to use struct device ... commit 6b8cc71ab2619a776b02869fd733ac1ead3db4e8 Merge: 1399ff5... 8d6286f... Author: Linus Torvalds Date: Fri Dec 1 16:40:13 2006 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix timezone handling on stat to os/2 [CIFS] Incorrect hardlink count when original file is cached (oplocked) commit 1399ff54741b3aa0aaf5097b8559fa30277ebe61 Merge: bb37b94... 6b44d4e... Author: Linus Torvalds Date: Fri Dec 1 16:38:18 2006 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: Fix typos in drivers/isdn/hisax/isdnl2.c Fix typos in doc and comments BUG_ON conversion for fs/aio.c BUG_ON conversion for drivers/mmc/omap.c BUG_ON conversion for drivers/media/video/pwc/pwc-if.c Fix misc .c/.h comment typos Fix misc Kconfig typos Fix typos in /Documentation : Misc Fix typos in /Documentation : 'U-Z' Fix typos in /Documentation : 'T'' Fix jiffies.h comment tabify MAINTAINERS fix spelling error in include/linux/kernel.h mqueue.h: don't include linux/types.h commit e17e0f51aeea4e59c7e450a1c0f26605b91c1260 Author: Kay Sievers Date: Fri Nov 24 12:15:25 2006 +0100 Driver core: show drivers in /sys/module/ Show the drivers, which belong to the module: $ ls -l /sys/module/usbcore/drivers/ hub -> ../../../bus/usb/drivers/hub usb -> ../../../bus/usb/drivers/usb usbfs -> ../../../bus/usb/drivers/usbfs Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c957b32406b73ed66d0f20ebab0cab25c848105d Author: David Brownell Date: Thu Nov 16 23:30:14 2006 -0800 Documentation/driver-model/platform.txt update/rewrite This is almost a rewrite of the driver-model/platform.txt documentation; the previous text was obsolete (for several years), evidently it never got updated to match the change from being a PC "legacy_bus" to the more widely used core bus for most embedded systems. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c67334fbdfbba533af767610cf3fde8a49710e62 Author: David Brownell Date: Thu Nov 16 23:28:47 2006 -0800 Driver core: platform_driver_probe(), can save codespace This defines a new platform_driver_probe() method allowing the driver's probe() method, and its support code+data, to safely live in __init sections for typical system configurations. Many system-on-chip processors could benefit from this API, to the tune of recovering hundreds to thousands of bytes per driver. That's memory which is currently wasted holding code which can never be called after system startup, yet can not be removed. It can't be removed because of the linkage requirement that pointers to init section code (like, ideally, probe support) must not live in other sections (like driver method tables) after those pointers would be invalid. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit acf02d23b96efa92e7cff05987122ceeb37dd075 Author: Cornelia Huck Date: Wed Nov 22 17:49:39 2006 +0100 driver core: Use klist_remove() in device_move() As pointed out by Alan Stern, device_move needs to use klist_remove which waits until removal is complete. Signed-off-by: Cornelia Huck Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8a82472f86bf693b8e91ed56c9ca4f62fbbdcfa3 Author: Cornelia Huck Date: Mon Nov 20 17:07:51 2006 +0100 driver core: Introduce device_move(): move a device to a new parent. Provide a function device_move() to move a device to a new parent device. Add auxilliary functions kobject_move() and sysfs_move_dir(). kobject_move() generates a new uevent of type KOBJ_MOVE, containing the previous path (DEVPATH_OLD) in addition to the usual values. For this, a new interface kobject_uevent_env() is created that allows to add further environmental data to the uevent at the kobject layer. Signed-off-by: Cornelia Huck Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit af9e0765362151b27372c14d9d6dc417184182d3 Author: Adrian Bunk Date: Fri Nov 17 02:19:44 2006 +0100 Driver core: make drivers/base/core.c:setup_parent() static This patch makes the needlessly global setup_parent() static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 5ab699810d46011ad2195c5916f3cbc684bfe3ee Author: Cornelia Huck Date: Thu Nov 16 15:42:07 2006 +0100 driver core: Introduce device_find_child(). Introduce device_find_child() to match device_for_each_child(). Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 035ed7a49447bc8e15d4d9316fc6a359b2d94333 Author: Thomas Maier Date: Sun Oct 22 19:17:47 2006 +0200 sysfs: sysfs_write_file() writes zero terminated data since most of the files in sysfs are text files, it would be nice, if the "store" function called during sysfs_write_file() gets a zero terminated string / data. The current implementation seems not to ensure this. (But only if it is the first time the zeroed buffer page is allocated.) So the buffer can be scanned by sscanf() easily, for example. This patch simply sets a \0 char behind the data in buffer->page. Signed-off-by: Thomas Maier Signed-off-by: Greg Kroah-Hartman commit 06a4bcae1ff2cd5f6f42bd74add85ec785a26343 Author: Heiko Carstens Date: Wed Nov 8 19:46:09 2006 -0800 cpu topology: consider sysfs_create_group return value Take return value of sysfs_create_group() into account. That function got called in case of CPU_ONLINE notification. Since callbacks are not allowed to fail on CPU_ONLINE notification do the sysfs group creation on CPU_UP_PREPARE notification. Also remember if creation succeeded in a bitmask. So it's possible to know whether it's legal to call sysfs_remove_group or not. In addition some other minor stuff: - since CPU_UP_PREPARE might fail add CPU_UP_CANCELED handling as well. - use hotcpu_notifier instead of register_hotcpu_notifier. - #ifdef code that isn't needed in the !CONFIG_HOTPLUG_CPU case. Signed-off-by: Heiko Carstens Acked-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 289535334646796fe41f199718e4a731f7411a92 Author: Benjamin Herrenschmidt Date: Wed Nov 8 19:46:14 2006 -0800 Driver core: Call platform_notify_remove later Move the call to platform_notify_remove() to after the call to bus_remove_device(), where it belongs. It's bogus to notify the platform of removal while drivers are still attached to the device and possibly still operating since the platform might use this callback to tear down some resources used by the driver (ACPI bits, iommu table, ...) Signed-off-by: Benjamin Herrenschmidt Cc: "Brown, Len" Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 465ae641e4a3e5028aa9c85d3843259aa28a22ce Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:18:42 2006 +1100 ACPI: Change ACPI to use dev_archdata instead of firmware_data Change ACPI to use dev_archdata instead of firmware_data This patch changes ACPI to use the new dev_archdata on i386, x86_64 and ia64 (is there any other arch using ACPI ?) to store it's acpi_handle. It also removes the firmware_data field from struct device as this was the only user. Only build-tested on x86 Signed-off-by: Benjamin Herrenschmidt Cc: Len Brown Signed-off-by: Greg Kroah-Hartman commit c6dbaef22a2f78700e242915a13218dd780c89ff Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:18:39 2006 +1100 Driver core: add dev_archdata to struct device Add arch specific dev_archdata to struct device Adds an arch specific struct dev_arch to struct device. This enables architecture to add specific fields to every device in the system, like DMA operation pointers, NUMA node ID, firmware specific data, etc... Signed-off-by: Benjamin Herrenschmidt Acked-by: Andi Kleen Acked-By: David Howells Signed-off-by: Greg Kroah-Hartman commit d80f19fab89cba8a6d16193154c8ff3edab00942 Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert sound core to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. It also makes the struct sound_card to show up as a "real" device where all the different sound class devices are placed as childs and different card attribute files can hang off of. /sys/class/sound is still a flat directory, but the symlink targets of all devices belonging to the same card, point the the /sys/devices tree below the new card device object. Thanks to Kay for the updates to this patch. Signed-off-by: Kay Sievers Acked-by: Jaroslav Kysela Signed-off-by: Greg Kroah-Hartman commit ebf644c4623bc3eb57683199cd2b9080028b0f6f Author: Greg Kroah-Hartman Date: Tue Jul 25 17:13:31 2006 -0700 Driver core: change mem class_devices to be real devices Signed-off-by: Greg Kroah-Hartman commit 78cde0887930f5d11a56fc51b013f2672fba0e6f Author: Greg Kroah-Hartman Date: Thu Sep 14 07:30:59 2006 -0700 Driver core: convert fb code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit e55c8790d40fdbc6887b4e3e52afefe4b03f1311 Author: Greg Kroah-Hartman Date: Thu Sep 14 07:30:59 2006 -0700 Driver core: convert firmware code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit fcaf71fd51f9cfc504455d3e19ec242e4b2073ed Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert mmc code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 04880edae5e1027d61241beb5ac37b520755f2ab Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert ppdev code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 9a6a2a5e0b57d25c1bf6eb9b8c958940e156b059 Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert PPP code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 07accdc18e014cad945013886ee34e09f859f88a Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert cpuid code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit a271aaf15f492d202def1b34e447107b60fe4ece Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert msr code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit ac11d0601bbe73c92e31b393eeb1225593788d4c Author: Greg Kroah-Hartman Date: Mon Jul 3 13:46:24 2006 -0700 I2C: convert i2c-dev to use struct device instead of struct class_device As class_device is going away eventually... Cc: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 38ca6c34d385f143027ff40dd271c61adcc9b23c Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert raw device code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 01107d343076c34b9e1ce5d073292bd7f3097fda Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert tty core to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Also fixes up the isdn drivers that were putting something in the class device's directory. Signed-off-by: Greg Kroah-Hartman commit 94fbcded4ea0dc14cbfb222a5c68372f150d1476 Author: Greg Kroah-Hartman Date: Thu Jul 27 16:16:04 2006 -0700 Driver core: change misc class_devices to be real devices This also ment that some of the misc drivers had to also be fixed up as they were assuming the device was a class_device. Signed-off-by: Greg Kroah-Hartman commit cd15422b9f39155e2d9ea56ae95c6f62aa5df42e Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert vc code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 805952a889c4d0fdab23307c14c5ce9571f81233 Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert vt code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 805fab474ed75f9603dbde6fa74a2976868b4bd2 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - class symlinks Turn off class symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a87cb2ac4a78c590583b52a3ed196adc6c25b6c9 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - PHYSDEV* uevent variables Disable the PHYSDEV* uevent variables if CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 99ef3ef8d5f2f5b5312627127ad63df27c0d0d05 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - device symlinks Turn off device symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b9cafc7d5b8af0c71896f60dfcff40c71bd38a9a Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - bus symlinks Turn off the bus symlinks if CONFIG_SYSFS_DEPRECATED is enabled Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 40fa54226f518a9bc97ed1d711c0016e416e3782 Author: Greg Kroah-Hartman Date: Tue Oct 24 00:37:58 2006 +0100 Driver core: make old versions of udev work properly If CONFIG_SYSFS_DEPRECATED is enabled, old versions of udev will work properly with devices that are associated with a class. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 88a22c985e3545c55c9779971007f0f29f912519 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED Provide a way to support older versions of udev that are shipped in older distros. If this option is disabled, it will also turn off the compatible symlinks in sysfs that older programs might rely on. When in doubt, or if running a distro older than 2006, say Yes here. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f0ee61a6cecd100301a60d99feb187776533b2a2 Author: Greg Kroah-Hartman Date: Mon Oct 23 10:40:54 2006 -0700 Driver Core: Move virtual_device_parent() to core.c It doesn't need to be global or in device.h Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1901fb2604fbcd53201f38725182ea807581159e Author: Kay Sievers Date: Sat Oct 7 21:55:55 2006 +0200 Driver core: fix "driver" symlink timing Create the "driver" link before the child device may be created by the probing logic. This makes it possible for userspace (udev), to determine the driver property of the parent device, at the time the child device is created. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 116af378201ef793424cd10508ccf18b06d8a021 Author: Benjamin Herrenschmidt Date: Wed Oct 25 13:44:59 2006 +1000 Driver core: add notification of bus events I finally did as you suggested and added the notifier to the struct bus_type itself. There are still problems to be expected is something attaches to a bus type where the code can hook in different struct device sub-classes (which is imho a big bogosity but I won't even try to argue that case now) but it will solve nicely a number of issues I've had so far. That also means that clients interested in registering for such notifications have to do it before devices are added and after bus types are registered. Fortunately, most bus types that matter for the various usage scenarios I have in mind are registerd at postcore_initcall time, which means I have a really nice spot at arch_initcall time to add my notifiers. There are 4 notifications provided. Device being added (before hooked to the bus) and removed (failure of previous case or after being unhooked from the bus), along with driver being bound to a device and about to be unbound. The usage I have for these are: - The 2 first ones are used to maintain a struct device_ext that is hooked to struct device.firmware_data. This structure contains for now a pointer to the Open Firmware node related to the device (if any), the NUMA node ID (for quick access to it) and the DMA operations pointers & iommu table instance for DMA to/from this device. For bus types I own (like IBM VIO or EBUS), I just maintain that structure directly from the bus code when creating the devices. But for bus types managed by generic code like PCI or platform (actually, of_platform which is a variation of platform linked to Open Firmware device-tree), I need this notifier. - The other two ones have a completely different usage scenario. I have cases where multiple devices and their drivers depend on each other. For example, the IBM EMAC network driver needs to attach to a MAL DMA engine which is a separate device, and a PHY interface which is also a separate device. They are all of_platform_device's (well, about to be with my upcoming patches) but there is no say in what precise order the core will "probe" them and instanciate the various modules. The solution I found for that is to have the drivers for emac to use multithread_probe, and wait for a driver to be bound to the target MAL and PHY control devices (the device-tree contains reference to the MAL and PHY interface nodes, which I can then match to of_platform_devices). Right now, I've been polling, but with that notifier, I can more cleanly wait (with a timeout of course). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit 2b290da053608692ea206507d993b70c39d2cdea Author: Adrian Bunk Date: Thu Nov 16 13:16:23 2006 +0100 PCI: make arch/i386/pci/common.c:pci_bf_sort static This patch makes the needlessly global pci_bf_sort static. Signed-off-by: Adrian Bunk Acked-by: Matt Domsch Signed-off-by: Greg Kroah-Hartman commit b0d974e90d6f9fbf3a926defbbc76543cff74426 Author: Adrian Bunk Date: Fri Nov 17 02:19:25 2006 +0100 PCI: ibmphp_pci.c: fix NULL dereference The correct order is: NULL check before dereference Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 9d167dc367f22c07285137370816b83b4be9c697 Author: Kenji Kaneshige Date: Mon Nov 13 15:13:09 2006 -0800 pciehp: remove unnecessary pci_disable_msi This patch fixes the problem that "irq XX: nobody cared" kernel oops is reported when pciehp is once rmmoded and insmoded again. The cause of this problem is pciehp driver calls pci_disable_msi() at controller release time, even though it must be done by PCI Express Port Bus driver. This patch removes unnecessary pci_disable_msi() call from pciehp driver. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 407f452b05f9e5d019c07077d05238bca1b45c4c Author: Kenji Kaneshige Date: Mon Nov 13 15:13:00 2006 -0800 pciehp: remove unnecessary free_irq This patch fixes the problem that the following error messages is reported when pciehp driver is rmmoded. Trying to free already-free IRQ XX The cause of this problem is that pciehp driver is doing unknown 2nd free_irq at driver unloading. This patch removes this unknown 2nd free_irq call. Note: The pciehp driver should be adapted to standard device driver mode. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a57ed79ef1b71f6da44ebeabb41d019d172fb261 Author: John Rose Date: Mon Nov 13 15:12:52 2006 -0800 PCI: rpaphp: change device tree examination Change the criterion that RPA PCI Hotplug and RPA DLPAR use when determining the hotplug capabilities of a given device node. The "device_type" property is less consistent than "name" across PCI nodes on newer hardware. Signed-off-by: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit ac9e98918776d8fa6dc38bfa6d298a7dbcbac2cb Author: Rolf Eike Beer Date: Mon Nov 13 15:12:45 2006 -0800 PCI: Change memory allocation for acpiphp slots Change memory allocation for acpiphp slots Change the "struct slot" that acpiphp uses for managing it's slots to directly contain the memory for the needed struct hotplug_slot_info and the slot's name. This way we need only two memory allocations per slot instead of four. While we are at it: make_slot_name() is just a wrapper around snprintf() knowing the right arguments to call it. Since the function makes just one function call and is only called from one place I inlined it by hand. Finally this fixes a possible bug waiting for someone to hit it. There were two unused local variables in acpiphp_register_hotplug_slot(). gcc did not find them because they were used in memory allocations with sizeof(*var). They had the same types as the target of the allocation, but nevertheless this was just weird. Signed-off-by: Rolf Eike Beer Acked-by: Matthew Wilcox Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit adbc2a102252994c36102008293b52760613d6c3 Author: Jason Gaston Date: Wed Nov 22 15:19:12 2006 -0800 i2c-i801: SMBus patch for Intel ICH9 This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's. Thi= s patch relies on the irq ICH9 patch to pci_ids.h. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit 3b59d52d8c7925e7a9a396f2e31a66eb060c6c37 Author: Jason Gaston Date: Wed Nov 22 15:15:08 2006 -0800 PCI: irq: irq and pci_ids patch for Intel ICH9 This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit 95ddc5f25590e31843a09357365d5cbc6ec978db Author: Inaky Perez-Gonzalez Date: Wed Nov 22 12:40:32 2006 -0800 PCI: pci_{enable,disable}_device() nestable ports Change drivers/message/i20 pci driver to simply do a nestable enable()/disable() instead of checking for it. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit bae94d02371c402408a4edfb95e71e88dbd3e973 Author: Inaky Perez-Gonzalez Date: Wed Nov 22 12:40:31 2006 -0800 PCI: switch pci_{enable,disable}_device() to be nestable Changes the pci_{enable,disable}_device() functions to work in a nested basis, so that eg, three calls to enable_device() require three calls to disable_device(). The reason for this is to simplify PCI drivers for multi-interface/capability devices. These are devices that cram more than one interface in a single function. A relevant example of that is the Wireless [USB] Host Controller Interface (similar to EHCI) [see http://www.intel.com/technology/comms/wusb/whci.htm]. In these kind of devices, multiple interfaces are accessed through a single bar and IRQ line. For that, the drivers map only the smallest area of the bar to access their register banks and use shared IRQ handlers. However, because the order at which those drivers load cannot be known ahead of time, the sequence in which the calls to pci_enable_device() and pci_disable_device() cannot be predicted. Thus: 1. driverA starts pci_enable_device() 2. driverB starts pci_enable_device() 3. driverA shutdown pci_disable_device() 4. driverB shutdown pci_disable_device() between steps 3 and 4, driver B would loose access to it's device, even if it didn't intend to. By using this modification, the device won't be disabled until all the callers to enable() have called disable(). This is implemented by replacing 'struct pci_dev->is_enabled' from a bitfield to an atomic use count. Each caller to enable increments it, each caller to disable decrements it. When the count increments from 0 to 1, __pci_enable_device() is called to actually enable the device. When it drops to zero, pci_disable_device() actually does the disabling. We keep the backend __pci_enable_device() for pci_default_resume() to use and also change the sysfs method implementation, so that userspace enabling/disabling the device doesn't disable it one time too much. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 039d09a845209122c5193e650ab2d8b3c849ca7c Author: Amol Lad Date: Tue Oct 17 10:02:50 2006 +0530 PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only): - using allmodconfig - making sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad Signed-off-by: Greg Kroah-Hartman commit 7edab2f0876ff6a38e10a88c9aca20180aad307c Author: Randy Dunlap Date: Tue Oct 17 10:17:58 2006 -0700 pci/i386: style cleanups Mostly CodingStyle cleanups for arch/i386/pci/i386.c: - fit in 80 columns; - use a #defined value instead of an inline constant; Also change one resource_size_t (DBG) printk from %08lx to %lx since it can be more than 32 bits (more than 8 hexits). Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 7ea7e98fd8d02351c43ef4ab35d70f3aaa26c31d Author: Matthew Wilcox Date: Thu Oct 19 09:41:28 2006 -0600 PCI: Block on access to temporarily unavailable pci device The existing implementation of pci_block_user_cfg_access() was recently criticised for providing out of date information and for returning errors on write, which applications won't be expecting. This reimplementation uses a global wait queue and a bit per device. I've open-coded prepare_to_wait() / finish_wait() as I could optimise it significantly by knowing that the pci_lock protected us at all points. It looked a bit funny to be doing a spin_unlock_irqsave(); schedule(), so I used spin_lock_irq() for the _user versions of pci_read_config and pci_write_config. Not carrying a flags pointer around made the code much less nasty. Attempts to block an already blocked device hit a BUG() and attempts to unblock an already unblocked device hit a WARN(). If we need to block access to a device from userspace, it's because it's unsafe for even another bit of the kernel to access the device. An attempt to block a device for a second time means we're about to access the device to perform some other operation, which could provoke undefined behaviour from the device. Signed-off-by: Matthew Wilcox Acked-by: Adam Belay Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 50bf14b3ff05fb6e10688021b96f95d30a300f8d Author: Akinobu Mita Date: Wed Nov 8 19:53:59 2006 -0800 pci: fix __pci_register_driver error handling __pci_register_driver() error path forgot to unwind. driver_unregister() needs to be called when pci_create_newid_file() failed. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0dcb2b7e722f62b886f28b01150860de67d219fa Author: Kristen Carlson Accardi Date: Mon Oct 30 13:08:12 2006 -0800 pci: clear osc support flags if no _OSC method So it looks like pci aer code will call pci_osc_support_set to tell the firmware about OSC_EXT_PCI_CONFIG_SUPPORT flag. that causes ctrlset_buf[OSC_SUPPORT_TYPE] to evaluate to true when pciehp calls pci_osc_control_set() is called (to attempt to use OSC to gain native pcie control from firmware), regardless of whether or not _OSC was actually successfully executed. That causes this section of code: if (ctrlset_buf[OSC_SUPPORT_TYPE] && ((global_ctrlsets & ctrlset) != ctrlset)) { return AE_SUPPORT; } to be hit. This patch will reset the OSC_SUPPORT_TYPE field if _OSC fails, and then would allow pciehp to go ahead and try to run _OSC again. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 0a9dee2739fd4385e83c3316e3f3bee641796638 Author: Akinobu Mita Date: Mon Oct 30 13:08:04 2006 -0800 acpiphp: fix missing acpiphp_glue_exit() acpiphp_glue_exit() needs to be called to unwind when no slots found. (It fixes data corruption when reloading acpiphp driver with no such devices) Signed-off-by: Akinobu Mita Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 467c442f092e22acf86a3b4ad4863d097d7257da Author: Akinobu Mita Date: Mon Oct 30 13:07:58 2006 -0800 acpiphp: fix use of list_for_each macro This patch fixes invalid usage of list_for_each() list_for_each (node, &bridge_list) { bridge = (struct acpiphp_bridge *)node; ... } This code works while the member of list node is located at the head of struct acpiphp_bridge. Signed-off-by: Akinobu Mita Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a2302c68d923537436b1114aa207787c1a31bd50 Author: John Keller Date: Wed Oct 4 16:49:52 2006 -0500 Altix: Initial ACPI support - ROM shadowing. Support a shadowed ROM when running with an ACPI capable PROM. Define a new dev.resource flag IORESOURCE_ROM_BIOS_COPY to describe the case of a BIOS shadowed ROM, which can then be used to avoid pci_map_rom() making an unneeded call to pci_enable_rom(). Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit 9f581f162e2b304be25dee49bf3945d4ed65dfb6 Author: John Keller Date: Wed Oct 4 16:49:35 2006 -0500 Altix: SN ACPI hotplug support. A few minor changes to the way slot/device fixup is done. No need to be calling sn_pci_controller_fixup(), as a root bus cannot be hotplugged. Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit 8ea6091f500162e97687d7acf925f84202066b8d Author: John Keller Date: Wed Oct 4 16:49:25 2006 -0500 Altix: Add initial ACPI IO support First phase in introducing ACPI support to SN. In this phase, when running with an ACPI capable PROM, the DSDT will define the root busses and all SN nodes (SGIHUB, SGITIO). An ACPI bus driver will be registered for the node devices, with the acpi_pci_root_driver being used for the root busses. An ACPI vendor descriptor is now used to pass platform specific information for both nodes and busses, eliminating the need for the current SAL calls. Also, with ACPI support, SN fixup code is no longer needed to initiate the PCI bus scans, as the acpi_pci_root_driver does that. However, to maintain backward compatibility with non-ACPI capable PROMs, none of the current 'fixup' code can been deleted, though much restructuring has been done. For example, the bulk of the code in io_common.c is relocated code that is now common regardless of what PROM is running, while io_acpi_init.c and io_init.c contain routines specific to an ACPI or non ACPI capable PROM respectively. A new pci bus fixup platform vector has been created to provide a hook for invoking platform specific bus fixup from pcibios_fixup_bus(). The size of io_space[] has been increased to support systems with large IO configurations. Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit e08cf02f32dff732b2be0c9755cf5eb676f88e48 Author: Matthew Wilcox Date: Tue Oct 10 08:01:22 2006 -0600 PCI: Delete unused extern in powermac/pci.c This file no longer uses pci_cache_line_size, so delete the declaration Signed-off-by: Matthew Wilcox Cc: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit edb2d97eb57b7a21c9256260562de6a65dda86cc Author: Matthew Wilcox Date: Tue Oct 10 08:01:21 2006 -0600 PCI: Replace HAVE_ARCH_PCI_MWI with PCI_DISABLE_MWI pSeries is the only architecture left using HAVE_ARCH_PCI_MWI and it's really inappropriate for its needs. It really wants to disable MWI altogether. So here are a pair of stub implementations for pci_set_mwi and pci_clear_mwi. Also rename pci_generic_prep_mwi to pci_set_cacheline_size since that better reflects what it does. Signed-off-by: Matthew Wilcox Cc: Paul Mackerras Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit ebf5a24829def5d066922ceebde61dd57fdc6b1e Author: Matthew Wilcox Date: Tue Oct 10 08:01:20 2006 -0600 PCI: Use pci_generic_prep_mwi on sparc64 The setting of the CACHE_LINE_SIZE register in sparc64's pci initialisation code isn't quite adequate as the device may have incompatible requirements. The generic code tests for this, so switch sparc64 over to using it. Since sparc64 has different L1 cache line size and PCI cache line size, it would need to override the generic code like i386 and ia64 do. We know what the cache line size is at compile time though, so introduce a new optional constant PCI_CACHE_LINE_BYTES. Signed-off-by: Matthew Wilcox Signed-off-by: David Miller Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 3efe2d84c8d909567c7976a7106114127b8c3470 Author: Matthew Wilcox Date: Tue Oct 10 08:01:19 2006 -0600 PCI: Use pci_generic_prep_mwi on ia64 The pci_generic_prep_mwi() code does everything that pcibios_prep_mwi() does on ia64. All we need to do is be sure that pci_cache_line_size is set appropriately, and we can delete pcibios_prep_mwi(). Using SMP_CACHE_BYTES as the default was wrong on uniprocessor machines as it is only 8 bytes. The default in the generic code of L1_CACHE_BYTES is at least as good. Signed-off-by: Matthew Wilcox Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 368c73d4f689dae0807d0a2aa74c61fd2b9b075f Author: Alan Cox Date: Wed Oct 4 00:41:26 2006 +0100 PCI: quirks: fix the festering mess that claims to handle IDE quirks The number of permutations of crap we do is amazing and almost all of it has the wrong effect in 2.6. At the heart of this is the PCI SFF magic which says that compatibility mode PCI IDE controllers use ISA IRQ routing and hard coded addresses not the BAR values. The old quirks variously clears them, sets them, adjusts them and then IDE ignores the result. In order to drive all this garbage out and to do it portably we need to handle the SFF rules directly and properly. Because we know the device BAR 0-3 are not used in compatibility mode we load them with the values that are implied (and indeed which many controllers actually thoughtfully put there in this mode anyway). This removes special cases in the IDE layer and libata which now knows that bar 0/1/2/3 always contain the correct address. It means our resource allocation map is accurate from boot, not "mostly accurate" after ide is loaded, and it shoots lots of code. There is also lots more code and magic constant knowledge to shoot once this is in and settled. Been in my test tree for a while both with drivers/ide and with libata. Wants some -mm shakedown in case I've missed something dumb or there are corner cases lurking. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cc692a5f1e9816671b77da77c6d6c463156ba1c7 Author: Stephen Hemminger Date: Wed Nov 8 16:17:15 2006 -0800 PCI: save/restore PCI-X state Shouldn't PCI-X state be saved/restored? No device really needs this right now. qla24xx (fc HBA) and mthca (infiniband) don't do suspend, and sky2 resets its tweaks when links are brought up. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit e65e5fb5ceb02aaea7b65bf8b3b0d0c9057718b6 Author: Michael Ellerman Date: Tue Nov 7 18:21:21 2006 +1100 PCI: Make some MSI-X #defines generic Move some MSI-X #defines into pci_regs.h so they can be used outside of drivers/pci. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 009af1ff78bfc30b9a27807dd0207fc32848218a Author: Greg Kroah-Hartman Date: Fri Oct 27 16:12:30 2006 -0700 PCI: Let PCI_MULTITHREAD_PROBE not be broken It's not really broken, but people keep running into other problems caused by it. Re-enable it so that the drivers get stress tested. Signed-off-by: Greg Kroah-Hartman commit 94fcda1f8ab5e0cacc381c5ca1cc9aa6ad523576 Author: Alan Stern Date: Mon Nov 20 11:38:46 2006 -0500 usbcore: remove unused argument in autosuspend Thanks to several earlier patches, usb_autosuspend_device() and usb_autoresume_device() are never called with a second argument other than 1. This patch (as819) removes the now-redundant argument. It also consolidates some common code between those two routines, putting it into a new subroutine called usb_autopm_do_device(). And it includes a sizable kerneldoc update for the affected functions. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ee49fb5dc89d34f1794ac9362fa97c1a640f7ddd Author: Alan Stern Date: Wed Nov 22 16:55:54 2006 -0500 USB: keep count of unsuspended children This patch (as818b) simplifies autosuspend processing by keeping track of the number of unsuspended children of each USB hub. This will permit us to avoid a good deal of unnecessary work all the time; we will no longer have to create a bunch of workqueue entries to carry out autosuspend requests, only to have them fail because one of the hub's children isn't suspended. The basic idea is simple. There already is a usage counter in the usb_device structure for preventing autosuspends. The patch just increments that counter for every unsuspended child. There's only one tricky part: When a device disconnects we need to remember whether it was suspended at the time (leave the counter alone) or not (decrement the counter). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d25450c68767481f7c9cc4823a6da8235db40be6 Author: Alan Stern Date: Mon Nov 20 11:14:30 2006 -0500 USB hub: simplify remote-wakeup handling This patch (as817) simplifies the remote-wakeup processing in the hub driver. Now instead of using a specialized code path, it relies on the standard USB resume routines. The hub_port_resume() function does an initial get_port_status() to see whether the port has already resumed itself (as it does when a remote-wakeup request is sent). This will slow down handling of other resume events slightly, but not enough to matter. The patch also changes the hub_port_status() routine, making it return an error if a short reply is received. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce3615879ae85373c03744b45b7c2d7ae5e29b2a Author: Alan Stern Date: Mon Nov 20 11:12:22 2006 -0500 USB: struct usb_device: change flag to bitflag This patch (as816) changes an existing flag in the usb_device structure to a bitflag, preparing the way for more bitflags to come in the future. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1f9fc882d92f3ff390455836f98d7ddc36d4e4c3 Author: Alan Stern Date: Mon Nov 20 11:06:59 2006 -0500 OHCI: make autostop conditional on CONFIG_PM Unlike UHCI, OHCI does not exert any DMA load on the system when no devices are connected. Consequently there is no advantage to doing an autostop other than the power savings, so we shouldn't compile the necessary code unless CONFIG_PM is enabled. This patch (as820) makes the root-hub suspend and resume routines conditional on CONFIG_PM. It also prevents autostop from activating if the device_may_wakeup flag isn't set; some people use this flag to alert the driver about Resume-Detect bugs in the hardware. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 40f122f343797d02390c5a157372cac0c5b50bb7 Author: Alan Stern Date: Thu Nov 9 14:44:33 2006 -0500 USB: Add autosuspend support to the hub driver This patch (as742b) adds autosuspend/autoresume support to the USB hub driver. The largest aspect of the change is that we no longer need a special flag for root hubs that want to be resumed. Now every hub is autoresumed whenever khubd needs to access it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8c03356a559ced6fa78931f498193f776d67e445 Author: Alan Stern Date: Thu Nov 9 14:42:16 2006 -0500 EHCI: Fix root-hub and port suspend/resume problems This patch (as738b) fixes numerous problems in the controller/root-hub suspend/resume/remote-wakeup support in ehci-hcd: The bus_resume() routine should wake up only the ports that were suspended by bus_suspend(). Ports that were already suspended should remain that way. The interrupt mask is used to detect loss of power in the bus_resume() routine (if the mask is 0 then power was lost). However bus_suspend() always sets the mask to 0. Instead the mask should retain its normal value, with port-change-detect interrupts disabled if remote wakeup is turned off. The interrupt mask should be reset to its correct value at the end of bus_resume() regardless of whether power was lost. bus_resume() reinitializes the operational registers if power was lost. However those registers are not in the aux power well, hence they can lose their values whenever the controller is put into D3. They should always be reinitialized. When a port-change interrupt occurs and the root hub is suspended, the interrupt handler should request a root-hub resume instead of starting up the controller all by itself. There's no need for the interrupt handler to request a root-hub resume every time a suspended port sends a remote-wakeup request. The pci_resume() method doesn't need to check for connected ports when deciding whether or not to reset the controller. It can make that decision based on whether Vaux power was maintained. Even when the controller does not need to be reset, pci_resume() must undo the effect of pci_suspend() by re-enabling the interrupt mask. If power was lost, pci_resume() must not call ehci_run(). At this point the root hub is still supposed to be suspended, not running. It's enough to rewrite the command register and set the configured_flag. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c066475e1fe3b3afbd613ddf5f1eca9be4fb6de0 Author: Greg Kroah-Hartman Date: Fri Aug 11 01:55:12 2006 -0700 USB: create a new thread for every USB device found during the probe sequence Might speed up some systems. If nothing else, a bad driver should not take the whole USB subsystem down with it. Signed-off-by: Greg Kroah-Hartman commit 958e8741bf9ff5d0f0b82b7cef578e96c764a288 Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 USB: add driver for the USB debug devices It's a simple usb-serial driver that just creates a tty device to read and write from. Signed-off-by: Greg Kroah-Hartman commit 7e27780ffdf5fcf8675dfb278ca316a1f2b7e179 Author: Sarah Bailey Date: Sat Nov 18 22:30:16 2006 -0800 USB: added dynamic major number for USB endpoints This patch is an update for Greg K-H's proposed usbfs2: http://sourceforge.net/mailarchive/message.php?msg_id=19295229 It creates a dynamic major for USB endpoints and fixes the endpoint minor calculation. Signed-off-by: Sarah Bailey Signed-off-by: Greg Kroah-Hartman commit 10c8211c634f759633ffcdc3b0e2913963b32abc Author: Oliver Neukum Date: Thu Nov 23 15:40:17 2006 +0100 USB: pegasus error path not resetting task's state there is an error path in the pegasus driver which can leave the task in TASK_UNINTERRUPTIBLE. Depending on when it schedules next, this can be bad. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 9aa742ef7c1a7ff8e6df92a93ce3688e99fa66e3 Author: Oliver Neukum Date: Thu Nov 23 12:45:31 2006 +0100 USB: endianness fix for asix.c the latest update for asix.c reverted some endianness fixes. This reinstates them. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 8feabf70f51f3f6772e2beda608a0ebca1dbf46a Author: Adrian Bunk Date: Fri Nov 24 03:24:03 2006 +0100 USB: build the appledisplay driver We do already have both the code and a config option, so why not build this driver? ;-) Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 7ac9da10af7ffd94cfd07e097b93d588bbd32b75 Author: Burman Yan Date: Wed Nov 22 20:54:38 2006 +0200 USB serial: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Greg Kroah-Hartman commit afd21ee5abd0fef567dbfa234099304886ff83ce Author: Julien BLACHE Date: Wed Nov 15 00:00:17 2006 -0500 USB: hid-core: canonical defines for Apple USB device IDs Use canonical defines for the Apple USB device IDs. Also add the Geyser IV devices missing in my previous patch. Signed-off-by: Julien BLACHE Acked-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 54ecf1fba683f779a1b36abed9c843decafc7d5b Author: Mariusz Kozlowski Date: Mon Nov 6 17:37:20 2006 +0100 USB: idmouse cleanup Just digging through code and found these needless variable initializations. So here is the patch. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8bb22d2bdaac415965e7be1af8da2b8f3ee35f31 Author: Adrian Bunk Date: Tue Nov 21 22:02:54 2006 +0100 USB: make drivers/usb/core/driver.c:usb_device_match() static usb_device_match() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 7481bb8a7f2fd6b411764e0dc91713b1a58fce4c Author: David Brownell Date: Mon Nov 20 11:41:39 2006 -0800 USB: lh7a40x_udc remove double declaration Remove minor double-declaration goof. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 827982c577cddbe50b2120e577a60f6376716900 Author: David Brownell Date: Mon Nov 20 11:38:57 2006 -0800 USB: pxa2xx_udc recognizes ixp425 rev b0 chip Make the pxa2xx_udc driver recognize a newer revision of the IXP425 chip. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 24ced062a2965645d651ff92bc93b2c1f926474e Author: Holger Schurig Date: Fri Nov 17 22:50:15 2006 +0100 usbtouchscreen: add support for DMC TSC-10/25 devices Adds support for the DMC TSC-10 and TSC-25 usb touchscreen controllers. Signed-off-by: Holger Schurig Signed-off-by: Daniel Ritz Signed-off-by: Greg Kroah-Hartman commit 9ce8540c884c19c0f5f38c9e85d4bdc192baf321 Author: Adrian Bunk Date: Mon Nov 20 03:24:44 2006 +0100 USB: ftdi-elan.c: fixes and cleanups This patch contains the following possible cleanups: - make the needlessly global ftdi_release_platform_dev() static - remove the unused usb_ftdi_elan_read_reg() - proper prototypes for the following functions: - usb_ftdi_elan_read_pcimem() - usb_ftdi_elan_write_pcimem() Note that the misplaced prototypes for the latter ones in drivers/usb/host/u132-hcd.c were buggy. Depending on the calling convention of the architecture calling one of them could have turned your stack into garbage. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 27a3de4cfc3508b30803b7350ca6385b3c53f223 Author: Adrian Bunk Date: Mon Nov 20 03:23:54 2006 +0100 USB: make drivers/usb/host/u132-hcd.c:u132_hcd_wait static This patch makes the needlessly global "u132_hcd_wait" static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 2e46b74852446404d64b0b00ce872724bfa627ab Author: Mariusz Kozlowski Date: Fri Nov 17 17:49:22 2006 +0100 usb: cypress_m8 init error path fix If at some point cypress_init() fails deregister only the resources that were registered until that point. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 93f1a47c4af34c4ee014b3d2aae70089b3b69f72 Author: David Brownell Date: Thu Nov 16 23:34:58 2006 -0800 USB: add ehci_hcd.ignore_oc parameter Certain boards seem to like to issue false overcurrent notifications, for example on ports that don't have anything connected to them. This looks like a hardware error, at the level of noise to those ports' overcurrent input signals (or non-debounced VBUS comparators). This surfaces to users as truly massive amounts of syslog spam from khubd (which is appropriate for real hardware problems, except for the volume from multiple ports). Using this new "ignore_oc" flag helps such systems work more sanely, by preventing such indications from getting to khubd (and spam syslog). The downside is of course that true overcurrent errors will be masked; they'll appear as spontaneous disconnects, without the diagnostics that will let users troubleshoot issues like short circuited cables. Note that the bulk of these reports seem to be with VIA southbridges, but I think some were with Intel ones. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f0d7f27351058284f62ab4848909373c2d1f5ce8 Author: David Brownell Date: Thu Nov 16 23:56:15 2006 -0800 USB: EHCI hooks for high speed electrical tests EHCI hooks for high speed electrical tests of the root hub ports. The expectation is that a usermode program actually triggers the test, making the same control request it would make for an external hub. Tests for peripheral upstream ports would issue a different request. In all cases, the hardware needs re-initialization before it could be used "normally" again (e.g. unplug/replug, rmmod/modprobe). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1f26e28d3e32339ca683f087cd55a70e2befc333 Author: Alan Stern Date: Thu Nov 16 10:16:00 2006 -0500 USB: net2280: don't send unwanted zero-length packets The net2280 driver is too eager to send zero-length packets when IN tokens are received on ep0. No such packet should be sent (the driver should NAK) before the gadget driver has queued the proper response. Otherwise deferred responses are impossible. This patch (as823) makes net2280 avoid sending ZLPs for IN transfers on ep0 until a response has been submitted, and avoids stalling when an OUT packet is received before a request has been submitted for an OUT transfer on ep0. Signed-off-by: Alan Stern Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit a3b1f50ce2fdc73c7e60e04c0a2235af74deac2b Author: Mariusz Kozlowski Date: Fri Nov 17 11:53:23 2006 +0100 usb: microtek possible memleak fix Possible memleak fix on error path. The changes: - out_kfree2 and out_free_urb replaced - missing scsi_host_put() added Here it goes: Signed-off-by: Mariusz Kozlowski Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 49314378ac9b76c40f221e3e5aed866e912e7e99 Author: Jaco Kroon Date: Wed Nov 15 01:02:08 2006 -0800 USB: add Digitech USB-Storage to unusual_devs.h The mass storage device from Digitech designed for Flash Cards, as found on (for example) the GNX4 device has issues with residue, similar to the bug report at http://kerneltrap.org/node/6297. This patch adds the faulty storage device to unusual_devs.h, this not only reduces the noise in dmesg but also increases the transfer speeds by a factor of 7x for me (89kB/s -> 637kB/s). T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1210 ProdID=0003 Rev= 1.00 S: Manufacturer=DigiTech HMG S: Product=DigiTech Mass Storage C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms Signed-off-by: Jaco Kroon Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit db063507b40664de33a61161c90358fe6fc9565a Author: Alan Stern Date: Mon Nov 13 15:02:04 2006 -0500 USB core: fix compiler warning about usb_autosuspend_work This patch (as821) fixes a compiler warning when CONFIG_PM isn't on ("usb_autosuspend_work" defined but not used). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7a5c7b42d3c7b1e0085d48414ee73003d3888d1f Author: Naranjo Manuel Francisco Date: Wed Nov 15 15:14:27 2006 -0300 USB: fix aircable.c: inconsequent NULL checking > 2006/11/11, Adrian Bunk : > > The Coverity checker spotted the following in > > drivers/usb/serial/aircable.c: > > > > <-- snip --> > > > > ... > > static void aircable_read(void *params) > > { > > ... Hi everyone, Sorry for the long time response but here is the patch, I think this way should work, if anyone has any suggestion let me know. What I do now is, in case I don't have the tty available I reschedule the work, I have tried it and it works with no problem, I even tried removing the device, and didn't find anything strange. Signed-off-by: Naranjo Manuel Signed-off-by: Greg Kroah-Hartman commit 1b7be3c066ae9238996a7a861b39b0bfd5860735 Author: Alan Stern Date: Mon Nov 6 12:05:00 2006 -0500 OHCI: change priority level of resume log message All the other root-hub suspend or resume log messages, in ohci-hcd or any of the other host controller drivers, use the debug priority level. This patch (as815) makes the one single exception behave like all the rest. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 68df9de1d0e95034355283dc12056f93de8e0a79 Author: Mariusz Kozlowski Date: Wed Nov 8 15:37:04 2006 +0100 usb: usbmixer free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f5e135af8737bdc57168cddb3fd83028b25c26cd Author: Mariusz Kozlowski Date: Wed Nov 8 15:37:00 2006 +0100 usb: usbmidi kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit bcb54a54033ff9359cf64e4283e4f4b92bf9132f Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:55 2006 +0100 usb: visor kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 95d4316654a7e09778ebf81e03cab7040ecca1b0 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:51 2006 +0100 usb: usb-serial free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 9aac10ff1d9a228d05491f68f933cf6a41b9debc Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:46 2006 +0100 usb: navman kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 73135bb9154f9565e8ae294ffa73f9e871d72b47 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:42 2006 +0100 usb: mct_u232 free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5505c2261eb5e7a6ff851afbe7f77d54d960e83b Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:38 2006 +0100 usb: kobil_sct kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 1cadc1378fe9cdee9515842a4bf9f42228448ad2 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:34 2006 +0100 usb: keyspan free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 9a25f44f91b621f49b459687ae49d4fed4423d0e Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:29 2006 +0100 usb: io_edgeport kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit c69694b779714b751a326d1b886087322001e86f Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:22 2006 +0100 usb: catc free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 794c944ecd468ddf8a571bd37ab7b21035965f91 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:25 2006 +0100 usb: ftdi_sio kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5483eb1300fc052c294a9dac57d5bf6653126efd Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:18 2006 +0100 usb: phidgetmotorcontrol free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit df43121463d2e6dde9f7e40a7720e111e4cc600e Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:07 2006 +0100 usb: phidgetkit free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f53510e8c49d00085a820ae98ca4753d4487dbad Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:14 2006 +0100 usb: legousbtower free kill urb cleanup Hello, - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 2891a51cc27e0eed9474668b58e4f587b9f36694 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:03 2006 +0100 usb: auerswald free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4ba0b2ed583b80cb26b9c8d8a8b418f677ec4a83 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:58 2006 +0100 usb: usbkbd free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6f07429fa295a04e06c93601e6c597e7a6d95495 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:54 2006 +0100 usb: hid-core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 2381526a793582ad18b30af0e3013ccad1a8bcdb Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:50 2006 +0100 usb: ati_remote2 free urb cleanup Hello, - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 459f836a612d28f224dbbc306ab63187014a6503 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:46 2006 +0100 usb: ati_remote free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f988f272fe8de462045e9f298e5b7f1e39b2e53a Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:42 2006 +0100 usb: zd1201 free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8fd31e1d85d5c13c1273013067474ebb73ad6fd1 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:38 2006 +0100 usb: irda-usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8563650da0fb2df5755ea133d5fb182ded9d2ae8 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:12 2006 +0100 usb: zc0301_core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 926b1e90093688d91cbc358e5339ad2861c86e46 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:02 2006 +0100 usb: quickcam_messenger free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 14d2707b80d6a9d1e8e92718885f99b77531b339 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:59 2006 +0100 usb: sn9c102_core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 90b2625a5159607e37871cd75370c189fc22d208 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:55 2006 +0100 usb: pwc-if free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4c6f7d4a889ad997483a4c0318111b4a506f0fe3 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:50 2006 +0100 usb: pvrusb2-io free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5e55d2cea80254faa6ba5c13f3053070db57b63f Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:31 2006 +0100 usb: pvrusb2-hdw free unlink urb cleanup - usb_free_urb() cleanup - usb_unlink_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5d02d027ac2e7778011fa833b3efa50b72a23dcd Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:27 2006 +0100 usb: ttusb_dec free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4064fe43e8bf6cfe7fc6fadfbccc7fe1fbb1f0c1 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:22 2006 +0100 usb: cinergyT2 free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit ead54fcd6a6ffc0c45e318ffe8872d228bdff0e5 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:17 2006 +0100 usb: usb-gigaset free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8f21d119f457ece27a69ac1dadd655deee6f2a20 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:09 2006 +0100 usb: iforce-usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6265d62f31e42cc839f929439a95f602d70d6bf7 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:02 2006 +0100 usb: pcwd_usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 3c8961ee6d93c5a2ddf34d8d8171dd685538722b Author: Mariusz Kozlowski Date: Wed Nov 8 15:33:38 2006 +0100 usb: writing_usb_driver free urb cleanup Allright. As Greg KH suggested I split this big patch into smaller ones to make the changes easier to review. Having no better idea how to split that I split it on a 'patch per file' basis. All those patches clean redundant 'if' before usb_unlink/free/kill_urb(): if (urb) usb_free_urb(urb); /* unlink / free / kill */ I decided not to touch bigger 'if's like if (urb) { usb_kill_urb(urb); usb_free_urb(urb); urb = NULL; } as that would be probably too intrusive. One of patches also fixes drivers/usb/misc/auerswald.c memleak I found when digging the code. All those patches are against 2.6.19-rc4. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 444f4f91fda54bea57a0e31098a75f54548e8b28 Author: Mariusz Kozlowski Date: Thu Nov 16 16:38:57 2006 +0100 USB: pwc-if loop fix We should free urbs starting at [i-1] not [i]. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 1f54a6ae79ab4369f17d6bc86eaff3125395af9c Author: Oleg Verych Date: Fri Nov 17 08:21:27 2006 +0000 usb-serial: ti_usb, TI ez430 development tool ID usb-serial: ti_usb, TI ez430 development tool ID Signed-off-by: Oleg Verych Signed-off-by: Greg Kroah-Hartman commit ad0327d680734b76c33f5438cd656bdfd26f5f5b Author: daniel@centurion.net.nz Date: Sat Nov 11 15:47:52 2006 +1300 USB: airprime: New device ID Signed-off-by: Greg Kroah-Hartman commit 54c9b2266f83dfc3d6c538417564dc74266f4dd9 Author: Adrian Bunk Date: Mon Nov 20 03:23:58 2006 +0100 USB: make drivers/usb/input/wacom_sys.c:wacom_sys_irq() static This patch makes the needlessly global wacom_sys_irq() static. Signed-off-by: Adrian Bunk Signed-off-by: Ping Cheng Signed-off-by: Greg Kroah-Hartman commit d5ec1686ba96eb75e132196c486cc0521b00f12c Author: Stephen Hemminger Date: Tue Nov 14 10:06:17 2006 -0800 USB: resume_device symbol conflict Several functions in USB core overlap with global functions. The linker appears to do the right thing, but it is bad practice and makes debugging harder. Signed-off-by: Stephen Hemminger Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d8126a0c23b95d8f49a8f4b49191691f9a09ae4a Author: David Brownell Date: Sun Nov 12 18:09:44 2006 -0800 usb/gadget/ether.c minor manycast tweaks Minor cleanup/clarification in the ethernet gadget driver, using standard calls to test for Ethernet multicast and broadcast addresses. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1bb5f66bb3b6c2fd7eec1cdfee9cf3f68ef83487 Author: Alan Stern Date: Mon Nov 6 11:56:13 2006 -0500 USB: Move private hub declarations out of public header file This patch (as809b) moves the declaration of the hub driver's private data structure from hub.h into the hub.c source file. Lots of other files import hub.h; they have no need to know about the details of the hub driver's private data. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b4ee4a2309c9f811457ce44962eed753e451dc11 Author: Jean Delvare Date: Thu Nov 9 22:02:37 2006 +0100 USB: net1080: Fix && typos Fix STATUS_PACKETS_* macros, where "&&" was mistakenly used where "&" should have. Signed-off-by: Jean Delvare Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 692a186c9d5f12d43cef28d40c25247dc4f302f0 Author: Alan Stern Date: Mon Oct 30 17:07:51 2006 -0500 USB: expand autosuspend/autoresume API This patch (as814) adds usb_autopm_set_interface() to the autosuspend API. It also provides convenient wrapper routines, usb_autopm_enable() and usb_autopm_disable(), for drivers that want to specify directly whether autosuspend should be allowed. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit af4f76066d0fcb215ae389b8839d7ae37ce0e28b Author: Alan Stern Date: Mon Oct 30 17:06:45 2006 -0500 USB: autosuspend code consolidation This patch (as813) gathers together common code for USB interface autosuspend/autoresume. It also adds some simple checking at the time an autosuspend request is made, to see whether the request will fail. This way we don't add a workqueue entry when it would end up doing nothing. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0c1ac4f25f894f9df0ffe9b912c165fb6a185a3c Author: Luiz Fernando N. Capitulino Date: Mon Oct 30 14:53:03 2006 -0300 USB: makes usb_endpoint_* functions inline. We have no benefits of having the usb_endpoint_* functions as functions, but making them inline saves text and data segment sizes: text data bss dec hex filename 14893634 3108770 1108840 19111244 1239d4c vmlinux.func 14893185 3108566 1108840 19110591 1239abf vmlinux.inline This is the result of a 2.6.19-rc3 kernel compiled with GCC 4.1.1 without CONFIG_MODULES, CONFIG_CC_OPTIMIZE_FOR_SIZE, CONFIG_REGPARM options set. USB support is fully enabled (while most of the other drivers are not), and that kernel has most of the USB code ported to use the endpoint functions. That happens because a call to those functions are expensive (in terms of bytes), while the function's size is smaller or have the same 'size' of the call. Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 6f7cd44162ca1bffd54f4090e67b9810bacb5d25 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:04 2006 -0300 USB: yealink: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 0472074748444529188c77f62f0714f9ff7d7556 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:03 2006 -0300 USB: storage: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 4d823dd21d81c29a83a4672ac92e449fc5fa5cca Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:02 2006 -0300 USB: usbtest: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit fc6e2544bdb1e7cb9f7ccbb16c268d61743b123c Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:01 2006 -0300 USB: usbnet: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 30f36ef922201cd085a598a6274ee18a360635ea Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:00 2006 -0300 USB: usbmouse: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a20c314412b9e9e029a73dbb4dd951e36499eb58 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:59 2006 -0300 USB: usbkbd: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit c5dd1f94246acdf6be6796db47efba8b2a93f93e Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:58 2006 -0300 USB: speedtch: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a742e5a7fc5b179e2482b85e875fc99192cead74 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:57 2006 -0300 USB: phidgetmotorcontrol: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 8419404949488bba4504005c0d1180fb07bef740 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:56 2006 -0300 USB: phidgetkit: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 66722a194ef96a09ac12d0fe2f9e206f86c29c9f Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:55 2006 -0300 USB: onetouch: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 240661c55646401df64411e04ba5833c411c42bc Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:54 2006 -0300 USB: legousbtower: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 4f1f1ddd73d04e8d41c010934d81122d1a632e4e Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:53 2006 -0300 USB: kobil_sct: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a7dc218b8f61d58fcf27ee5650e340d7baff74c4 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:52 2006 -0300 USB: idmouse: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 0f12aa03972e797129c79a236d2872f2ee5d25b6 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:51 2006 -0300 USB: hid-core: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 2ae7745beac6de54a47ed19fe441f1d45aa96172 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:50 2006 -0300 USB: ftdi-elan: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 87ad46c94ec74f1750764c12744410ed524f9900 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:49 2006 -0300 USB: devices: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 45aea704d12d05f06b3f82974aa1438460f42398 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:48 2006 -0300 USB: cdc-acm: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit b333d5bfd7d3791f91c678f3f5033c82b1e2b46f Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:47 2006 -0300 USB: cdc_ether: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 16f96376174bfbcb1b40734f83f5701161a5e63b Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:46 2006 -0300 USB: appledisplay: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 377f13bf95b64cf5fb0fad0bf2b94106ad868562 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:45 2006 -0300 USB: aircable: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 565402baee99096da4d79209e450fe42d379a0ca Author: Alan Stern Date: Fri Oct 27 10:35:01 2006 -0400 USB: OHCI: remove stale testing code from root-hub resume This patch (as811) removes some stale testing code from the root-hub resume routine in ohci-hcd. It also adds a spin_lock_irq() call that inadvertently got left out of an error pathway. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5d7efe5b3768bf53df9b87380ea68baacf11f933 Author: Eric Sesterhenn Date: Thu Oct 26 21:06:24 2006 +0200 USB: kmemdup() cleanup in drivers/usb/ replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Greg Kroah-Hartman commit 052ac01aeb84d8427ba8ac3d70991ac01b009b59 Author: Alan Stern Date: Fri Oct 27 10:33:11 2006 -0400 USB: OHCI: disable RHSC inside interrupt handler This patch (as808b) moves the Root Hub Status Change interrupt-disable code in ohci-hcd back into the interrupt handler proper, to avoid the chance of adverse interactions with mediocre hardware implementations. It also deletes the root-hub status timer from within the interrupt-enable routine. There's no need to poll for status any more once interrupts are re-enabled. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b1878440d46a0dc357ed5c9687c534e20955e940 Author: Alan Stern Date: Tue Oct 24 12:02:31 2006 -0400 USB: ohci-hcd: fix compiler warning This patch (as806) fixes a compiler warning when ohci-hcd is built with CONFIG_PM turned off. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 93c8bf45e083b89dffe3a708363c15c1b220c723 Author: Alan Stern Date: Wed Oct 18 16:41:51 2006 -0400 USB core: don't match interface descriptors for vendor-specific devices This patch (as804) makes USB driver matching ignore the interface class, subclass, and protocol if the device class is Vendor Specific. Drivers can override this policy by specifying a Vendor ID as part of the match; then vendor-specific matches are allowed. Linus Walleij has reported a problem this patch fixes. When a particular mass-storage device is switched from mass-storage mode to Media Transfer Protocol, the interface class remains set to mass-storage and usb-storage binds to it erroneously, even though the device class changes to Vendor-Specific. This may cause a problem for some drivers until their match records can be updated to include Vendor IDs. But if it does, then those records were broken to begin with. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6d8fc4d28deaf828606c19fb743fbe94aeab4caf Author: Alan Stern Date: Wed Oct 18 12:35:24 2006 -0400 USB HID: Handle STALL on interrupt endpoint The USB HID driver doesn't include any code to handle a STALL on the interrupt endpoint. While this may be uncommon, it does happen sometimes. This patch (as805) adds a fix. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 88fafff9d73c0a506c0b08e7cd637c89d8b604e1 Author: inaky@linux.intel.com Date: Wed Oct 11 20:05:59 2006 -0700 usb hub: fix root hub code so it takes more than 15 devices per root hub Wireless USB Host Controllers accept a large number of devices per host, which shows up as a large number of ports in its root hub. When the number of ports in a hub device goes over 16, the activation of the hub fails with the cryptic message in klogd. hub 2-0:1.0: activate --> -22 Following this further, it was seen that: hub_probe() hub_configure() generates pipe number pseudo allocates buffer 'maxp' bytes in size using usb_maxpacket() The endpoint descriptor for a root hub interrupt endpoint is declared in drivers/usb/core/hcd.c:hs_rh_config_descriptor and declares it to be size two (supporting 15 devices max). hub_activate() usb_hcd_submit_urb() rh_urb_enqueue() urb->pipe is neither int nor ctl, so it errors out rh_queue_status() Returns -EINVAL because the buffer length is smaller than the minimum needed to report all the hub port bits as in accordance with USB2.0[11.12.3]. There has to be trunc((PORTS + 1 + 7) / 8) bytes of space at least. Alan Stern confirmed that the reason for reading maxpktsize and not the right amount is because some hubs are known to return more data and thus cause overflow. So this patch simply changes the code to make the interrupt endpoint's max packet size be at least the minimum required by USB_MAXCHILDREN (instead of a fixed magic number) and add documentation for that. This way we are always ahead of the limit. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 437052516779fea608261a50682b124315f48f01 Author: inaky@linux.intel.com Date: Wed Oct 11 20:05:58 2006 -0700 usb/hub: allow hubs up to 31 children Current Wireless USB host hardware (Intel i1480 for example) allows up to 22 devices to connect, thus bringing up the max number of children in the WUSB Host Controller to 22 'fake' ports. Upcoming hardware might raise that limit. Makes almost no difference to go to 31, as the bit arrays are byte-aligned (plus an extra bit in general), so 22 bits fit in 4 bytes as 31 do. As well, the only other array that depends on USB_MAXCHILDREN is 'struct usb_hub->indicator'. By declaring it 'u8' instead of 'enum hub_led_mode', we reduce the size of each entry from 4 bytes (in i386) to 1, which will add as we when are doubling USB_MAXCHILDREN (with 16 the size of that array is 64 bytes, with 31 would be 128; by using u8 that goes down to 31 bytes). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit bb37b94c68e7b37eecea8576039ae9396ca07839 Author: Jens Axboe Date: Fri Dec 1 10:42:33 2006 +0100 [BLOCK] Cleanup unused variable passing - ->init_queue() does not need the elevator passed in - ->put_request() is a hot path and need not have the queue passed in - cfq_update_io_seektime() does not need cfqd passed in Signed-off-by: Jens Axboe commit 0e75f9063f5c55fb0b0b546a7c356f8ec186825e Author: Mike Christie Date: Fri Dec 1 10:40:55 2006 +0100 [PATCH] block: support larger block pc requests This patch modifies blk_rq_map/unmap_user() and the cdrom and scsi_ioctl.c users so that it supports requests larger than bio by chaining them together. Signed-off-by: Mike Christie Signed-off-by: Jens Axboe commit ad2d7225709b11da47e092634cbdf0591829ae9c Author: Mike Christie Date: Fri Dec 1 10:40:20 2006 +0100 [PATCH] block: kill length alignment test in bio_map_user() The target mode support is mapping in bios using bio_map_user. The current targets do not need their len to be aligned with a queue limit so this check is causing some problems. Note: pointers passed into the kernel are properly aligned by usersapace tgt code so the uaddr check in bio_map_user is ok. The major user, blk_bio_map_user checks for the len before mapping so it is not affected by this patch. And the semi-newly added user blk_rq_map_user_iov has been failing out when the len is not aligned properly so maybe people have been good and not sending misaligned lens or that path is not used very often and this change will not be very dangerous. st and sg do not check the length and we have not seen any problem reports from those wider used paths so this patch should be fairly safe - for mm and wider testing at least. Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit be1c63411addba3ad750eb4fdfc50b97bc82825e Author: Olaf Kirch Date: Fri Dec 1 10:39:12 2006 +0100 [PATCH] blktrace: add timestamp message This adds a new timestamp message to blktrace, giving the timeofday when we starting tracing. This helps user space correlate block trace events with eg an application strace. This requires a (compatible) update to blkparse. The changed blkparse is still able to process traces generated by older kernels, and older versions of blkparse should silently ignore the new records (because they have a pid of 0). Signed-off-by: Olaf Kirch Signed-off-by: Jens Axboe commit bdbf77d6707a52bdeff223d0a60df12d086d21d7 Merge: 0215ffb... d5d06ff... Author: Wim Van Sebroeck Date: Thu Nov 30 20:22:09 2006 +0100 Merge ../linux-2.6-watchdog-mm commit 9e1402ab89623f08c8dc06ec395e3214e1ec7848 Author: George G. Davis Date: Thu Nov 16 14:50:14 2006 -0500 [PATCH] Fix an offset error when reading the CS89x0 ADD_PORT register Fix an offset error when reading the CS89x0 ADD_PORT register. Signed-off-by: George G. Davis Signed-off-by: Jeff Garzik commit 7bd54c863608a460e72aa0e57170cffb6bc62110 Author: Linas Vepstas Date: Fri Nov 17 14:39:40 2006 -0800 [PATCH] spidernet: poor network performance Correct a problem seen on later kernels running the NetPIPE application. Specifically, NetPIPE would begin running very slowly at the 1533 packet size. It was determined that Spidernet slowed with an idle DMA engine. Signed-off-by: James K Lewis Signed-off-by: Linas Vepstas Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9c434f5e2181097e1d22d9b3e381ca6d693e5188 Author: James K Lewis Date: Fri Nov 17 14:39:36 2006 -0800 [PATCH] Spidernet: remove ETH_ZLEN check in earlier patch In an earlier patch, code was added to pad packets that were less that ETH_ZLEN (60) bytes using the skb_pad function. This has caused hangs when accessing certain NFS mounted file systems. This patch removes the check and solves the NFS problem. The driver, with this patch, has been tested extensively. Please apply. Signed-off-by: James K Lewis Cc: Stephen Hemminger Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 418e8f3d7ef4a30d4b5c84440641c9792a7f83f1 Author: Laurent Riffard Date: Sat Nov 18 12:03:04 2006 +0100 [PATCH] bonding: fix an oops when slave device does not provide get_stats Bonding driver unconditionnaly dereference get_stats function pointer for each of its slave device. This patch - adds a check for NULL dev->get_stats pointer in bond_get_stats - prints a notice when the bonding device enslave a device without get_stats function. Signed-off-by: Laurent Riffard Signed-off-by: Jeff Garzik commit c1cb0b77f905a2f5f297e91fafbe766acc143891 Merge: f2b67c7... a88556a... Author: Jeff Garzik Date: Thu Nov 30 06:01:04 2006 -0500 Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes commit f2b67c7945e8d709444884633670fef498218639 Author: Ralf Baechle Date: Wed Nov 29 17:10:38 2006 +0000 [PATCH] drivers/net: SAA9730: Fix build error Confusingly NET_PCI is also set for for non-PCI EISA configurations where building this driver will result in a build error due to a reference to pci_release_regions. While at it, remove the EXPERIMENTAL - in all its uglyness and despite the sincerest attempts of the buggy hardware the driver is known to work. Also limit the driver to the Atlas board - the only known system to ever use the SAA9730 before Phillips ended the short live of the SAA9730. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit a17259a726c4c9806dc99bda5e904727de76b694 Merge: 0215ffb... afdfe89... Author: Jeff Garzik Date: Thu Nov 30 05:20:49 2006 -0500 Merge branch 'tj-upstream-fixes' of git://htj.dyndns.org/libata-tj into tmp commit 6b44d4e69c6144d0df71ab47ec90d2009237d48f Author: Jan Engelhardt Date: Thu Nov 30 05:33:40 2006 +0100 Fix typos in drivers/isdn/hisax/isdnl2.c Changes persistant -> persistent in actual C code. (part 1 changed docs/comments). Compile-tested. Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 03a67a46af8647b2c7825107045ecae641e103d3 Author: Jan Engelhardt Date: Thu Nov 30 05:32:19 2006 +0100 Fix typos in doc and comments Changes persistant -> persistent. www.dictionary.com does not know persistant (with an A), but should it be one of those things you can spell in more than one correct way, let me know. Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 93e06b4140cc018826bce4d97b0bf7c9ba05ae6e Author: Eric Sesterhenn Date: Thu Nov 30 05:29:23 2006 +0100 BUG_ON conversion for fs/aio.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit d99c5909859625f3c9c6dfee6caa3b2a7c0ef163 Author: Eric Sesterhenn Date: Thu Nov 30 05:27:38 2006 +0100 BUG_ON conversion for drivers/mmc/omap.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 5d9a276a3eb073251737cb92b790bfdb9f0b9139 Author: Eric Sesterhenn Date: Thu Nov 30 05:26:46 2006 +0100 BUG_ON conversion for drivers/media/video/pwc/pwc-if.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 0779bf2d2ecc4d9b1e9437ae659f50e6776a7666 Author: Matt LaPlante Date: Thu Nov 30 05:24:39 2006 +0100 Fix misc .c/.h comment typos Fix various .c/.h typos in comments (no code changes). Signed-off-by: Matt LaPlante Signed-off-by: Adrian Bunk commit 3cb2fccc5f48a4d6269dfd00b4db570fca2a04d5 Author: Matt LaPlante Date: Thu Nov 30 05:22:59 2006 +0100 Fix misc Kconfig typos Fix various Kconfig typos. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 5d3f083d8f897ce2560bbd4dace483d5aa60d623 Author: Matt LaPlante Date: Thu Nov 30 05:21:10 2006 +0100 Fix typos in /Documentation : Misc This patch fixes typos in various Documentation txts. The patch addresses some misc words. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 4ae0edc21b152c126e4a8c94ad5391f8ea051b31 Author: Matt LaPlante Date: Thu Nov 30 04:58:40 2006 +0100 Fix typos in /Documentation : 'U-Z' This patch fixes typos in various Documentation txts. The patch addresses some +words starting with the letters 'U-Z'. Looks like I made it through the alphabet...just in time to start over again +too! Maybe I can fit more profound fixes into the next round...? Time will +tell. :) Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit fa00e7e152690adc17fdc318e64909d4aff1763e Author: Matt LaPlante Date: Thu Nov 30 04:55:36 2006 +0100 Fix typos in /Documentation : 'T'' This patch fixes typos in various Documentation txts. The patch addresses some +words starting with the letter 'T'. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 98c4f0c336afe4318c12397bc74910d86ee036a2 Author: Chase Venters Date: Thu Nov 30 04:53:49 2006 +0100 Fix jiffies.h comment jiffies.h includes a comment informing that jiffies_64 must be read with the assistance of the xtime_lock seqlock. The comment text, however, calls jiffies_64 "not volatile", which should probably read "not atomic". Signed-off-by: Chase Venters Signed-off-by: Adrian Bunk commit ce00f85c45d7f8c13cf67d9ca24d0f100f8e9c59 Author: Jim Cromie Date: Thu Nov 30 04:49:44 2006 +0100 tabify MAINTAINERS Signed-off-by: Adrian Bunk commit e20ec9911bfef897459b9f8aeaf6eadb0920299a Author: Jim Cromie Date: Thu Nov 30 04:46:13 2006 +0100 fix spelling error in include/linux/kernel.h Signed-off-by: Adrian Bunk commit 139a7bdc2b9391a4d0362190d9e5625dcf580105 Author: Alexey Dobriyan Date: Thu Nov 30 04:40:22 2006 +0100 mqueue.h: don't include linux/types.h This #include is not required. Signed-off-by: Alexey Dobriyan Signed-off-by: Adrian Bunk commit aa414dff4f7bef29457592414551becdca72dd6b Author: Ralf Baechle Date: Thu Nov 30 01:14:51 2006 +0000 [MIPS] Remove duplicate ISA DMA code for 0 DMA channel case. Signed-off-by: Ralf Baechle commit 0b7883f49810ec91755caa222b3b28f047b8c93b Author: Ralf Baechle Date: Thu Nov 30 01:14:51 2006 +0000 [MIPS] Remove unused definition of cpu_to_lelongp() Signed-off-by: Ralf Baechle commit 4ffd8b3838f22c34b21a25b7612795ca45d14db6 Author: Ralf Baechle Date: Thu Nov 30 01:14:50 2006 +0000 [MIPS] Remove userspace proofing from . Signed-off-by: Ralf Baechle commit e303e088f25dc7d8bafc0d1942314214a3a57b44 Author: Ralf Baechle Date: Thu Nov 30 01:14:50 2006 +0000 [MIPS] Remove old junk left from old atomic_lock. Signed-off-by: Ralf Baechle commit 63dc68a8cf60cb110b147dab1704d990808b39e2 Author: Ralf Baechle Date: Mon Oct 16 01:38:50 2006 +0100 [MIPS] Use conditional traps for BUG_ON on MIPS II and better. This shaves of around 4kB and a few cycles for the average kernel that has CONFIG_BUG enabled. Signed-off-by: Ralf Baechle commit 005985609ff72df3257fde6b29aa9d71342c2a6b Author: Atsushi Nemoto Date: Sun Nov 12 00:10:28 2006 +0900 [MIPS] mips HPT cleanup: make clocksource_mips public Make clocksource_mips public and get rid of mips_hpt_read, mips_hpt_mask. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 187933f23679c413706030aefad9e85e79164c44 Author: Atsushi Nemoto Date: Wed Oct 25 23:57:04 2006 +0900 [MIPS] do_IRQ cleanup Now we have both function and macro version of do_IRQ() and the former is used only by DEC and non-preemptive kernel. This patch makes everyone use the macro version and removes the function version. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 617667ba724d46ffeccb88ee99e1379f29b0bfa7 Author: Ralf Baechle Date: Thu Nov 30 01:14:48 2006 +0000 [MIPS] Avoid dupliate D-cache flush on R400C / R4400 SC and MC variants. Signed-off-by: Ralf Baechle commit 0550d9d13e02b30efa117d47fcadea450bb23d23 Author: Atsushi Nemoto Date: Tue Aug 22 21:15:47 2006 +0900 [MIPS] Remove redundant r4k_blast_icache() calls r4k_flush_cache_all() and r4k_flush_cache_mm() case: these are noop if the CPU did not have dc_aliases. It would mean we do not need to care about icache here. r4k_flush_cache_range case: if r4k_flush_cache_mm() did not need to care about icache, it would be same for this function. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e56798824456bd907cefe840ca127df0518942e3 Author: Ralf Baechle Date: Thu Nov 30 01:14:47 2006 +0000 [MIPS] Work around bogus gcc warnings. Signed-off-by: Ralf Baechle commit dd6bfd627c4f4df771b9b73e4df75c6c0c177b09 Author: Nicolas Kaiser Date: Tue Nov 7 09:56:24 2006 +0100 [MIPS] Fix double inclusions Signed-off-by: Nicolas Kaiser Signed-off-by: Ralf Baechle commit 1417836e81c0ab8f5a0bfeafa90d3eaa41b2a067 Author: Atsushi Nemoto Date: Tue Nov 14 01:13:18 2006 +0900 [MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq Further incorporation of generic irq framework. Replacing __do_IRQ() by proper flow handler would make the irq handling path a bit simpler and faster. * use generic_handle_irq() instead of __do_IRQ(). * use handle_level_irq for obvious level-type irq chips. * use handle_percpu_irq for irqs marked as IRQ_PER_CPU. * setup .eoi routine for irq chips possibly used with handle_percpu_irq. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 1603b5aca4f15b34848fb5594d0c7b6333b99144 Author: Atsushi Nemoto Date: Thu Nov 2 02:08:36 2006 +0900 [MIPS] IRQ cleanups This is a big irq cleanup patch. * Use set_irq_chip() to register irq_chip. * Initialize .mask, .unmask, .mask_ack field. Functions for these method are already exist in most case. * Do not initialize .startup, .shutdown, .enable, .disable fields if default routines provided by irq_chip_set_defaults() were suitable. * Remove redundant irq_desc initializations. * Remove unnecessary local_irq_save/local_irq_restore, spin_lock. With this cleanup, it would be easy to switch to slightly lightwait irq flow handlers (handle_level_irq(), etc.) instead of __do_IRQ(). Though whole this patch is quite large, changes in each irq_chip are not quite simple. Please review and test on your platform. Thanks. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c87b6ebaea034c0e0ce86127870cf1511a307b64 Author: Atsushi Nemoto Date: Sat Oct 28 01:14:37 2006 +0900 [MIPS] mips hpt cleanup: get rid of mips_hpt_init Currently nobody outside time.c require mips_hpt_init(). Remove it and call c0_hpt_timer_init() directly if R4k counter was used for timer interrupt. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0d02f0734f8d2310497fae4f960c978f679f66d9 Author: Yoichi Yuasa Date: Wed Nov 1 18:40:15 2006 +0900 [MIPS] PB1200: Remove duplicate definitions Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 6f2c3fa022312d5381f44359984395761e375f1b Author: Ralf Baechle Date: Thu Nov 30 01:14:45 2006 +0000 [MIPS] Fix alignment hole in struct cache_desc; shrink struct. Signed-off-by: Ralf Baechle commit 714cfe7865e5182a3b25be6a95c0b17aa8e64aa9 Author: Ralf Baechle Date: Mon Oct 23 00:44:02 2006 +0100 [MIPS] Oprofile: kernel support for the R10000. Signed-off-by: Ralf Baechle commit 2472d0b519c9634d89420064315c0926149947aa Author: Ralf Baechle Date: Thu Nov 30 01:14:45 2006 +0000 [MIPS] Remove unused R10000 performance counter definitions. Signed-off-by: Ralf Baechle commit 583bb86fbb9e85287f020fe4eb5352a0ec3c66a3 Author: Nicolas Schichan Date: Wed Oct 18 15:14:55 2006 +0200 [MIPS] Add support for kexec A tiny userland application loading the kernel and invoking kexec_load for mips is available here: http://chac.le-poulpe.net/~nico/kexec/kexec-2006-10-18.tar.gz Signed-off-by: Ralf Baechle commit c237923009da464881d89f4bc27c3b5b1a93d61b Author: Ralf Baechle Date: Thu Nov 30 01:14:44 2006 +0000 [MIPS] Don't print presence of WAIT instruction on bootup. Not useful and quite a big of noise on bootup of large systems. Signed-off-by: Ralf Baechle commit 5b10496b6e6577f65b032a5c4c97d0d3a841273c Author: Atsushi Nemoto Date: Mon Sep 11 17:50:29 2006 +0900 [MIPS] Fast path for rdhwr emulation for TLS Add special short path for emulationg RDHWR which is used to support TLS. Add an extra prologue for cpu_has_vtag_icache case. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 656be92f9ae194ed62bc81310a4589a7cd765f13 Author: Atsushi Nemoto Date: Thu Oct 26 00:08:31 2006 +0900 [MIPS] Load modules to CKSEG0 if CONFIG_BUILD_ELF64=n This is a patch to load 64-bit modules to CKSEG0 so that can be compiled with -msym32 option. This makes each module ~10% smaller. * introduce MODULE_START and MODULE_END * custom module_alloc() * PGD for modules * change XTLB refill handler synthesizer * enable -msym32 for modules again (revert ca78b1a5c6a6e70e052d3ea253828e49b5d07c8a) New XTLB refill handler looks like this: 80000080 dmfc0 k0,C0_BADVADDR 80000084 bltz k0,800000e4 # goto l_module_alloc 80000088 lui k1,0x8046 # %high(pgd_current) 8000008c ld k1,24600(k1) # %low(pgd_current) 80000090 dsrl k0,k0,0x1b # l_vmalloc_done: 80000094 andi k0,k0,0x1ff8 80000098 daddu k1,k1,k0 8000009c dmfc0 k0,C0_BADVADDR 800000a0 ld k1,0(k1) 800000a4 dsrl k0,k0,0x12 800000a8 andi k0,k0,0xff8 800000ac daddu k1,k1,k0 800000b0 dmfc0 k0,C0_XCONTEXT 800000b4 ld k1,0(k1) 800000b8 andi k0,k0,0xff0 800000bc daddu k1,k1,k0 800000c0 ld k0,0(k1) 800000c4 ld k1,8(k1) 800000c8 dsrl k0,k0,0x6 800000cc mtc0 k0,C0_ENTRYLO0 800000d0 dsrl k1,k1,0x6 800000d4 mtc0 k1,C0_ENTRYL01 800000d8 nop 800000dc tlbwr 800000e0 eret 800000e4 dsll k1,k0,0x2 # l_module_alloc: 800000e8 bgez k1,80000008 # goto l_vmalloc 800000ec lui k1,0xc000 800000f0 dsubu k0,k0,k1 800000f4 lui k1,0x8046 # %high(module_pg_dir) 800000f8 beq zero,zero,80000000 800000fc nop 80000000 beq zero,zero,80000090 # goto l_vmalloc_done 80000004 daddiu k1,k1,0x4000 80000008 dsll32 k1,k1,0x0 # l_vmalloc: 8000000c dsubu k0,k0,k1 80000010 beq zero,zero,80000090 # goto l_vmalloc_done 80000014 lui k1,0x8046 # %high(swapper_pg_dir) Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 56ae58333031bb0564c141f955d1e42276cade55 Author: Yoichi Yuasa Date: Sat Oct 14 00:25:04 2006 +0900 [MIPS] Rewrite GALILEO_INL/GALILEO_OUTL to GT_READ/GT_WRITE This patch has rewritten GALILEO_INL/GALILEO_OUTL using GT_READ/GT_WRITE. This patch tested on Cobalt Qube2. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4e3884fc83f40b5daabceeee3a428a8ebebbbe4a Author: Atsushi Nemoto Date: Sat Oct 21 01:28:26 2006 +0900 [MIPS] Use "long" for 64-bit values on 64-bit kernel. This would get rid of some warnings about "long" vs. "long long". Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit acd86b8622099c3206e0a1665545ae2318089b9c Author: Franck Bui-Huu Date: Thu Oct 19 13:20:05 2006 +0200 [MIPS] Make free_init_pages() arguments to be physical addresses It allows caller of this function to not care about CKSEG0/XKPHYS address mixes. It's now automatically done by free_init_pages(). We can now safely remove hack needed by 64 bit kernels with CONFIG_BUILD_ELF64=n in free_initmem(). Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit a7837b76b6de932c31d0b7c71176ca8d1213a3ce Author: Franck Bui-Huu Date: Thu Oct 19 13:20:04 2006 +0200 [MIPS] setup.c: clean up initrd related code Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f5bffe3a9bcd6e5319b5fd3a8109625f8638425a Author: Franck Bui-Huu Date: Thu Oct 19 13:20:03 2006 +0200 [MIPS] setup.c: use __pa_symbol() where needed It should fix the broken code in resource_init() too. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 8431fd094d625b94d364fe393076ccef88e6ce18 Author: Franck Bui-Huu Date: Thu Oct 19 13:20:02 2006 +0200 [MIPS] Introduce __pa_symbol() This patch introduces __pa_symbol() macro which should be used to calculate the physical address of kernel symbols. It also relies on RELOC_HIDE() to avoid any compiler's oddities when doing arithmetics on symbols. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit d4df6d4e7a66b7a9bd57f5dc7d80d6b55dc12dbb Author: Franck Bui-Huu Date: Thu Oct 19 13:20:01 2006 +0200 [MIPS] setup.c: get ride of CPHYSADDR() and use new __pa() implementation instead introduced by the previous patch. Indeed this macro can be used now even by the 64 bit kernels with CONFIG_BUILD_ELF64=n config. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 620a4802be8ee7989b1b6684b7198ebae02af854 Author: Franck Bui-Huu Date: Thu Oct 19 13:20:00 2006 +0200 [MIPS] Make __pa() aware of XKPHYS/CKSEG0 address mix for 64 bit kernels During early boot mem init, some configs couldn't use __pa() to convert virtual into physical addresses. Specially for 64 bit kernel cases when CONFIG_BUILD_ELF64=n. This patch make __pa() work for _all_ configs and thus make CPHYSADDR() useless. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 99e3b942c62f42c8d5added63305e12372b06daf Author: Franck Bui-Huu Date: Thu Oct 19 13:19:59 2006 +0200 [MIPS] page.h: remove __pa() usages. __pa() was used by virt_to_page() and virt_addr_valid(). These latter are used when kernel is initialised so __pa() is not appropriate, we use virt_to_phys() instead. Futhermore __pa() is going to take care of CKSEG0/XKPHYS address mix for 64 bit kernels. This makes __pa() more complex than virt_to_phys() and this extra work is not needed by virt_to_page() and virt_addr_valid(). Eventually it consolidates virt_to_phys() prototype by making its argument 'const'. this avoids some warnings that was due to some virt_to_page() usages which pass const pointer. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f469b2626f48829c06e40ac799c1edf62b12048e Author: Michael S. Tsirkin Date: Wed Nov 29 15:33:10 2006 -0800 IB/ucm: Fix deadlock in cleanup ib_ucm_cleanup_events() holds file_mutex while calling ib_destroy_cm_id(). This can deadlock since ib_destroy_cm_id() flushes event handlers, and ib_ucm_event_handler() needs file_mutex, too. Therefore, drop the file_mutex during the call to ib_destroy_cm_id(). Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit e1444b5a163e81138754cab27c4fa1637b5a2239 Author: Sean Hefty Date: Tue Nov 28 14:57:13 2006 -0800 IB/cm: Fix automatic path migration support The ib_cm_establish() function is replaced with a more generic ib_cm_notify(). This routine is used to notify the CM that failover has occurred, so that future CM messages (LAP, DREQ) reach the remote CM. (Currently, we continue to use the original path) This bumps the userspace CM ABI. New alternate path information is captured when a LAP message is sent or received. This allows QP attributes to be initialized for the user when a new path is loaded after failover occurs. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 2745b5b713bf3457d8977c62dc2b3aa61f4a14b0 Author: Michael S. Tsirkin Date: Thu Nov 16 14:16:47 2006 +0200 IPoIB: Fix skb leak when freeing neighbour ipoib_neigh_free() is sometimes called while neighbour is still alive, so it might still have queued skbs. Fix skb leak in this case. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit d2fcea7d68473b8bb3e0addb4926c87e2217ca83 Author: Vu Pham Date: Tue Nov 21 14:14:10 2006 -0800 IB/srp: Fix memory leak on reconnect SRP reallocates the IU buffers for tx_ring and rx_ring without freeing the old buffers when it reconnects to a target. Fix this by keeping the old IU buffers around. Signed-off-by: Vu Pham Signed-off-by: Roland Dreier commit 04699a1f8634a4e89c71b22050b599c72126fa96 Author: Roland Dreier Date: Wed Nov 29 15:33:09 2006 -0800 RDMA/addr: list_move() cleanups Replace a couple list_del()/list_add() combos with list_move(). Signed-off-by: Roland Dreier commit c78bb8442b14ee6704bdb323111ffa874d4bfdaa Author: Krishna Kumar Date: Fri Nov 24 16:02:34 2006 +0530 RDMA/addr: Fix some cancellation problems in process_req() Fix following problems in process_req() relating to cancellation: - Function is wrongly doing another addr_remote() when cancelled, which is not required. - Make failure reporting immediate by using time_after_eq(). - On cancellation, -ETIMEDOUT was returned to the callback routine instead of the more appropriate -ECANCELLED (users getting notified may want to print/return this status, eg ucma_event_handler). Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit c9edea298e52faeb0d4ae875cb712a5d69ba1966 Author: Krishna Kumar Date: Fri Nov 24 16:03:48 2006 +0530 RDMA/amso1100: Prevent deadlock in destroy QP It is possible to swap the CQs used for send_cq and recv_cq when creating two different QPs. If these two QPs are then destroyed at the same time, an AB-BA deadlock can occur because the CQ locks are taken our of order. Fix this by always taking CQ locks in a fixed order. Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit 7013696a5f5ccd0d847d5e8b841d0b0b312277c8 Author: Jack Morgenstein Date: Sun Nov 26 09:10:19 2006 +0200 IB/mthca: Fix initial SRQ logsize for mem-free HCAs When initializing an mthca SRQ, the log_srq_size field should be the log of the number of SRQ WQEs, not the log of the number of bytes in the SRQ. This affects only mthca drivers for memfree HCAs which set the initial srq wqe counter (in the SW2HW transition) to a non-zero value. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 2771e9ed4702e46c3f4c305eb2e047c251c2ad2b Author: Hoang-Nam Nguyen Date: Mon Nov 20 23:54:12 2006 +0100 IB/ehca: Use WQE offset instead of WQE addr for pending work reqs This is a patch for ehca to fix a bug in prepare_sqe_to_rts(), which used WQE address to iterate pending work requests. This might cause an access violation since the queue pages can not be assumed to follow each other consecutively. Thus, this patch introduces a few queue functions to determine WQE offset based on its address and uses WQE offset to iterate the pending work requests. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 9ab1ffa8775d9c677b1301cccce8a7d91e5163d0 Author: Krishna Kumar Date: Thu Nov 9 09:30:48 2006 +0530 RDMA/iwcm: Fix comment for iwcm_deref_id() to match code In iwcm_deref_id(), the comment says : "If the last reference is being removed and iw_destroy_cm_id is waiting, wake up the waiting thread". The second part of the comment, "and iw_destroy_cm_id is waiting," is wrong, since this function either wakes the waiter already waiting in iwcm_deref_id, or enables it (so that when wait_for_completion() is performed later, it will immediately return). Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 715a588f420936ecdb813c4fcd40dff7a16b1638 Author: Krishna Kumar Date: Thu Nov 9 09:30:45 2006 +0530 RDMA/iwcm: Remove unnecessary function argument Remove unnecessary cm_id_priv argument to copy_private_data(), and change text to reflect the code. Fix couple of typos in comments. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 13fccdb380f88770f05b922c273d907aecda7c12 Author: Krishna Kumar Date: Thu Nov 9 09:30:43 2006 +0530 RDMA/iwcm: Remove unnecessary initializations Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 83b96586239bf6c719ff640341e1cf83e4a7c046 Author: Krishna Kumar Date: Thu Nov 9 09:30:41 2006 +0530 RDMA/iwcm: Fix memory leak If we get IW_CM_EVENT_CONNECT_REQUEST message and encounter an error (not in the LISTEN state, cannot create an id, cannot alloc work_entry, etc), then the memory allocated by cm_event_handler() in the event->private_data gets leaked. Since cm_work_handler has already put the event on the work_free_list, this allocated memory is leaked. High backlog value can allow DoS attacks. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 33ba0fa9f315ce32fbb86fa671c131f5355b52a1 Author: Krishna Kumar Date: Thu Nov 9 09:30:34 2006 +0530 RDMA/iwcm: Fix memory corruption bug in cm_work_handler() Possible memory corruption scenario: after putting the work entry back on the work_free_list, we call process_event() which dereferences work->event, which could have been modified to another value meanwhile. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit e54f81889cd5228e7087637c377d76301c7c5663 Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 IB: Convert kmem_cache_t -> struct kmem_cache Signed-off-by: Roland Dreier commit 53533e16b1d94ff71cb013497938976906d9d504 Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 IB/ipath: Fix typo in pma_counter_select subscript The array has only 5 entries, so [5] should have been [4]. Signed-off-by: Roland Dreier commit 29666128a22ddc78b3e393674ef69462835db43f Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 RDMA/amso1100: Fix section mismatches The amso1100 driver was missing a couple of __devinit/__devexit annotations for init/cleanup functions that are called from __devinit/__devexit functions. Reported by Randy Dunlap . Signed-off-by: Roland Dreier commit f4f3d0f0ece2527184b6c91afa1196a27a5bfaf5 Author: Roland Dreier Date: Wed Nov 29 15:33:06 2006 -0800 IB/mthca: Fix section mismatches Commit b3b30f5e ("IB/mthca: Recover from catastrophic errors") introduced some section mismatch breakage, because the error recovery code tears down and reinitializes the device, which calls into lots of code originally marked __devinit and __devexit from regular .text. Fix this by getting rid of these now-incorrect section markers. Reported by Randy Dunlap . Signed-off-by: Roland Dreier commit 3c8edf0eca2e47340c960b2f27c659c097118ffe Author: Arne Redlich Date: Wed Nov 15 12:43:00 2006 +0100 IB/srp: Increase supported CDB size Set the Scsi_Host's max_cmd_len from 12 (default) to 16 for SRP. Otherwise scsi_dispatch_cmd() won't pass down certain commands such as READ CAPACITY 16, required for supporting disks > 2TB. Signed-off-by: Arne Redlich Signed-off-by: Roland Dreier commit e31353eaeca736981ec13b46089d30147342b28b Author: Dotan Barak Date: Tue Oct 24 13:35:27 2006 -0700 RDMA/cm: Remove setting local write as part of QP access flags The qp_access_flags are for remote access permissions only, so IB_ACCESS_LOCAL_WRITE is an invalid value. Remove it from the values set by cm_init_qp_init_attr() and cma_init_ib_qp(). Signed-off-by: Dotan Barak Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit bed8bdfddd851657cf9e5fd16bb44abb02ae7f42 Author: Eric Sesterhenn Date: Mon Oct 23 22:17:21 2006 +0200 IB: kmemdup() cleanup Replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Roland Dreier commit a1a733f65b091fdad3d0783e648c92b491933ab6 Author: Krishna Kumar Date: Tue Oct 17 10:09:11 2006 +0530 RDMA/cma: Rewrite cma_req_handler() to encapsulate common code Rewrite cma_req_handler error handling case to encapsulate common code. Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit f115db4803effd8207c3169590fb3f13336a4093 Author: Krishna Kumar Date: Tue Oct 17 10:09:09 2006 +0530 RDMA/addr: Use time_after_eq() instead of time_after() in queue_req() In queue_req(), use time_after_eq() instead of time_after() for following reasons : - Improves insert time if multiple entries with same time are present. - set_timeout need not be called if entry with same time is added to the list (and that happens to be the entry with the smallest time), saving atomic/locking operations. - Earlier entries with same time are deleted first (fifo). Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit e4022274cf8df1f78f9e20ba7e199a9edf655422 Author: Krishna Kumar Date: Mon Oct 16 10:09:08 2006 +0530 RDMA/cma: Remove redundant check in cma_add_one Remove redundant check of node_guid in cma_add_one(). Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit e82153b54d75af31d5d4a84efe441e5719f34cfc Author: Krishna Kumar Date: Mon Oct 16 10:09:01 2006 +0530 RDMA/cma: Optimize cma_bind_loopback() to check for empty list Optimize to test for an empty list first. This ends up simplifying the code too. Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit afdfe899e6420eac6c5eb3bc8c89456dff38d40e Author: Tejun Heo Date: Wed Nov 29 11:26:47 2006 +0900 [PATCH] libata: add missing sht->slave_destroy Many LLDs are missing sht->slave_destroy. The method is mandatory to support device warm unplugging (echo 1 > /sys/.../delete). Without it, libata might access released scsi device. Signed-off-by: Tejun Heo commit 41669553353554211310cdb23079d58af1fda41e Author: Tejun Heo Date: Wed Nov 29 11:33:14 2006 +0900 [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers JMicron AHCI controllers set PORT_IRQ_IF_ERR on device errors. The IRQ status bit indicates interface error or protocol mismatch and ahci driver interprets it into AC_ERR_ATA_BUS. So, whenever an ATAPI device raises check condition, ahci interprets it as ATA bus error and thus resets it which, in turn, raises check condition thus creating a reset loop and rendering the device unuseable. This patch makes JMB controllers ignore PORT_IRQ_IF_ERR when interpreting error condition. Signed-off-by: Tejun Heo Cc: Justin Tsai commit a88556a4b24baff99f5d2a2a05202c4aca44ea05 Author: John W. Linville Date: Tue Nov 28 14:16:37 2006 -0500 Revert "[PATCH] zd1211rw: Removed unneeded packed attributes" This reverts commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7. Quoth Daniel Drake : "A user reported that commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7 (Remove unneeded packed attributes) breaks the zd1211rw driver on ARM." Signed-off-by: John W. Linville commit a68077defb3337342981a0d3a4df3380496a8a87 Author: Ulrich Kunitz Date: Wed Nov 22 00:06:06 2006 +0000 [PATCH] zd1211rw: Fix of a locking bug This patch fixes the bug as reported in the kernel bug tracker under the id 7244. The bug was simply that the interrupt lock has been locked outside an interrupt without blocking the interrupt. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit a3df3b6f2e37474cdb8b56d55d31be41c22f9b18 Author: Michael Buesch Date: Mon Nov 27 14:37:21 2006 -0600 [PATCH] softmac: remove netif_tx_disable when scanning In the scan section of ieee80211softmac, network transmits are disabled. When SoftMAC re-enables transmits, it may override the wishes of a driver that may have very good reasons for disabling transmits. At least one failure in bcm43xx can be traced to this problem. In addition, several unexplained problems may arise from the unexpected enabling of transmits. Note that making this change introduces a new bug that would allow transmits for the current session to be transmitted on the wrong channel; however, the new bug is much less severe than the one being fixed, as the new one only leads to a few retransmits, whereas the old one can bring the interface down. A fix that will not introduce new bugs is being investigated; however, the current, more serious one should be fixed now. Signed-off-by: Michael Buesch Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit b94c7e677b9d28bd3f9ba4a70df6bfa7942867ca Author: Chad Sellers Date: Mon Nov 6 12:38:18 2006 -0500 SELinux: validate kernel object classes and permissions This is a new object class and permission validation scheme that validates against the defined kernel headers. This scheme allows extra classes and permissions that do not conflict with the kernel definitions to be added to the policy. This validation is now done for all policy loads, not just subsequent loads after the first policy load. The implementation walks the three structrures containing the defined object class and permission values and ensures their values are the same in the policy being loaded. This includes verifying the object classes themselves, the permissions they contain, and the permissions they inherit from commons. Classes or permissions that are present in the kernel but missing from the policy cause a warning (printed to KERN_INFO) to be printed, but do not stop the policy from loading, emulating current behavior. Any other inconsistencies cause the load to fail. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit bb242497474da317a7169cc939c741ccf2e79e8c Author: Chad Sellers Date: Mon Nov 6 12:38:17 2006 -0500 SELinux: ensure keys constant in hashtab_search Makes the key argument passed into hashtab_search and all the functions it calls constant. These functions include hash table function pointers hash_value and keycmp. The only implementations of these currently are symhash and symcmp, which do not modify the key. The key parameter should never be changed by any of these, so it should be const. This is necessary to allow calling these functions with keys found in kernel object class and permission definitions. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5c45899879e8caadb78f04c9c639f4c2025b9f00 Author: Chad Sellers Date: Mon Nov 6 12:38:16 2006 -0500 SELinux: export object class and permission definitions Moves the definition of the 3 structs containing object class and permission definitions from avc.c to avc_ss.h so that the security server can access them for validation on policy load. This also adds a new struct type, defined_classes_perms_t, suitable for allowing the security server to access these data structures from the avc. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5a64d4438ed1e759ccd30d9e90842bf360f19298 Author: Chad Sellers Date: Mon Nov 6 12:38:15 2006 -0500 SELinux: remove current object class and permission validation mechanism Removes the current SELinux object class and permission validation code, as the current code makes it impossible to change or remove object classes and permissions on a running system. Additionally, the current code does not actually validate that the classes and permissions are correct, but instead merely validates that they do not change between policy reloads. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit d5d06ff7f181c06ef8c94b353ae3fef8f06b3085 Author: Wim Van Sebroeck Date: Fri Nov 17 23:50:06 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4 a number of small patches: - include notifier.h include file - re-arrange prototype functions - remove =0 initializations - change printk logging levels to what's used in other drivers - /dev/watchdog is a VFS so use nonseekable_open - Style: Instead of "if (constant op function_or_variable)" we prefer "if (function_or_variable op constant)" - arg is a __user pointer - use MAX_TIMEOUT_SECONDS instead of 32 in WDIOC_SETTIMEOUT Signed-off-by: Randy Dunlap Signed-off-by: Wim Van Sebroeck commit 414a675964e5636b53b37827b646138f166507d3 Author: Wim Van Sebroeck Date: Fri Nov 17 23:36:08 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3 Move start and stop code into seperate functions Signed-off-by: Wim Van Sebroeck commit 97846e3ccbcbcc966e23a91b0d190efd1f889c9b Author: Wim Van Sebroeck Date: Fri Nov 17 23:15:48 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2 Reorganize source code so that it is structured as follows: - Function prototypes - Local variables - Module arguments - Interrupt handler - Watchdog functions - /dev/watchdog operations - Shutdown notifier - Kernel interfaces - Init & exit procedures - Device driver init & exit Signed-off-by: Wim Van Sebroeck commit cd57eeab7c4c108ce6e84545bdf37ae91b930781 Author: Wim Van Sebroeck Date: Fri Nov 17 21:51:35 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1 Locate parameter descriptions close to parameter definition - not in bottom of file. Signed-off-by: Sam Ravnborg Signed-off-by: Wim Van Sebroeck commit 825d3748c1b5f9272e4f9769f1c2da85174ece28 Author: Thomas Koeller Date: Mon Aug 14 21:55:29 2006 +0200 [WATCHDOG] MIPS RM9000 on-chip watchdog device This is a driver for the on-chip watchdog device found on some MIPS RM9000 processors. Signed-off-by: Thomas Koeller Signed-off-by: Wim Van Sebroeck commit 8d6286fdfd290589f8446ec1503702227263dcfd Author: Steve French Date: Thu Nov 16 22:48:25 2006 +0000 [CIFS] Fix timezone handling on stat to os/2 We were adjusting for timezone on readdir but not on stat Signed-off-by: Steve French commit 31ec35d6c81175016a6372571eab23b6bd40b406 Author: Steve French Date: Thu Nov 16 20:54:20 2006 +0000 [CIFS] Incorrect hardlink count when original file is cached (oplocked) Fixes Samba bug 2823 In this case hardlink count is stale for one of the two inodes (ie the original file) until it is closed - since revalidate does not go to server while file is cached locally. Signed-off-by: Steve French commit efa53ebe0d2f50bf342eb1976824f59bba9941eb Author: Zhu Yi Date: Mon Nov 13 11:32:50 2006 +0800 [PATCH] ieee80211: Fix kernel panic when QoS is enabled The 802.11 header length is affected by the wireless mode (WDS or not) and type (QoS or not). We should use the variable hdr_len instead of the hard coded IEEE80211_3ADDR_LEN, otherwise we may touch invalid memory. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e033351d5359f348d2913eb83fbb37023d8f21af Author: Wim Van Sebroeck Date: Sun Nov 12 18:05:09 2006 +0100 [WATCHDOG] Add iTCO vendor specific support Add vendor specific support to the intel TCO timer based watchdog devices. At this moment we only have additional support for some SuperMicro Inc. motherboards. Signed-off-by: Robert Seretny Signed-off-by: Wim Van Sebroeck commit 58c6570add83e30c0905885171fbffc134441165 Author: Akinobu Mita Date: Sun Oct 29 03:43:19 2006 +0900 [WATCHDOG] sc1200wdt.c pnp unregister fix. If no devices found or invalid parameter is specified, scl200wdt_pnp_driver is left unregistered. It breaks global list of pnp drivers. Signed-off-by: Akinobu Mita Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit fd0c5eca447254682a8372bc73b6bdcc16bf6777 Author: Andrew Morton Date: Fri Oct 27 17:20:42 2006 -0700 [WATCHDOG] config.h removal config.h got removed Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 0835caa2bf1933d5f41fd98e469107f4c00d547f Author: Wim Van Sebroeck Date: Mon Oct 23 18:21:52 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver - fixes Some small fixes: * the status should return 0 and not 1 (1 means: * wdt_io is not a module-param, io is. Signed-off-by: Wim Van Sebroeck commit 00b3b3e6605d7446cd410c7c9bb98f5336a15ca1 Author: Sven Anders & Marcus Junker Date: Mon Oct 16 18:18:09 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1 Change the driver for proper spin_locking, remove the TEMP_MINOR stuff, make sure the device works as a Virtual File System that is non_seekable, ... Signed-off-by: Sven Anders Signed-off-by: Marcus Junker Signed-off-by: Wim Van Sebroeck commit 789fc0adbaf3a3ca95a3894aedacfc01863e8ae3 Author: Sven Anders & Marcus Junker Date: Thu Aug 24 17:11:50 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver New watchdog driver for the NS pc87413-wdt Watchdog Timer. Signed-off-by: Sven Anders Signed-off-by: Marcus Junker Signed-off-by: Wim Van Sebroeck