ChangeSet@1.1994.11.21, 2005-03-09 15:41:29-08:00, gregkh@suse.de [PATCH] class: add a semaphore to struct class, and use that instead of the subsystem rwsem. This moves us away from using the rwsem, although recursive adds and removes of class devices is not yet possible (nor is it really known if it even is needed.) So this simple change is done instead. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.20, 2005-03-09 15:39:09-08:00, gregkh@suse.de [PATCH] sysdev: remove the rwsem usage from this subsystem. If further finer grained locking is needed, we can add a lock to the sysdev_class to lock the class drivers list. But if you do that, remember the global list also is still there and needs to be protected. That's why I went with a simple lock for everything. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.19, 2005-03-09 15:35:31-08:00, gregkh@suse.de [PATCH] sysdev: fix the name of the list of drivers to be a sane name Heh, "global_drivers" as a static... Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.18.2, 2005-03-09 15:24:27-08:00, gregkh@suse.de [PATCH] debugfs: fix bool built-in type. Thanks to Alessandro Rubini for pointing this out. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.18.1, 2005-03-09 15:24:07-08:00, gregkh@suse.de [PATCH] debufs: make built in types add a \n to their output Thanks to Alessandro Rubini for pointing this out. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.18, 2005-03-09 15:06:02-08:00, gregkh@suse.de [PATCH] kmap: remove usage of rwsem from kobj_map. This forces the caller to provide the lock, but as they all already had one, it's not a big change. It also removes the now-unneeded cdev_subsys. Thanks to Jon Corbet for reminding me about that. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.17.1, 2005-03-09 22:57:45+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2526/1: S3C2410 - s3c2400 uart support Patch from Ben Dooks Support for s3c2400 uarts in the s3c2410.c driver, to go with the s3c2410 and s3c2440 support already in there. Add PORT_S3C2400 to include/linux/serial_core.h Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1994.16.1, 2005-03-09 22:33:29+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2521/2: S3C2410 - update documentation Patch from Ben Dooks Update info on supported CPUs, add Lucas to the list of contributors. Add section on adding new machines Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1994.11.17, 2005-03-09 12:17:18-08:00, gregkh@suse.de [PATCH] USB: move usb core to use class_simple instead of it's own class functions. This is needed if the class code is going to be made easier to use, and it makes the code smaller and easier to understand. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.14.1, 2005-03-09 12:14:18-08:00, paul.mundt@nokia.com [PATCH] Add SuperHyway bus subsystem Signed-off-by: Paul Mundt Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.1.40, 2005-03-09 15:14:14-05:00, olof@austin.ibm.com [PATCH] [VIA RHINE] older chips oops on shutdown I'm oopsing on shutdown on a machine that has a Via Rhine adapter in it: Unable to handle kernel paging request at virtual address e0803003 [...] EIP is at ioread8+0x2c/0x40 Call Trace: [] show_stack+0x7f/0xa0 [] show_registers+0x15a/0x1c0 [] die+0xce/0x150 [] do_page_fault+0x356/0x692 [] error_code+0x2b/0x30 [] rhine_shutdown+0x60/0x140 [] device_shutdown+0x89/0x8b [] sys_reboot+0xac/0x200 [] sysenter_past_esp+0x52/0x75 Seems like it is the ioread8 in: /* Hit power state D3 (sleep) */ iowrite8(ioread8(ioaddr + StickyHW) | 0x03, ioaddr + StickyHW); that fails. StickyHW is 0x83. lspci says: 0000:00:07.0 Ethernet controller: VIA Technologies, Inc. VT86C100A [Rhine] (rev 06) Flags: bus master, medium devsel, latency 32, IRQ 18 I/O ports at ec00 [size=128] Memory at dfffff80 (32-bit, non-prefetchable) [size=128] In other words, it's trying to read outside of the I/O range (0x80), which matches the fauling address. I'm guessing my chip revision doesn't support WOL, it's a crappy noname card. It does seem as if rhine_power_init checks quirks for rqWOL before touching any registers. Should rhine_shutdown do the same? Proposed patch below, which resolves the problem on my system. Signed-off-by: Jeff Garzik ChangeSet@1.1994.1.39, 2005-03-09 15:12:50-05:00, akpm@osdl.org [PATCH] sis900 kernel oops fix From: Herbert Xu Fix bug #4223. OK, this happened because we got preempted before sis900_mii_probe finished setting the sis_priv->mii. Theoretically this can happen with SMP as well but I suppose the number of SMP machines with sis900 is fairly small. Anyway, the fix is to make sure that sis900_mii_probe is done before the device can be opened. This patch does it by moving the setup before register_netdevice. Since the netdev name is not available before register_netdev, I've changed the relevant printk's to use pci_name instead. Note that one of those printk's may be called after register_netdev as well. Signed-off-by: Herbert Xu Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik ChangeSet@1.1994.1.38, 2005-03-09 10:25:02-08:00, dhowells@redhat.com [PATCH] rwsem: Make rwsems use interrupt disabling spinlocks The attached patch makes read/write semaphores use interrupt disabling spinlocks in the slow path, thus rendering the up functions and trylock functions available for use in interrupt context. This matches the regular semaphore behaviour. I've assumed that the normal down functions must be called with interrupts enabled (since they might schedule), and used the irq-disabling spinlock variants that don't save the flags. Signed-Off-By: David Howells Tested-by: Badari Pulavarty Signed-off-by: Linus Torvalds ChangeSet@1.1994.13.6, 2005-03-09 10:22:12-08:00, ecashin@coraid.com [PATCH] aoe: drivers/block/aoe/aoechr.c cleanups Adrian Bunk writes: > This patch contains the following cleanups: > - make the needlessly global struct aoe_fops static > - #if 0 the unused global function aoechr_hdump Thanks for the patch. The original patch leaves the prototype for aoechr_hdump in aoe.h, but since this function is just for debugging, it seems better to just take both prototype and definition out. remove aoechr_hdump make aoe_fops static Signed-off-by: Adrian Bunk Signed-off-by: Ed L. Cashin Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.13.5, 2005-03-09 10:21:52-08:00, ecashin@coraid.com [PATCH] aoe status.sh: handle sysfs not in /etc/mtab Suse 9.1 Pro doesn't put /sys in /etc/mtab. This patch makes the example aoe status.sh script work when sysfs is mounted but `mount` doesn't mention sysfs. aoe status.sh: handle sysfs not in /etc/mtab Signed-off-by: Ed L. Cashin Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.13.4, 2005-03-09 10:21:33-08:00, ecashin@coraid.com [PATCH] aoe: fail IO on disk errors This patch makes disk errors fail the IO instead of getting logged and ignored. Fail IO on disk errors Signed-off-by: Ed L. Cashin Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.13.3, 2005-03-09 10:21:15-08:00, ecashin@coraid.com [PATCH] aoe: update documentation for udev users Bodo Eggert <7eggert@gmx.de> writes: > Ed L Cashin wrote: > >> +if=A0test=A0-z=A0"$conf";=A0then >> +=A0=A0=A0=A0=A0=A0=A0=A0conf=3D"`find=A0/etc=A0-type=A0f=A0-name=A0udev= .conf=A02>=A0/dev/null`" >> +fi >> +if=A0test=A0-z=A0"$conf"=A0||=A0test=A0!=A0-r=A0$conf;=A0then >> +=A0=A0=A0=A0=A0=A0=A0=A0echo=A0"$me=A0Error:=A0could=A0not=A0find=A0rea= dable=A0udev.conf=A0in=A0/etc"=A01>&2 >> +=A0=A0=A0=A0=A0=A0=A0=A0exit=A01 >> +fi > > This will fail and print > --- > bash: test: etc/udev.conf: binary operator expected > --- > if there is more than one udev.conf. > > Fix: Always put quotes around variables. Thanks. With the changes below, it still will complain if it finds more than one udev.conf, but only if /etc/udev/udev.conf doesn't exist. Quote all shell variables, and use /etc/udev/udev.conf if available. Signed-off-by: Ed L. Cashin Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.13.2, 2005-03-09 10:20:56-08:00, ecashin@coraid.com [PATCH] aoe: add documentation for udev users add documentation for udev users Signed-off-by: Ed L. Cashin Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.13.1, 2005-03-09 10:20:37-08:00, alexn@dsv.su.se [PATCH] AoE warning on 64-bit archs I just accidently built AoE on x86-64 and it emits a warning due to conversion of types of different size, trivial fix: Signed-off-by: Alexander Nyberg Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.12.5, 2005-03-09 10:13:34-08:00, akpm@osdl.org [PATCH] tpm-build-fix drivers/char/tpm/tpm.c: In function `show_pcrs': drivers/char/tpm/tpm.c:228: warning: passing arg 1 of `tpm_transmit' from incompatible pointer type drivers/char/tpm/tpm.c:238: warning: passing arg 1 of `tpm_transmit' from incompatible pointer type Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.12.4, 2005-03-09 10:13:15-08:00, akpm@osdl.org [PATCH] tpm_atmel build fix drivers/char/tpm/tpm_atmel.c:131: unknown field `fops' specified in initializer drivers/char/tpm/tpm_atmel.c:131: warning: missing braces around initializer Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.12.3, 2005-03-09 10:12:56-08:00, akpm@osdl.org [PATCH] tpm_msc-build-fix With older gcc's: drivers/char/tpm/tpm_nsc.c:238: unknown field `fops' specified in initializer drivers/char/tpm/tpm_nsc.c:238: warning: missing braces around initializer Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.12.2, 2005-03-09 10:12:38-08:00, kjhall@us.ibm.com [PATCH] tpm: fix cause of SMP stack traces There were misplaced spinlock acquires and releases in the probe, close and release paths which were causing might_sleep and schedule while atomic error messages accompanied by stack traces when the kernel was compiled with SMP support. Bug reported by Reben Jenster Signed-off-by: Kylene Hall Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.12.1, 2005-03-09 10:12:19-08:00, kjhall@us.ibm.com [PATCH] Add TPM hardware enablement driver This patch is a device driver to enable new hardware. The new hardware is the TPM chip as described by specifications at . The TPM chip will enable you to use hardware to securely store and protect your keys and personal data. To use the chip according to the specification, you will need the Trusted Software Stack (TSS) of which an implementation for Linux is available at: . Signed-off-by: Leendert van Doorn Signed-off-by: Reiner Sailer Signed-off-by: Dave Safford Signed-off-by: Kylene Hall Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.16, 2005-03-09 10:00:20-08:00, gregkh@suse.de [PATCH] kref: make kref_put return if this was the last put call. This is needed for the upcoming klist code from Pat. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.15, 2005-03-09 09:59:49-08:00, gregkh@suse.de [PATCH] sysdev: make system_subsys static as no one else needs access to it. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.14, 2005-03-09 09:53:28-08:00, gregkh@suse.de [PATCH] kset: make ksets have a spinlock, and use that to lock their lists Do this instead of using the rwsem of a subsys. Smaller, faster, and I'm trying to get rid of the rwsem in the subsys. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.13, 2005-03-09 09:53:08-08:00, kay.sievers@vrfy.org [PATCH] floppy.c: pass physical device to device registration With this patch the floppy driver creates the usual symlink in sysfs to the physical device backing the block device: $tree /sys/block/ /sys/block/ |-- fd0 | |-- dev | |-- device -> ../../devices/platform/floppy0 ... Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.12, 2005-03-09 09:52:48-08:00, kay.sievers@vrfy.org [PATCH] Driver core: add "bus" symlink to class/block devices On Tue, Feb 15, 2005 at 09:53:44PM +0100, Kay Sievers wrote: > Add a "bus" symlink to the class and block devices, just like the "driver" > and "device" links. This may be a huge speed gain for e.g. udev to determine > the bus value of a device, as we currently need to do a brute-force scan in > /sys/bus/* to find this value. Hmm, while playing around with it, I think we should create the "bus" link on the physical device on not on the class device. Also the current "driver" link at the class device should be removed, cause class devices don't have a driver. Block devices never had this misleading symlink. From the class device we point with the "device" link to the physical device, and only the physical device should have the "driver" and the "bus" link, as it represents the real relationship. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.11, 2005-03-09 09:52:29-08:00, Michael.Waychison@Sun.COM [PATCH] driver core: clean driver unload Get rid of semaphore abuse by converting device_driver->unload_sem semaphore to device_driver->unloaded completion. This should get rid of any confusion as well as save a few bytes in the process. Signed-off-by: Mike Waychison Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.10, 2005-03-09 09:52:10-08:00, kay.sievers@vrfy.org [PATCH] videodev: pass dev_t to the class core Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.9, 2005-03-09 09:51:50-08:00, kay.sievers@vrfy.org [PATCH] i2c: class driver pass dev_t to the class core Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.8, 2005-03-09 09:51:30-08:00, kay.sievers@vrfy.org [PATCH] usb: class driver pass dev_t to the class core Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.7, 2005-03-09 09:33:17-08:00, kay.sievers@vrfy.org [PATCH] class_simple: pass dev_t to the class core Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.6, 2005-03-09 09:32:58-08:00, kay.sievers@vrfy.org [PATCH] block core: export MAJOR/MINOR to the hotplug env Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.5, 2005-03-09 09:32:38-08:00, kay.sievers@vrfy.org [PATCH] class core: export MAJOR/MINOR to the hotplug env Move the creation of the sysfs "dev" file of a class device into the driver core. The struct class_device contains a dev_t value now. If set, the driver core will create the "dev" file containing the major/minor numbers automatically. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.4, 2005-03-09 09:32:19-08:00, rmk+lkml@arm.linux.org.uk [PATCH] driver core: Separate platform device name from platform device number Separate platform device name from platform device number such that names ending with numbers aren't confusing. Signed-off-by: Russell King Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.3, 2005-03-09 09:32:00-08:00, linux@dominikbrodowski.de [PATCH] cpufreq 2.4 interface removal schedule Even though these 2.4. interfaces are already gone in Dave Jones' cpufreq bitkeeper tree, here's a patch which properly announces it in Documentation/feature-removal-schedule.txt: Add meaningful content concerning the removal of deprecated interfaces to the cpufreq core. Signed-off-by: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.2, 2005-03-09 09:31:40-08:00, rddunlap@osdl.org [PATCH] Add 2.4.x cpufreq /proc and sysctl interface removal feature-removal-schedule Add 2.4.x cpufreq /proc and sysctl interface removal to the feature-removal-schedule. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.11.1, 2005-03-09 09:31:21-08:00, arjan@infradead.org [PATCH] Kobject: remove some unneeded exports kobject_get_path and kobject_rename are only used by the sysfs core code and not aren't really driver-ish code. Remove the unused exports Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.9.8, 2005-03-09 08:30:33-08:00, axboe@suse.de [PATCH] barrier rework updates As promised to Andrew, here are the latest bits that fixup the block io barrier handling. - Add io scheduler ->deactivate hook to tell the io scheduler is a request is suspended from the block layer. cfq and as needs this hook. - Locking updates - Make sure a driver doesn't reuse the flush rq before a previous one has completed - Typo in the scsi_io_completion() function, the bit shift was wrong - sd needs proper timeout on the flush - remove silly debug leftover in ide-disk wrt "hdc" Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds ChangeSet@1.1994.9.7, 2005-03-09 08:13:13-08:00, willy@parisc-linux.org [PATCH] PA-RISC irq handling improvements - Move the bits_wide parameter from txn_alloc_data to txn_alloc_irq. It's too late by the time it hits txn_alloc_data(), we can only panic. In txn_alloc_irq, we can fail the allocation and continue. - Also fix a bug where we'd only allow up to half the interrupts to be allocated. Not a problem for iosapic machines, but might have sucked on a really big GSC-based machine. - Add missing irq_enter() / irq_exit() - Allow interrupt processing to be interrupted by the timer tick so we actually account hard interrupts. Also speed up the handling of CPU interrupts by not masking with cpu_eiem again. - Remove sufficiently obsolete DEBUG_IRQ code - Remove limit on times around the loop. If we exit the loop while interrupts are still pending, we'll only be re-interrupted as soon as we exit the function. - Remove unnecessary includes Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.9.6, 2005-03-09 08:12:57-08:00, willy@parisc-linux.org [PATCH] Improve PA-RISC make configcheck Fix "make configcheck | fgrep 'not needed' | fgrep parisc" Signed-off-by: Grant Grundler Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.9.5, 2005-03-09 08:12:42-08:00, willy@parisc-linux.org [PATCH] ALSA Harmony fixes - The entire silence buffer is now being filled, instead of just 1/8th of it. - The silence buffer is now prepared during initialisation of the driver. - snd_pcm_format_size() is missing from the ALSA headers: using snd_pcm_format_physical_width() instead. Signed-off-by: Stuart Brady Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.9.4, 2005-03-09 08:12:28-08:00, willy@parisc-linux.org [PATCH] Sparse annotations and cleanup warnings for PA-RISC - Missing UL on large integers - 0/NULL confusion - __user annotations - C99-style array elements Signed-off-by: Randolph Chung Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.9.3, 2005-03-09 08:12:13-08:00, willy@parisc-linux.org [PATCH] PA-RISC assembler cleanups and fixes - Convert ldil/ldo to using the load32 macro. Signed-Off-By: Kyle McMartin - loop on signal delivery like other archs - unify VM initialization code for 32/64-bit Signed-off-by: Randolph Chung Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.2007, 2005-03-08 19:40:52-08:00, davem@northbeach.davemloft.net Merge northbeach.davemloft.net:/home/davem/src/BK/sparcwork-2.6 into northbeach.davemloft.net:/home/davem/src/BK/sparc-2.6 ChangeSet@1.2006, 2005-03-08 19:17:53-08:00, davem@northbeach.davemloft.net [SPARC64]: Fix inline assembler in init_irqwork_curcpu(). 'tmp' cannot be a global register, because we are going into the interrupt globals by writing to pstate. Since we did not specify any particular register, gcc could use anything, and in fact because of this I am surprised we did not hit this bug earlier. Signed-off-by: David S. Miller ChangeSet@1.2005, 2005-03-08 17:02:18-08:00, davem@northbeach.davemloft.net [SCSI_ACARD]: Eliminate bogus virt_to_bus() call in atp870u.c prdaddr is set by the pci_alloc_consistent() call to portably specify the DMA address. There is no need to recompute it again using the deprecated virt_to_bus() on the pointer returned from pci_alloc_consistent(). Signed-off-by: David S. Miller ChangeSet@1.2004, 2005-03-08 16:56:36-08:00, davem@northbeach.davemloft.net [AFS]: Push module_{init,exit}() after function definitions. Signed-off-by: David S. Miller ChangeSet@1.2003, 2005-03-08 16:54:08-08:00, davem@northbeach.davemloft.net [RXRPC]: Push module_{init,exit}() after function definitions. Signed-off-by: David S. Miller ChangeSet@1.2002, 2005-03-08 16:50:31-08:00, davem@northbeach.davemloft.net [BTTV]: Declare bttvs[] array after struct layout. Signed-off-by: David S. Miller ChangeSet@1.1994.9.1, 2005-03-08 16:26:54-08:00, gregkh@suse.de Merge suse.de:/home/greg/linux/BK/bleed-2.6 into suse.de:/home/greg/linux/BK/usb-2.6 ChangeSet@1.1994.7.5, 2005-03-08 23:44:06+00:00, tony@com.rmk.(none) [ARM PATCH] 2451/1: OMAP 32KHz timer and 64-bit sched_clock, take 3 Patch from Tony Lindgren This patch adds support for 32k timer on OMAP 16xx, and 64-bit sched clock to the MPU timer. This is an update version of ARM patch 2337/1. The 32k timer modulo code has been left out, and the dynamic tick (VST) timer will be submitted in a separate patch. Signed-off-by: Tony Lindgren Signed-off-by: Russell King ChangeSet@1.1994.7.4, 2005-03-08 23:25:46+00:00, rmk@flint.arm.linux.org.uk [ARM] Fix build error in rtctime.c Oops, it broke. Glue the bits back together, replacing yrs with tm->tm_year + 1900. I will not merge untested changes into Linus' tree. I will not merge untested changes into Linus' tree. I will not merge untested changes into Linus' tree. I will not ... Signed-off-by: Russell King ChangeSet@1.1994.7.3, 2005-03-08 22:47:59+00:00, rpurdie@net.rmk.(none) [ARM PATCH] 2522/1: Sharp SCOOP - Add mutliple device support Patch from Richard Purdie Sharp SCOOP: Devices with multiple scoop interfaces are now available so: * add support for mutliple device support to the driver * Update corgi, collie and poodle to share the scoop device structure so a device can be selected in drivers * Update drivers to use the device structures Signed-off-by: Richard Purdie Signed-off-by: Russell King ChangeSet@1.1994.7.2, 2005-03-08 22:37:20+00:00, buytenh@org.rmk.(none) [ARM PATCH] 2517/1: more ixp2000 typo fixes Patch from Lennert Buytenhek Another round of ixp2000 typo fixes. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King ChangeSet@1.1994.6.2, 2005-03-08 22:13:51+00:00, rmk@flint.arm.linux.org.uk [SERIAL] Add PCI state save/restore and PCI power state management Resolve a problem where a Sony Ericsson GC79 Cardbus device was not being correctly resumed across a S3 suspend, as reported by Hendrik Hoeth. Signed-off-by: Russell King ChangeSet@1.1994.1.35, 2005-03-08 15:49:23-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/viro-isa-ectomy into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1994.1.34, 2005-03-08 15:46:55-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/linux-2.6 into pobox.com:/garz/repo/netdev-2.6/janitor ChangeSet@1.1994.8.225, 2005-03-08 11:27:48-08:00, paulus@samba.org [PATCH] ppc64: fix eeh.h compile warnings This patch is from Nathan Lynch . Use static inlines instead of #defines for stub functions when CONFIG_EEH=n, to eliminate "statement with no effect" warnings with some toolchains. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.224, 2005-03-08 11:27:33-08:00, paulus@samba.org [PATCH] ppc64: update irq affinity mask when migrating irqs This patch is from Nathan Lynch . When offlining a cpu, any device interrupts which are bound to the cpu have their affinity forcibly reset to all cpus (the default). However, the value in /proc/irq/XXX/smp_affinity remains unchanged. Since we're doing this while all the other cpus are stopped, it should be safe to just call desc->handler->set_affinity and manually update the irq_affinity array. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.223, 2005-03-08 11:27:18-08:00, paulus@samba.org [PATCH] ppc64: call idle_task_exit with irqs disabled This patch is from Nathan Lynch . Seeing this very occasionally during cpu hotplug testing: Badness in slb_flush_and_rebolt at arch/ppc64/mm/slb.c:52 Call Trace: [c0000000ef0efbe0] [c0000000000127a0] .__switch_to+0xa4/0xf0 (unreliable) [c0000000ef0efc80] [c000000000050178] .idle_task_exit+0xbc/0x15c [c0000000ef0efd10] [c00000000000d108] .cpu_die+0x18/0x68 [c0000000ef0efd90] [c00000000001023c] .dedicated_idle+0x1fc/0x254 [c0000000ef0efe80] [c00000000000fc80] .cpu_idle+0x3c/0x54 [c0000000ef0eff00] [c00000000003aa90] .start_secondary+0x108/0x148 [c0000000ef0eff90] [c00000000000bd28] .enable_64b_mode+0x0/0x28 idle_task_exit can result in a call to slb_flush_and_rebolt, which must not be called with interrupts enabled. Make the call with interrupts disabled. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.222, 2005-03-08 11:27:02-08:00, paulus@samba.org [PATCH] ppc64: error code cleanups rpa(php,dlpar) This patch is from John Rose This patch changes the RPA PCI Hotplug and DLPAR modules to use more conventional error values for return codes. The goal is to make failure conditions obvious in the wrapper functions and in the caller code. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.221, 2005-03-08 11:26:46-08:00, paulus@samba.org [PATCH] ppc64: error code cleanups for rtas wrappers This patch is from John Rose This patch changes the rtas wrapper functions in rtas.c to map RTAS failure codes to conventional error values. The goal is to make failure conditions obvious in the wrapper functions and in the caller code. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.220, 2005-03-08 11:23:57-08:00, sfr@canb.auug.org.au [PATCH] ppc64: "invert" dma mapping routines This patch "inverts" the PPC64 dma mapping routines so that the pci_ and vio_ ... routines are implemented in terms of the dma_ ... routines (the vio_ routines disappear anyway as noone uses them directly any more). The most noticable change after this patch is applied will be that the flags passed to dma_alloc_coherent will now be honoured (whereas they were previously silently ignored since we used to just call pci_alloc_consistent). Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.219, 2005-03-08 10:49:39-08:00, andrea@suse.de [PATCH] remove vmalloc guard page knowledge from arch code Now that we cleaned up the guard page handling in vmalloc, we have to remove the p-PAGE_SIZE hack that was put in there for the original guard page handling. This also removes some spurious tab. Signed-off-by: Andrea Arcangeli Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.218, 2005-03-08 10:18:29-08:00, roland@redhat.com [PATCH] set RLIMIT_SIGPENDING limit based on RLIMIT_NPROC While looking into the issues Jeremy had with the RLIMIT_SIGPENDING limit, it occurred to me that the normal setting of this limit is bizarrely low. The initial hard limit setting (MAX_SIGPENDING) was taken from the old max_queued_signals parameter, which was for the entire system in aggregate. But even as a per-user limit, the 1024 value is incongruously low for this. On my machine, RLIMIT_NPROC allows me 8192 processes, but only 1024 queued signals, i.e. fewer even than one pending signal in each process. (To me, this really puts in doubt the sensibility of using a per-user limit for this rather than a per-process one, i.e. counted in sighand_struct or signal_struct, which could have a much smaller reasonable value. I don't recall the rationale for making this new limit per-user in the first place.) This patch sets the default RLIMIT_SIGPENDING limit at boot time, using the calculation that decides the default RLIMIT_NPROC limit. This uses the same value for those two limits, which I think is still pretty conservative on the RLIMIT_SIGPENDING value. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.217, 2005-03-08 10:18:14-08:00, roland@redhat.com [PATCH] show RLIMIT_SIGPENDING usage in /proc/PID/status Jeremy mentioned the aggravation of not being able to tell when your processes are using up signal queue entries and hitting the RLIMIT_SIGPENDING limit. This patch adds a line to /proc/PID/status showing how many queue items are in use, and allowed, for your uid. I can certainly see the appeal of having a display of the number of queued items specific to each process, and even the items within the process broken down per signal number. However, those are not things that are directly counted, and ascertaining them requires iterating through the queue. This patch instead gives what can be readily determined in constant time using the accounting already done. I'm not sure something more complex is warranted just to facilitate one particular debugging need. With this, you can see quickly that this particular problem has come up. Then examination of each process's SigPnd/ShdPnd lines ought to give you an indication of which processes have any queued RT signals sitting around for a long time, and you can then attack those programs directly, though there is no way after the fact to determine how many queued signals with the same number a given process has (short of killing it and seeing the usage drop). Note you may still have a mystery if the leaking programs are not leaving pending RT signals queued, but rather preallocating queue items via timer_create. That usage is not readily apparent in any /proc information. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.216, 2005-03-08 10:18:00-08:00, roland@redhat.com [PATCH] override RLIMIT_SIGPENDING for non-RT signals I can read POSIX to say that the siginfo_t data must be available when `kill' was used, as well. This patch makes it allocate the siginfo_t, even when that exceeds {RLIMIT_SIGPENDING}, for any non-RT signal (< SIGRTMIN) not sent by sigqueue (actually, any signal that couldn't have been faked by a sigqueue call). Of course, in an extreme memory shortage situation, you are SOL and violate POSIX a little before you die horribly from being out of memory anyway. The LEGACY_QUEUE logic already ensures that, for non-RT signals, at most one is ever on the queue. So there really is no risk at all of unbounded resource consumption; the usage can reach {RLIMIT_SIGPENDING} + 31, is all. It's already the case that the limit can be exceeded by (in theory) up to {RLIMIT_NPROC}-1 in race conditions because the bump and the limit check are not atomic. (Obviously you can only get anywhere near that many with assloads of preemption, but exceeding it by a few is not too unlikely.) This patch also fixes that accounting so that it should not be possible to exceed {RLIMIT_SIGPENDING} + SIGRTMIN-1 queue items per user in races. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.215, 2005-03-08 10:17:44-08:00, roland@redhat.com [PATCH] make RLIMIT_CPU/SIGXCPU per-process POSIX requires that the RLIMIT_CPU resource limit that generates SIGXCPU be counted on a per-process basis. Currently, Linux implements this for individual threads. This patch fixes the semantics to conform with POSIX. The essential machinery for the process CPU limit is is tied into the new posix-timers code for process CPU clocks and timers. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.214, 2005-03-08 10:17:29-08:00, roland@redhat.com [PATCH] make ITIMER_PROF, ITIMER_VIRTUAL per-process POSIX requires that setitimer, getitimer, and alarm work on a per-process basis. Currently, Linux implements these for individual threads. This patch fixes these semantics for the ITIMER_PROF timer (which generates SIGPROF) and the ITIMER_VIRTUAL timer (which generates SIGVTALRM), making them shared by all threads in a process (thread group). This patch should be applied after the one that fixes ITIMER_REAL. The essential machinery for these timers is tied into the new posix-timers code for process CPU clocks and timers. This patch requires the cputimers patch and its dependencies. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.213, 2005-03-08 10:17:13-08:00, roland@redhat.com [PATCH] make ITIMER_REAL per-process POSIX requires that setitimer, getitimer, and alarm work on a per-process basis. Currently, Linux implements these for individual threads. This patch fixes these semantics for the ITIMER_REAL timer (which generates SIGALRM), making it shared by all threads in a process (thread group). Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.212, 2005-03-08 10:16:57-08:00, roland@redhat.com [PATCH] PANIC in check_process_timers() It was intended that such things would not be possible because getting into that code in the first place should be ruled out while exiting. That removes the requirement for any special case check in the common path. But, it was done too late since it hadn't occurred to me that ->live going zero itself created a problem. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.211, 2005-03-08 10:16:42-08:00, roland@redhat.com [PATCH] posix-timers: CPU clock support for POSIX timers POSIX requires that when you claim _POSIX_CPUTIME and _POSIX_THREAD_CPUTIME, not only the clock_* calls but also timer_* calls must support the thread and process CPU time clocks. This patch provides that support, building on my recent additions to support these clocks in the POSIX clock_* interfaces. This patch will not work without those changes, as well as the patch fixing the timer lock-siglock deadlock problem. The apparent pervasive changes to posix-timers.c are simply that some fields of struct k_itimer have changed name and moved into a union. This was appropriate since the data structures required for the existing real-time timer support and for the new thread/process CPU-time timers are quite different. The glibc patches to support CPU time clocks using the new kernel support is in http://people.redhat.com/roland/glibc/kernel-cpuclocks.patch, and that includes tests for the timer support (if you build glibc with NPTL). From: Christoph Lameter Your patch breaks the mmtimer driver because it used k_itimer values for its own purposes. Here is a fix by defining an additional structure in k_itimer (same approach for mmtimer as the cpu timers): From: Roland McGrath Fix bug identified by Alexander Nyberg > The problem arises from code touching the union in alloc_posix_timer() > which makes firing go non-zero. When firing is checked in > posix_cpu_timer_set() it will be positive causing an infinite loop. > > So either the below fix or preferably move the INIT_LIST_HEAD(x) from > alloc_posix_timer() to somewhere later where it doesn't disturb the other > union members. Thanks for finding this problem. The latter is what I think is the right solution. This patch does that, and also removes some superfluous rezeroing. Signed-off-by: Roland McGrath Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.210, 2005-03-08 10:16:26-08:00, roland@redhat.com [PATCH] posix-timers: fix posix-timers signals lock order The posix-timers code establishes the locking order that k_itimer locks are outside siglocks. However, when the signal code calls back into the posix-timers code to reload a timer after its signal is dequeued, it holds a siglock while calling do_schedule_next_timer, which gets a timer lock. I'm not sure there is any deadlock scenario possible using the real-time POSIX timers, because of the intricate arrangement of timer firing and resetting synchronization. But with the new CPU timers code, this deadlock pops up right away. Dropping the siglock here certainly doesn't hurt in the real-time timer cases, and it really seems like the right thing here to keep the locking details in the interface between signals and posix-timers code comprehensible. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.209, 2005-03-08 10:16:12-08:00, roland@redhat.com [PATCH] posix-timers: tidy up clock interfaces and consolidate dispatch logic cleanup > We do need to do one or the other. I assume the current indecision is > pending some benchmarking work? That was more or less the idea. But I kind of figured someone would just tell me which one to do without actually doing any timings. This patch (applies after the cpuclocks patch) makes the one decision, to use conditional branches rather than indirect calls in the common case. That is consistent with what the old code did. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.208, 2005-03-08 10:15:56-08:00, roland@redhat.com [PATCH] posix-timers: high-resolution CPU clocks for POSIX clock_* syscalls This patch provides support for thread and process CPU time clocks in the POSIX clock interface. Both the existing utime and utime+stime information (already available via getrusage et al) can be used, as well as a new (potentially) more precise and accurate clock (which cannot distinguish user from system time). The clock used is that provided by the `sched_clock' function already used internally by the scheduler. This gives a way for platforms to provide the highest-resolution CPU time tracking that is available cheaply, and some already do so (such as x86 using TSC). Because this clock is already sampled internally by the scheduler, this new tracking adds only the tiniest new overhead to accomplish the bookkeeping. Some notes: This allows per-thread clocks to be accessed only by other threads in the same process. The only POSIX calls that access these are defined only for in-process use, and having this check is necessary for the userland implementations of the POSIX clock functions to robustly refuse stale clockid_t's in the face of potential PID reuse. This makes no constraint on who can see whose per-process clocks. This information is already available for the VIRT and PROF (i.e. utime and stime) information via /proc. I am open to suggestions on if/how security constraints on who can see whose clocks should be imposed. The SCHED clock information is now available only via clock_* syscalls. This means that per-thread information is not available outside the process. Perhaps /proc should show sched_time as well? This would let ps et al show this more-accurate information. When this code is merged, it will be supported in glibc. I have written the support and added some test programs for glibc, which are what I mainly used to test the new kernel code. You can get those here: http://people.redhat.com/roland/glibc/kernel-cpuclocks.patch Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.207, 2005-03-08 10:15:40-08:00, roland@redhat.com [PATCH] posix-timers: tidy up clock interfaces and consolidate dispatch logic This patch cleans up the posix-timers interfaces for defining clocks, and the calls to them. It fixes some sloppy types, adds a clockid_t parameter to the calls that lacked it, and adds a function pointer that can be used for clock_getres. It further cleans up the posix-timers.c code using the k_clock function pointers or default functions when no hooks are supplied, consolidating repeated code into shared inline functions or macros. This paves the way for adding the CPU clock hooks. The mmtimer.c changes are untested, but obviously can't be wrong. There aren't any other struct k_clock definitions in the tree, but any others would need to be updated for the function signature changes. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.206, 2005-03-08 10:15:24-08:00, pmeda@akamai.com [PATCH] Speed up /proc/pid/maps This patch uses find_vma() to improve the read response of /proc/pid/maps. It attempts to make the liner scan instead of quadratic walk and utilise rb tree. Reading the file was doing sequential scan from the begining to file position all the time, and taking a quite long time. The improvements came from f_version/m_version and resulting in mmap_cache match. Even if mmap_cache does not match, rb tree walk should be faster than sequential walk. First attempt was to put the state across read system calls into private data. Later got inspiration from wli's pid patch using f_version in readdir of /proc. Other advantage is, f_version will be cleared automatically by lseek. The test program creates 32K maps and splits them into two(limited by max_map_count sysctl) using mprotect(0). After the patch, the read time improves from many seconds to milliseconds, and does not grow superlinearly with number of read calls. Help taken from Peter Swain in idea and testing. After the patch: Reading /proc/self/maps:65528 time: 0 secs and 780728 usecs buf:4096 bytes:3811362 Reading /proc/self/maps:65528 time: 1 secs and 117573 usecs buf:1024 bytes:3866627 Reading /proc/self/maps:65528 time: 0 secs and 473459 usecs buf: 256 bytes:3866627 Reading /proc/self/maps:65528 time: 0 secs and 901288 usecs buf: 64 bytes:3866627 Reading /proc/self/maps:65528 time: 1 secs and 480185 usecs buf: 16 bytes:3866627 Reading /proc/self/maps:65528 time: 1 secs and 636268 usecs buf: 4 bytes:3866627 Reading /proc/self/maps:65528 time: 4 secs and 118327 usecs buf: 1 bytes:3866627 Before the patch: Reading /proc/self/maps:65528 time: 4 secs and 359556 usecs buf:4096 bytes:3866647 Reading /proc/self/maps:65528 time:16 secs and 218584 usecs buf:1024 bytes:3866688 Reading /proc/self/maps:65528 time:67 secs and 870200 usecs buf: 256 bytes:3866688 Reading /proc/self/maps:65528 time:255 secs and 186934 usecs buf: 64 bytes:3866688 Small reads never completed. Signed-off-by: Prasanna Meda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.205, 2005-03-08 10:15:09-08:00, akpm@osdl.org [PATCH] lib/parser.o linkage fix It's possible to define .configs in which there are no references in vmlinux to lib/parser.o. So you cannot load any filesystem modules. Arrange for parser.o to be statically linked. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.204, 2005-03-08 10:14:53-08:00, mpm@selenic.com [PATCH] random: Move syncookies to net/ Move syncookie code off to networking land. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.203, 2005-03-08 10:14:38-08:00, mpm@selenic.com [PATCH] random: Simplify and shrink syncookie code Simplify syncookie initialization Refactor syncookie code with separate hash function Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.202, 2005-03-08 10:14:22-08:00, mpm@selenic.com [PATCH] random: Kill duplicate halfmd4 in ext3 htree Replace duplicate halfMD4 code with call to lib/ Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.201, 2005-03-08 10:14:07-08:00, mpm@selenic.com [PATCH] random: Move halfmd4 to lib Move half-MD4 hash to /lib where we can share it with htree. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.200, 2005-03-08 10:13:51-08:00, mpm@selenic.com [PATCH] random: Update cryptolib to use SHA fro lib Drop the cryptolib SHA implementation and use the faster and much smaller SHA implementation from lib/. Saves about 5K. This also saves time by doing one memset per update call rather than one per SHA block. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.199, 2005-03-08 10:13:35-08:00, mpm@selenic.com [PATCH] random: Replace SHA with faster version A replacement SHA routine that's slightly larger, but over twice as fast. It's also faster and much smaller than the cryptolib version. size speed buffer size original: 350B 2.3us 320B cryptolib: 5776B 1.2us 80B this code: 466B 1.0us 320B alternate: 2112B 1.0us 80B Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.198, 2005-03-08 10:13:20-08:00, mpm@selenic.com [PATCH] random: Move SHA code to lib/ Move random SHA code to lib/. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.197, 2005-03-08 10:13:04-08:00, mpm@selenic.com [PATCH] random: Cleanup SHA interface Clean up SHA hash function for moving to lib/ Do proper endian conversion Provide sha_init function Add kerneldoc Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.196, 2005-03-08 10:12:49-08:00, mpm@selenic.com [PATCH] random: Kill the SHA variants Kill the unrolled SHA variants, they're unused and duplicate code in cryptoapi. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.195, 2005-03-08 10:12:34-08:00, mpm@selenic.com [PATCH] random: Use them throughout the tree Move users of private rotl/rotr functions to rol32/ror32. Crypto bits verified with tcrypt. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.194, 2005-03-08 10:12:18-08:00, mpm@selenic.com [PATCH] random: Create new rol32/ror32 bitops Add rol32 and ror32 bitops to bitops.h Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.193, 2005-03-08 10:12:03-08:00, mpm@selenic.com [PATCH] random: Remove entropy batching Rather than batching up entropy samples, resulting in longer lock hold times when we actually process the samples, mix in samples immediately. The trickle code should eliminate almost all the additional interrupt-time overhead this would otherwise incur, with or without locking. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.192, 2005-03-08 10:11:49-08:00, mpm@selenic.com [PATCH] random: Clean up hash buffering Clean up buffer usage for SHA and reseed. This makes the code more readable and reduces worst-case stack usage. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.191, 2005-03-08 10:11:32-08:00, mpm@selenic.com [PATCH] random: Simplify hash folding Simplify output hash folding Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.190, 2005-03-08 10:11:15-08:00, mpm@selenic.com [PATCH] random: Remove dead MD5 copy Remove long-dead md5 code. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.189, 2005-03-08 10:11:00-08:00, mpm@selenic.com [PATCH] random: Break up extract_user Break apart extract_entropy into kernel and user versions, remove last extract flag and some unnecessary variables. This makes the code more readable and amenable to sparse. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.188, 2005-03-08 10:10:45-08:00, mpm@selenic.com [PATCH] random: Reseed pointer in pool struct Put pointer to reseed pool in pool struct and automatically pull entropy from it if it is set. This lets us remove the EXTRACT_SECONDARY flag. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.187, 2005-03-08 10:10:29-08:00, mpm@selenic.com [PATCH] random: Reservation flag in pool struct Move the limit flag to the pool struct, begin process of eliminating extract flags. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.186, 2005-03-08 10:10:15-08:00, mpm@selenic.com [PATCH] random: Entropy reservation accounting Additional parameter to allow keeping an entropy reserve in the input pool. Groundwork for proper /dev/urandom vs /dev/random starvation prevention. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.185, 2005-03-08 10:10:00-08:00, mpm@selenic.com [PATCH] random: Catastrophic reseed checks When reseeding, we must always do a "catastrophic reseed" where we pull enough new bits to make the new state unguessable from outputs even if we knew the old state. So we must do the checks against the minimum reseed amount under the pool lock in extract_entropy. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.184, 2005-03-08 10:09:45-08:00, mpm@selenic.com [PATCH] random: Static sysctl bits Static initialization for sysctl support Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.183, 2005-03-08 10:09:30-08:00, mpm@selenic.com [PATCH] random: Static allocation of pools As we no longer allow resizing of pools, it makes sense to allocate and initialize them statically. Remove create_entropy_store and simplify rand_initialize. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.182, 2005-03-08 10:09:14-08:00, mpm@selenic.com [PATCH] random: More meaningful pool names Give pools more meaningful names. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.181, 2005-03-08 10:08:59-08:00, mpm@selenic.com [PATCH] random: kill misnamed log2 Remove incorrectly named ln (it's log2!) and x86 asm function and replace with fls bitop. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.180, 2005-03-08 10:08:44-08:00, mpm@selenic.com [PATCH] rol32 thinko This thinko.. makes things a bit more arbitrary than we'd like. I've re-audited the other rotate conversions. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.179, 2005-03-08 10:08:28-08:00, mpm@selenic.com [PATCH] random: kill redundant rotate_left definitions We've got three definitions of rotate_left. Remove x86 and duplicate rotate definitions. Remaining definition is fixed up such that recent gcc will generate rol instructions on x86 at least. A later patch will move this to bitops and clean up the other tree users. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.178, 2005-03-08 10:08:13-08:00, mpm@selenic.com [PATCH] random: kill 2.2 compat waitqueue defs Remove Linux 2.2 compatibility cruft. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.177, 2005-03-08 10:07:57-08:00, mpm@selenic.com [PATCH] random: kill dead extract_state struct Remove unused extract_timer_state struct. It was formerly used to feedback zero-entropy timing samples while extracting entropy, but that had a tendency to overwhelm the batch processing queue and prevent storing real samples. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.176, 2005-03-08 10:07:42-08:00, mpm@selenic.com [PATCH] random: kill memsets of static data Remove redundant memsets of BSS data Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.175, 2005-03-08 10:07:27-08:00, mpm@selenic.com [PATCH] random: simplify initialization Simplify the init code Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.174, 2005-03-08 10:07:12-08:00, mpm@selenic.com [PATCH] random: re-init all pools on zero - Re-init all three pools in ioctls - Clear entropy count in init_std_data under a lock - Add kerneldoc comment Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.173, 2005-03-08 10:06:57-08:00, mpm@selenic.com [PATCH] random: combine legacy ioctls ZAPENTCNT is now effectively identical to RNDCLEARPOOL, fall through Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.172, 2005-03-08 10:06:41-08:00, mpm@selenic.com [PATCH] random: kill pool clearing Remove pool clearing. We've only ever cleared one of three pools and there's no good reason to do it. Instead just reset the entropy count. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.171, 2005-03-08 10:06:26-08:00, mpm@selenic.com [PATCH] random: cleanup waitqueue logic, fix missed wakeup Original code checked in output pool for missed wakeup avoidance, while waker (batch_entropy_process) checked input pool which could result in a missed wakeup. - Move to wait_event_interruptible style - Delete superfluous waitqueue Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.170, 2005-03-08 10:06:11-08:00, mpm@selenic.com [PATCH] lib/sort: Use generic sort on x86_64 x86_64 wasn't doing anything special in its sort_extable. Use the generic lib/extable sort. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.169, 2005-03-08 10:05:55-08:00, mpm@selenic.com [PATCH] lib/sort: Replace insertion sort in IA64 exception tables Switch IA64 exception tables to lib/sort. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.168, 2005-03-08 10:05:40-08:00, mpm@selenic.com [PATCH] lib/sort: Replace insertion sort in exception tables Replace exception table insertion sort with lib/sort Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.167, 2005-03-08 10:05:24-08:00, mpm@selenic.com [PATCH] lib/sort: Replace qsort in XFS Point XFS qsort at lib/sort in a way that makes it happy. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.166, 2005-03-08 10:05:10-08:00, akpm@osdl.org [PATCH] sort: link it in We cannot tell at build time whether some module may want it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.165, 2005-03-08 10:04:55-08:00, mpm@selenic.com [PATCH] lib/sort: Heapsort implementation of sort() This patch adds a generic array sorting library routine. This is meant to replace qsort, which has two problem areas for kernel use. The first issue is quadratic worst-case performance. While quicksort worst-case datasets are rarely encountered in normal scenarios, it is in fact quite easy to construct worst cases for almost all quicksort algorithms given source or access to an element comparison callback. This could allow attackers to cause sorts that would otherwise take less than a millisecond to take seconds and sorts that should take less than a second to take weeks or months. Fixing this problem requires randomizing pivot selection with a secure random number generator, which is rather expensive. The second is that quicksort's recursion tracking requires either nontrivial amounts of stack space or dynamic memory allocation and out of memory error handling. By comparison, heapsort has both O(n log n) average and worst-case performance and practically no extra storage requirements. This version runs within 70-90% of the average performance of optimized quicksort so it should be an acceptable replacement wherever quicksort would be used in the kernel. Note that this function has an extra parameter for passing in an optimized swapping function. This is worth 10% or more over the typical byte-by-byte exchange functions. Benchmarks: qsort: glibc variant 1189 bytes (+ 256/1024 stack) qsort_3f: my simplified variant 459 bytes (+ 256/1024 stack) heapsort: the version below 346 bytes shellsort: an optimized shellsort 196 bytes P4 1.8GHz Opteron 1.4GHz (32-bit) size algorithm cycles relative cycles relative 100: qsort: 38682 100.00% 27631 100.00% qsort_3f: 36277 106.63% 22406 123.32% heapsort: 43574 88.77% 30301 91.19% shellsort: 39087 98.97% 25139 109.91% 200: qsort: 86468 100.00% 61148 100.00% qsort_3f: 78918 109.57% 48959 124.90% heapsort: 98040 88.20% 68235 89.61% shellsort: 95688 90.36% 62279 98.18% 400: qsort: 187720 100.00% 131313 100.00% qsort_3f: 174905 107.33% 107954 121.64% heapsort: 223896 83.84% 154241 85.13% shellsort: 223037 84.17% 148990 88.14% 800: qsort: 407060 100.00% 287460 100.00% qsort_3f: 385106 105.70% 239131 120.21% heapsort: 484662 83.99% 340099 84.52% shellsort: 537110 75.79% 354755 81.03% 1600: qsort: 879596 100.00% 621331 100.00% qsort_3f: 861568 102.09% 522013 119.03% heapsort: 1079750 81.46% 746677 83.21% shellsort: 1234243 71.27% 820782 75.70% 3200: qsort: 1903902 100.00% 1342126 100.00% qsort_3f: 1908816 99.74% 1131496 118.62% heapsort: 2515493 75.69% 1630333 82.32% shellsort: 2985339 63.78% 1964794 68.31% 6400: qsort: 4046370 100.00% 2909215 100.00% qsort_3f: 4164468 97.16% 2468393 117.86% heapsort: 5150659 78.56% 3533585 82.33% shellsort: 6650225 60.85% 4429849 65.67% 12800: qsort: 8729730 100.00% 6185097 100.00% qsort_3f: 8776885 99.46% 5288826 116.95% heapsort: 11064224 78.90% 7603061 81.35% shellsort: 15487905 56.36% 10305163 60.02% 25600: qsort: 18357770 100.00% 13172205 100.00% qsort_3f: 18687842 98.23% 11337115 116.19% heapsort: 24121241 76.11% 16612122 79.29% shellsort: 35552814 51.64% 24106987 54.64% 51200: qsort: 38658883 100.00% 28008505 100.00% qsort_3f: 39498463 97.87% 24339675 115.07% heapsort: 50553552 76.47% 37013828 75.67% shellsort: 82602416 46.80% 56201889 49.84% 102400: qsort: 81197794 100.00% 58918933 100.00% qsort_3f: 84257930 96.37% 51986219 113.34% heapsort: 110540577 73.46% 81419675 72.36% shellsort: 191303132 42.44% 129786472 45.40% From: Zou Nan hai The new sort routine only works if there are an even number of entries in the ia64 exception fix-up tables. If the number of entries is odd the sort fails, and then random get_user/put_user calls can fail. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.164, 2005-03-08 10:04:39-08:00, mpm@selenic.com [PATCH] base-small: shrink console buffer CONFIG_BASE_SMALL reduce console transfer buffer Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.163, 2005-03-08 10:04:24-08:00, mpm@selenic.com [PATCH] base-small: shrink timer hashes CONFIG_BASE_SMALL reduce timer list hashes Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.162, 2005-03-08 10:04:09-08:00, mpm@selenic.com [PATCH] base-small: shrink futex queues CONFIG_BASE_SMALL reduce futex hash table Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.161, 2005-03-08 10:03:54-08:00, mpm@selenic.com [PATCH] base-small: shrink UID hash CONFIG_BASE_SMALL reduce UID lookup hash Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.160, 2005-03-08 10:03:40-08:00, mpm@selenic.com [PATCH] base-small: shrink PID tables CONFIG_BASE_SMALL reduce size of pidmap table for small machines Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.159, 2005-03-08 10:03:24-08:00, mpm@selenic.com [PATCH] base-small: shrink chrdevs hash CONFIG_BASE_SMALL degrade char dev hash table to linked list Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.158, 2005-03-08 10:03:10-08:00, mpm@selenic.com [PATCH] base-small: introduce the CONFIG_BASE_SMALL flag This patch series introduced a new pair of CONFIG_EMBEDDED options call CONFIG_BASE_FULL/CONFIG_BASE_SMALL. Disabling CONFIG_BASE_FULL sets the boolean CONFIG_BASE_SMALL to 1 and it is used to shrink a number of core data structures. The space savings for the current batch is around 14k. This patch: Add CONFIG_BASE_SMALL for miscellaneous core size that don't warrant their own options. Example users to follow. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.157, 2005-03-08 10:02:55-08:00, rddunlap@osdl.org [PATCH] oss/sscape: fix section references oss/sscape: fix initdata reference used in exit: Error: ./sound/oss/sscape.o .exit.text refers to 000000000000007d R_X86_64_PC32 .init.data+0x0000000000000003 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.156, 2005-03-08 10:02:40-08:00, rddunlap@osdl.org [PATCH] oss/pss: fix section references oss/pss: fix initdata reference used in exit: Error: ./sound/oss/pss.o .exit.text refers to 000000000000003f R_X86_64_PC32 .init.data+0x0000000000000003 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.155, 2005-03-08 10:02:25-08:00, rddunlap@osdl.org [PATCH] oss/nm256: fix section references oss/nm256_audio: fix init text section reference: Error: ./sound/oss/nm256_audio.o .text refers to 0000000000001847 R_X86_64_PC32 .init.text+0x0000000000000018 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.154, 2005-03-08 10:02:09-08:00, rddunlap@osdl.org [PATCH] oss/esssolo1: fix initdata section references oss/esssolo1: fix initdata section reference: Error: ./sound/oss/esssolo1.o .text refers to 0000000000000bab R_X86_64_32S .init.data+0x0000000000000004 Error: ./sound/oss/esssolo1.o .text refers to 0000000000000bb2 R_X86_64_32S .init.data Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.153, 2005-03-08 10:01:54-08:00, rddunlap@osdl.org [PATCH] oss/es1370: fix initdata section references oss/es1370: fix initdata section reference: Error: ./sound/oss/es1370.o .text refers to 00000000000042bd R_X86_64_32S .init.data+0x0000000000000024 Error: ./sound/oss/es1370.o .text refers to 00000000000042c5 R_X86_64_32S .init.data+0x0000000000000020 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.152, 2005-03-08 10:01:39-08:00, rddunlap@osdl.org [PATCH] oss/cmpci: fix initdata section references oss/cmpci: fix initdata section reference: Error: ./sound/oss/cmpci.o .text refers to 000000000000418e R_X86_64_32S .init.data+0x0000000000000004 Error: ./sound/oss/cmpci.o .text refers to 0000000000004196 R_X86_64_32S .init.data Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.151, 2005-03-08 10:01:24-08:00, rddunlap@osdl.org [PATCH] oss/cs4281: fix initdata section references oss/cs4281: fix initdata section references: Error: ./sound/oss/cs4281/cs4281.o .text refers to 0000000000006dae R_X86_64_32S .init.data+0x0000000000000004 Error: ./sound/oss/cs4281/cs4281.o .text refers to 0000000000006db6 R_X86_64_32S .init.data Error: ./sound/oss/cs4281/cs4281m.o .text refers to 0000000000006dae R_X86_64_32S .init.data+0x0000000000000004 Error: ./sound/oss/cs4281/cs4281m.o .text refers to 0000000000006db6 R_X86_64_32S .init.data Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.150, 2005-03-08 10:01:09-08:00, rddunlap@osdl.org [PATCH] atm/zatm: fix section references atm/zatm: fix text section references to __init text and __initdata; they should be __devinit instead of __init; Error: ./drivers/atm/zatm.o .text refers to 0000000000001abb R_X86_64_PC32 .init.text+0x0000000000000154 Error: ./drivers/atm/zatm.o .text refers to 0000000000001ad3 R_X86_64_PC32 .init.text+0x0000000000000154 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.149, 2005-03-08 10:00:54-08:00, rddunlap@osdl.org [PATCH] atm/ambassador: fix init section references atm/ambassador: fix text section references to __init text and __initdata; The biggest negative about this AFAIK is that it makes ucode_data non-initdata, and that moves about 8 KB of data from .init.data to .data. Similarly, .text increases by approx. 1300 bytes (on x86-32). Error: ./drivers/atm/ambassador.o .text refers to 0000000000002a07 R_X86_64_PC32 .init.text+0x0000000000000149 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002a45 R_X86_64_32S .init.data+0x0000000000000040 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002a7c R_X86_64_PC32 .init.data+0x0000000000000020 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002a83 R_X86_64_PC32 .init.data+0x000000000000001c Error: ./drivers/atm/ambassador.o .text refers to 0000000000002b40 R_X86_64_PC32 .init.text+0x0000000000000149 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002bbc R_X86_64_PC32 .init.text+0x0000000000000149 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c0f R_X86_64_32S .init.data+0x0000000000000024 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c17 R_X86_64_32S .init.data+0x0000000000000020 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c3c R_X86_64_PC32 .init.data+0xfffffffffffffffc Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c6a R_X86_64_PC32 .init.text+0x0000000000000149 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c77 R_X86_64_32S .init.data+0x0000000000000040 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.148, 2005-03-08 10:00:39-08:00, rddunlap@osdl.org [PATCH] atm/lanai: fix section references atm/lanai: fix text section references to __init text; they should be __devinit instead of __init; Error: ./drivers/atm/lanai.o .text refers to 0000000000002105 R_X86_64_PC32 .init.text+0x0000000000000021 Error: ./drivers/atm/lanai.o .text refers to 0000000000002116 R_X86_64_PC32 .init.text+0x0000000000000021 Error: ./drivers/atm/lanai.o .text refers to 0000000000002132 R_X86_64_PC32 .init.text+0x0000000000000021 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.147, 2005-03-08 10:00:24-08:00, paulkf@microgate.com [PATCH] fix register access typo in synclinkmp Fix register access typo in synclinkmp.c that caused value to be written to wrong register. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.146, 2005-03-08 10:00:09-08:00, panagiotis.issaris@mech.kuleuven.ac.be [PATCH] efi: fix failure handling The EFI driver allocates memory and writes into it without checking the success of the allocation. Furthermore, on failure of the firmware_register() it doesn't free the allocated memory and on failure of the subsys_create_file() calls it returns zero instead of the errorcode. Signed-off-by: Panagiotis Issaris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.145, 2005-03-08 09:59:54-08:00, jmoyer@redhat.com [PATCH] autofs4 patch: autofs4_wait can leak memory There is a memory in the autofs4_wait function, if multiple processes are waiting on the same queue: name = kmalloc(NAME_MAX + 1, GFP_KERNEL); if (!name) return -ENOMEM; ... if ( !wq ) { /* Create a new wait queue */ wq = kmalloc(sizeof(struct autofs_wait_queue), GFP_KERNEL); if ( !wq ) { kfree(name); up(&sbi->wq_sem); return -ENOMEM; } ... wq->name = name; ... } else { atomic_inc(&wq->wait_ctr); up(&sbi->wq_sem); ... } In the else clause, we forget to free the name we kmalloc'd above. This is pretty easy to trigger with the following reproducer: setup an automount map as follows: for n in `seq 1 48`; do echo "$n server:/export/$n" >> /etc/auto.test; done setup a master map entry to point at this: echo "/test /etc/auto.test --timeout=1" >> /etc/auto.master Now, assuming the nfs server was setup to export said directories, run the following shell script in two xterms: #!/bin/sh while true; do for n in `seq 1 48`; do ls /test/$n done sleep 2 done and watch the size-256 slab cache grow Within 4 minutes, I had the size-256 cache grow to 384k. On a kernel with the below patch applied, the size-256 remained constant during an over-night run. Signed-off-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.144, 2005-03-08 09:59:39-08:00, jack@suse.cz [PATCH] Quotactl changes for XFS Attached patch from Nathan splits the checks done in quotactl() in XFS and VFS parts (it's mostly just moving of code back and forth). It's done mainly because XFS guys would like to implement more types of quotas and I don't want them to slow down the general VFS case. Signed-off-by: Nathan Scott Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.143, 2005-03-08 09:59:24-08:00, minyard@acm.org [PATCH] Minor cleanups to the IPMI driver This patch cleans up the DMI handling so that multiple interfaces can be reported from the DMI tables and so that the DMI slave address can be transferred up to the upper layer. It also adds an option to specify the slave address as an init parm and removes some unnecessary initializers. This patch also adds inc/dec usecount functions for the SMIs so they can modify the usecounts of modules they use (added because the SMB driver uses the I2C code). Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.142, 2005-03-08 09:59:09-08:00, ntl@pobox.com [PATCH] explicitly bind idle tasks With hotplug cpu and preempt, we tend to see smp_processor_id warnings from idle loop code because it's always checking whether its cpu has gone offline. Replacing every use of smp_processor_id with _smp_processor_id in all idle loop code is one solution; another way is explicitly binding idle threads to their cpus (the smp_processor_id warning does not fire if the caller is bound only to the calling cpu). This has the (admittedly slight) advantage of letting us know if an idle thread ever runs on the wrong cpu. Signed-off-by: Nathan Lynch Acked-by: Joel Schopp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.141, 2005-03-08 09:58:54-08:00, Andries.Brouwer@cwi.nl [PATCH] partitions/msdos.c fix A well-known kernel bug is that it guesses at the partition type and the partitions on any disk it encounters. This is bad because needless I/O is done, slowing down the boot, sometimes quite a lot, especially when I/O errors occur. And it is bad because sometimes we guess wrong. In other words, we need the user space command `partition', where "partition -t dos /dev/sda" reads a DOS-type partition table. (And "partition /dev/sda" tries all known heuristics to decide what type of partitioning might be present.) The two variants are: (i) partition tells the kernel to do the partition table reading, and (ii) partition uses partx to read the partition table and tells the kernel one-by-one about the partitions found this way. Since this is a fundamental change, a long transition period is needed, and that period could start with a kernel boot parameter telling the kernel not to do partition table parsing on a particular disk, or a particular type of disks, or all disks. This could have been the intro to a patch doing that, but is not. (It is just an RFC.) The tiny patch below prompted the above - it was suggested by Uwe Bonnes who encountered USB devices without partition table where our present heuristics did not suffice to stop partition table parsing. It causes the kernel to ignore partitions of type 0. A band-aid. I think nobody uses such partitions seriously, but nevertheless this should probably live in -mm for a while to see if anybody complains. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.140, 2005-03-08 09:58:39-08:00, adobriyan@mail.ru [PATCH] sparc: use initalisers for struct resource For when the layout of `struct resource' changes. Signed-off-by: Alexey Dobriyan Acked-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.139, 2005-03-08 09:58:25-08:00, peter@p12n.org [PATCH] cross-compile scripts/lxdialog/ on AIX AIX curses.h defines macros 'clear_screen' and 'color_names' but does not define 'scroll()'. Signed-Off-By: Peter Samuelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.138, 2005-03-08 09:58:10-08:00, Matthias.Kunze@gmx-topmail.de [PATCH] loglevel boot option Add a boot-time option to set the loglevel. We already have `quiet' and `debug', which set it to specific levels. This is better. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.137, 2005-03-08 09:57:54-08:00, alexn@dsv.su.se [PATCH] ext3_new_inode() failure handling missing check There's a missing failure handling check here that would possibly lead to a null dereference later on, I'm not sure about the correct return value however. I haven't tried it as I'm not sure how to trigger the case ;) Found by the Coverity tool. Signed-off-by: Alexander Nyberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.136, 2005-03-08 09:57:39-08:00, dhowells@redhat.com [PATCH] Keys: Doc update on locking The attached patch updates the documentation on the kernel keys to describe the locking associated with keys and key type operations. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.135, 2005-03-08 09:57:23-08:00, vs@namesys.com [PATCH] reiserfs: return -EIO instead of calling BUG() when rename goes wrong This patch makes reiserfs to return -EIO when rename-ing went wrong instead of calling BUG(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.134, 2005-03-08 09:57:09-08:00, a.llano@usyscom.com [PATCH] Fix 1-Wire Dallas in bigendian machines I've been testing the 1-Wire Dallas in a bigendian machine (through a GPIO) and I've found some problems that can easily addressed with the provided patch. (inline at the end of the message). I have a question about the implementation of w1_smem. In the line 90 of drivers/w1/w1_smem.c. for (i = 0; i < 9; ++i) count += sprintf(buf + count, "%02x ", ((u8 *)&sl->reg_num)[i]); I don't see why this loop is execute 9 times when the provided reg_num is 8 bytes long. I don't understand the purpose of the last byte. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.133, 2005-03-08 09:56:54-08:00, pbadari@us.ibm.com [PATCH] Add nobh_writepage() support Add nobh_wripage() support for the filesystems which uses nobh_prepare_write/nobh_commit_write(). Idea here is to reduce unnecessary bufferhead creation/attachment to the page through pageout()->block_write_full_page(). nobh_wripage() tries to operate by directly creating bios, but it falls back to __block_write_full_page() if it can't make progress. Note that this is not really generic routine and can't be used for filesystems which uses page->Private for anything other than buffer heads. Signed-off-by: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.132, 2005-03-08 09:56:38-08:00, pbadari@us.ibm.com [PATCH] export kallsyms_lookup_name() Export kallsyms_lookup_name() for kprobe/jprobe module use. (akpm: modules which use kprobes/jrobes are usually problem-specific and will not be merged into the mainline kernel, so we we're actually to see actual users of this patch merged) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.131, 2005-03-08 09:56:23-08:00, smurf@smurf.noris.de [PATCH] bksend example script fix The "bksend" example script doesn't work if PAGER (used by "bk changes") is set to something which doesn't fallback to plain stdout if its output isn't a tty. Fixed by forcing PAGER to be /bin/cat. Signed-Off-By: Matthias Urlichs Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.130, 2005-03-08 09:56:07-08:00, smurf@smurf.noris.de [PATCH] CREDITS Update CREDITS update for Mattihas Urlichs. Signed-Off-By: Matthias Urlichs Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.129, 2005-03-08 09:55:52-08:00, rene.scharfe@lsrfire.ath.cx [PATCH] remove mount option parsing from procfs This patch removes the mount options of the proc filesystem. They don't have any effect since 2.4.something. Only proc_fill_super() calls parse_options, notably proc_remount() does not. And proc_fill_super() is only called at the very first mount which in turn is the one caused by kern_mount() in fs/proc/root.c and that passes a NULL pointer as mount options string. It is called only once because proc is a filesystem with a single super_block (i.e. it uses get_sb_single()). Since noone seems to miss the uid and gid options so far I suggest to simply remove them. Their function can be easily performed in userspace. E.g. this (if it worked like intended): # mount -t proc -o uid=procuser,gid=procgrp proc /proc can be done like so, probably in some init script: # mount -t proc proc /proc && chown procuser:procgrp /proc But I don't see why anyone would want to do that in the first place. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.128, 2005-03-08 09:55:38-08:00, kraxel@bytesex.org [PATCH] tv tuner module update. Did some code reorganization: split up the source into four files: - tuner-core.c for all the interfacing stuff (register driver, handle insmod options, react on v4l ioctls, ...), - tuner-simple.c for all those trivial 4-byte-command-sequence tuner chips. - mt20xx.c for the mt2032 and mt2050 tuners. - tda8290.c for the tda8290/8272 combo (this code is new). I also did a number of cleanups like using dev_printk() for the messages everythere. There should be no functional changes beside the new support for the tda8290 tuner. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.127, 2005-03-08 09:54:59-08:00, kraxel@bytesex.org [PATCH] minor bttv driver update Just a new PCI Subsystem ID and a PM fix from Pavel. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.126, 2005-03-08 09:54:43-08:00, andrea@cpushare.com [PATCH] seccomp: secure computing support I'd need it merged into mainline at some point, unless anybody has strong arguments against it. All I can guarantee here, is that I'll back it out myself in the future, iff Cpushare will fail and nobody else started using it in the meantime for similar security purposes. (akpm: project details are at http://www.cpushare.com/technical. It seems like a good idea to me, and one which is worth supporting. I agree that for this to be successful, the added robustness of Andrea's simple and specific jail is worthwhile). Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.125, 2005-03-08 09:54:26-08:00, tim.bird@am.sony.com [PATCH] add timing information to printk messages Here's a little patch which is useful for showing timing information for kernel bootup activities. This patch adds a new Kconfig option under "Kernel Hacking" and a new option for the kernel command line. It also provides a script for showing delta information. Note that the timing data may not be correct on some platforms until after time_init() is called. Recently (as of about 2.6.10) I found that the message log produced by dmesg is truncated when I use this feature. That is, the first few printk messages of the boot sequence are not in the dmesg output, although they are printed to console during startup. This is a new behavior - dmesg output was fine as of 2.6.9. Increasing CONFIG_LOG_BUF_SHIFT had no effect on the truncation. Has something changed with printk recently? For more information on this patch, see: http://tree.celinuxforum.org/CelfPubWiki/InstrumentedPrintk Here's some sample output: ... [4294667.296000] Kernel command line: ro root=/dev/nfs ip=dhcp hdc=ide-scsi console=vga console=ttyS0,115200 [4294667.296000] ide_setup: hdc=ide-scsi [4294667.296000] Initializing CPU#0 [4294667.296000] PID hash table entries: 512 (order: 9, 8192 bytes) [ 0.000000] Detected 1995.620 MHz processor. [ 21.397369] Using tsc for high-res timesource [ 21.399820] Console: colour VGA+ 80x25 [ 21.537244] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [ 21.544547] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [ 21.555066] Memory: 125076k/130240k available (2002k kernel code, 4556k reserved, 1006k data, 140k init, 0k highmem) [ 21.565775] Checking if this processor honours the WP bit even in supervisor mode... Ok. [ 21.574089] Calibrating delay loop... 3940.35 BogoMIPS (lpj=1970176) [ 21.596511] Mount-cache hash table entries: 512 (order: 0, 4096 bytes) [ 21.603263] CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000 [ 21.603276] CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000 [ 21.603287] CPU: Trace cache: 12K uops, L1 D cache: 8K [ 21.608884] CPU: L2 cache: 128K ... And now the patch... Signed-off-by: Tim Bird Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.124, 2005-03-08 09:54:10-08:00, aia21@cam.ac.uk [PATCH] a_ops-based loop I/O Implements fallback to file_operations->write in the case that aops->{prepare,commit}_write are not present on the backing filesystem. The fallback happens in two different ways: - For normal loop devices, i.e. ones which do not do transformation on the data but simply pass it along, we simply call fops->write. This should be pretty much just as fast as using aops->{prepare,commit}_write directly. - For all other loop devices (e.g. xor and cryptoloop), i.e. all the ones which may be doing transformations on the data, we allocate and map a page (once for each bio), then for each bio vec we copy the bio vec page data to our mapped page, apply the loop transformation, and use fops->write to write out the transformed data from our page. Once all bio vecs from the bio are done, we unmap and free the page. This approach is the absolute minimum of overhead I could come up with and for performance hungry people, as you can see I left the address space operations method in place for filesystems which implement aops->{prepare,commit}_write. I have tested this patch with normal loop devices using aops->{prepare,commit}_write on the backing filesystem, with normal loop devices using the fops->write code path and with cryptoloop devices using the double buffering + fops->write code path. Signed-off-by: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.123, 2005-03-08 09:53:55-08:00, zwane@arm.linux.org.uk [PATCH] Run softirqs on proper processor on offline We take down ksoftirqds at CPU_DEAD time, so there is a brief period whereupon there is a ksoftirqd thread for an offline processor, it is at this point that ->cpus_allowed won't have it pinned anymore. An online processor would then take down that ksoftirqd and exit it. Ensure that we only offline the processor when it's safe and never run softirqs in another processor's ksoftirqd context. This also gets rid of the warnings in ksoftirqd on cpu offline. Signed-off-by: Zwane Mwaikambo Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.122, 2005-03-08 09:53:40-08:00, jack@suse.cz [PATCH] Implement quota reading and writing functions for UFS. Attached patch adds functions ufs_quota_read() and ufs_quota_write() to the UFS code. So quotas for UFS should work again (they were broken by the quota io redesign). I don't actually think the patch is too much important as I'm not sure anybody uses quotas on UFS but we're in the "stable" branch so just dropping a support did not seem right to me. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.121, 2005-03-08 09:53:24-08:00, dmo@osdl.org [PATCH] add local bio pool support and modify dm I've had this patch reviewed by Jens, and incorporated his recommended fixes. The patch adds new interfaces to bio.c that support the creation of local bio and bvec pools. This is important for layered drivers that need to allocate new bio and bvec structures in response to bio's submitted to it from higher up. The layered drivers can allocate local pools of bio structures to preclude deadlock under global bio pool exhaustion. The device mapper source files have been modified to remove duplicate bio code, and to use the new interfaces to create local bio pools. From: Dave Olien Change bio_clone() to use the global bio_set pool instead of the bio_set pool associated with the bio argument. This is because raid5 and raid6 bio's are not allocated from a bio_set and have no bio_set associated with them. This patch along with the patch Linux just accepted allows raid5 and raid6 to function. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.120, 2005-03-08 09:53:09-08:00, mingo@elte.hu [PATCH] clean up and unify asm-*/resource.h files This patch does the final consolidation of asm-*/resource.h file, without changing any of the rlimit definitions on any architecture. Primarily it removes the __ARCH_RLIMIT_ORDER method and replaces it with a more compact and isolated one that allows architectures to define only the offending rlimits. This method has the positive effect that adding a new rlimit can now be purely done via changing asm-generic/resource.h alone. Previously one would have to patch 4 other (sparc, sparc64, alpha and mips) resource.h files. The patch also does style unification, whitespace cleanups and simplification of resource.h files and cleans up the asm-generic/resource.h file as well. I've added more comments too. This patch should have no effect on any code on any architecture. (i.e. it's a pure identity patch.) Tested on x86 and carefully reviewed to make sure that Sparc, Sparc64, MIPS and Alpha rlimits are still the same as required by the ABI. Signed-off-by: Ingo Molnar Acked-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.119, 2005-03-08 09:52:53-08:00, ken@mvista.com [PATCH] drivers/char/lp.c race fix In lp_write(), copy_from_user() is called to copy data into a statically allocated kernel buffer before down_interruptible() is called. If a second thread of execution comes in between the copy_from_user() and the down_interruptible() calls, silent data corruption could result. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.118, 2005-03-08 09:52:39-08:00, shemminger@osdl.org [PATCH] convert /proc/driver/rtc to seq_file. The /proc/driver/rtc interface didn't have any module owner hook. The simplest fix is to just convert this to the single version of seq_file. Also, fix initialization of rtc_dev to use C99 form. Signed-off-by: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.117, 2005-03-08 09:52:24-08:00, bunk@stusta.de [PATCH] add compiler-gcc4.h With the release of gcc 4.0 being only a few months away and people already tring compiling with it, it's time for adding a compiler-gcc4.h . This patch contains the following changes: - remove compiler-gcc+.h - compiler-gcc4.h: new file based on a corrected compiler-gcc+.h - compiler.h: include compiler-gcc4.h for gcc 4 - compiler.h: #error for gcc > 4 - compiler-gcc3.h: remove __compiler_offsetof (there will never be a gcc 3.5) small indention corrections I've tested the compilation with both gcc 3.4.4 and a recent gcc 4.0 snapshot from Debian experimental. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.116, 2005-03-08 09:51:51-08:00, petrides@redhat.com [PATCH] minor conceptual fix for /proc/kcore header size While investigating the 2.4 memory corruption problem fixed by the patch previously posted, it was noticed that the 2.6 version of get_kcore_size() inappropriately uses sizeof(struct memelfnote) in its calculation of the /proc/kcore ELF header size. What is actually stored in the header is an "elf_note" structure plus the 4 ASCII chars "CORE". It just so happens that on 32-bit arches, both calculations result in the same value (16). But on 64-bit arches, the allocated size (24) is larger than necessary (16). This does not result in any possible data corruption, but it might be nice to correct this "conceptual" error. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.115, 2005-03-08 09:51:35-08:00, yuasa@hh.iij4u.or.jp [PATCH] serial: update vr41xx_siu This patch updates serial driver for VR41xx serial unit. Some check are added to verify_port. Signed-off-by: Yoichi Yuasa Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.114, 2005-03-08 09:51:21-08:00, arun.sharma@intel.com [PATCH] add TCSBRKP to compat_ioctl.h Move ioctl TCSBRKP support to compat layer. Same rationale as TCSBRK. - Remove corresponding code under ppc64, sparc64 and s390. - Use ULONG_IOCTL() instead of COMPATIBLE_IOCTL(), since the argument is int, not pointer. Signed-off-by: Gordon Jin Signed-off-by: Arun Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.113, 2005-03-08 09:51:06-08:00, mingo@elte.hu [PATCH] sys_setpriority() euid semantics fix What _is_ inconsistent is kernel/sys.c's setpriority()/set_one_prio(). It checks current->euid|uid against p->uid, which makes little sense, but is how we've been doing it ever since. It's a Linux quirk documented in the manpage. To make things funnier, SuS requires current->euid|uid match against p->euid. The patch below fixes it (and brings the logic in line with what setscheduler()/setaffinity() does), but if we do it then it should be done only in 2.6.12 or later, after good exposure in -mm. (Worst-case this could break an application but i highly doubt it: it at most could deny renicing another task to positive (or in very rare cases, to negative) nice values, which no application should crash on something like that, normally.) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.112, 2005-03-08 09:50:52-08:00, yuasa@hh.iij4u.or.jp [PATCH] serial: add the output interface control to VR41xx SIU driver This patch adds the output interface control to VR41xx SIU driver. And obsolete function for VR41xx SIU is removed. And add __init for the function used only for initialization. Signed-off-by: Yoichi Yuasa Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.111, 2005-03-08 09:50:18-08:00, yuasa@hh.iij4u.or.jp [PATCH] serial: add NEC VR4100 series serial support This patch adds serial driver for NEC VR4100 series serial interface unit. The new device numbers have been recorded by LANANA. Signed-off-by: Yoichi Yuasa Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.110, 2005-03-08 09:50:03-08:00, mingo@elte.hu [PATCH] annotate /proc//maps with [heap]/[stack]/[vdso] markers This patch makes the /proc//maps file easier to parse (both for humans and for applications), by annotating the heap, stack and vdso mappings with [heap], [stack] and [vdso] markers. It makes it easier/faster to determine at a quick glance whether an application has a secure VM layout, and it also makes it easier for tools to determine whether e.g. the heap or stack is executable or not. new maps file, on a patched kernel: 001c4000-001d9000 r-xp 00000000 03:01 19954 /lib/ld-2.3.3.so 001d9000-001db000 rw-p 00014000 03:01 19954 /lib/ld-2.3.3.so 001dd000-002fb000 r-xp 00000000 03:01 19960 /lib/tls/libc-2.3.3.so 002fb000-002fd000 r--p 0011d000 03:01 19960 /lib/tls/libc-2.3.3.so 002fd000-002ff000 rw-p 0011f000 03:01 19960 /lib/tls/libc-2.3.3.so 002ff000-00301000 rw-p 002ff000 00:00 0 08048000-0804c000 r-xp 00000000 03:01 31968 /bin/cat 0804c000-0804d000 rw-p 00003000 03:01 31968 /bin/cat 0804d000-0806e000 rw-p 0804d000 00:00 0 [heap] b7dbc000-b7dbd000 r--p 009d1000 03:01 83628 /usr/lib/locale/locale-archive b7dbd000-b7dc4000 r--p 0097d000 03:01 83628 /usr/lib/locale/locale-archive b7dc4000-b7df1000 r--p 0094a000 03:01 83628 /usr/lib/locale/locale-archive b7df1000-b7ff1000 r--p 00000000 03:01 83628 /usr/lib/locale/locale-archive b7ff1000-b7ff2000 rw-p b7ff1000 00:00 0 bffeb000-c0000000 rw-p bffeb000 00:00 0 [stack] ffffe000-fffff000 ---p 00000000 00:00 0 [vdso] Tested on x86, but should work on all architectures. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.109, 2005-03-08 09:49:48-08:00, axboe@suse.de [PATCH] blk_execute_rq() oops on fast completion blk_execute_rq() can oops in wait_for_completion(), if the request has completed before we call wait_for_completion() because blk_end_sync_rq() clears ->waiting when it is entered. Fix this by always using the on-stack completion variable instead. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.108, 2005-03-08 09:49:33-08:00, axboe@suse.de [PATCH] scsi_io_completion sense copy For the flush generated requests, we don't have room for sense info right now. This might change in the future so that the sd end_io function can make a better judgement on what to do about an error. So check this in scsi_io_completion(), only copy sense data to request if it has space assigned to it. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.107, 2005-03-08 09:49:17-08:00, axboe@suse.de [PATCH] rework core barrier support This reworks the core barrier support to be a lot nicer, so that all the nasty code resides outside of drivers/ide. It requires minimal changes to support in a driver, I've added SCSI support as an example. The ide code is adapted to the new code. With this patch, we support full barriers on sata now. Bart has acked the addition to -mm, I would like for this to be submitted as soon as 2.6.12 opens. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.106, 2005-03-08 09:49:01-08:00, axboe@suse.de [PATCH] Add struct request end_io callback This is needed for several things, one in-tree user which I will introduce after this patch. This adds a ->end_io callback to struct request, so it can be used with async io of any sort. Right now users have to wait for completion in a blocking manner. In the next iteration, ->waiting can be folded into ->end_io_data since it is just a special case of that use. From: Peter Osterlund The problem is that the add-struct-request-end_io-callback patch forgot to update pktcdvd.c. This patch fixes it. Signed-off-by: Jens Axboe Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.105, 2005-03-08 09:48:44-08:00, j.blunck@tu-harburg.de [PATCH] d_drop should use per dentry lock d_drop() must use the dentry->d_lock spinlock. In some cases __d_drop() was used without holding the dentry->d_lock spinlock, too. This could end in a race with __d_lookup(). Signed-off-by: Jan Blunck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.104, 2005-03-08 09:48:29-08:00, dhowells@redhat.com [PATCH] Fix kallsyms/insmod/rmmod race The attached patch fixes a race between kallsyms and insmod/rmmod. The problem is this: (1) The various kallsyms functions poke around in the module list without any locking so that they can be called from the oops handler. (2) Although insmod and rmmod use locks to exclude each other, these have no effect on the kallsyms function. (3) Although rmmod modifies the module state with the machine "stopped", it hasn't removed the metadata from the module metadata list, meaning that as soon as the machine is "restarted", the metadata can be observed by kallsyms. It's not possible to say that an item in that list should be ignored if it's state is marked as inactive - you can't get at the state information because you can't trust the metadata in which it is embedded. Furthermore, list linkage information is embedded in the metadata too, so you can't trust that either... (4) kallsyms may be walking the module list without a lock whilst either insmod or rmmod are busy changing it. insmod probably isn't a problem since nothing is going a way, but rmmod is as it's deleting an entry. (5) Therefore nothing that uses these functions can in any way trust any pointers to "static" data (such as module symbol names or module names) that are returned. (6) On ppc64 the problems are exacerbated since the hypervisor may reschedule bits of the kernel, making operations that appear adjacent occur a long time apart. This patch fixes the race by only linking/unlinking modules into/from the master module list with the machine in the "stopped" state. This means that any "static" information can be trusted as far as the next kernel reschedule on any given CPU without the need to hold any locks. However, I'm not sure how this is affected by preemption. I suspect more work may need to be done in that case, but I'm not entirely sure. This also means that rmmod has to bump the machine into the stopped state twice... but since that shouldn't be a common operation, I don't think that's a problem. I've amended this patch to not get spinlocks whilst in the machine locked state - there's no point as nothing else can be holding spinlocks. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.103, 2005-03-08 09:48:14-08:00, Liam.Girdwood@wolfsonmicro.com [PATCH] OSS Support for AC97 low power codecs This is a resend of a patch that has been applied to 2.4. The low power codec functionality has also now been included in ALSA. It checks the codec ID before doing an AC97 register reset. This allows the kernel to support low power codecs that are powered down by a reset command. This patch also fixes some other minor issues. Changes:- - Added AC97_DEFAULT_POWER_OFF to ac97_codec_ids[] - ac97_probe now checks hardwired codec ID's before sending a reset - Added support for WM9713 - Moved the codec specific inits after the mixer setup as some init - tings were being clobbered. - Added extra check so that default_digital_ops doesn't overwrite a valid codec_ops. (SPDIF) Signed-off-by: Liam Girdwood Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.102, 2005-03-08 09:47:58-08:00, minyard@acm.org [PATCH] Fix race between the NMI code and the CMOS clock This patch fixes a race between the CMOS clock setting and the NMI code. The NMI code indiscriminatly sets index registers and values in the same place the CMOS clock is set. If you are setting the CMOS clock and an NMI occurs, Bad values could be written to or read from the CMOS RAM, or the NMI operation might not occur correctly. Fixing this requires creating a special lock so the NMI code can know its CPU owns the lock an "do the right thing" in that case. This was discovered and the fix has been tested by a very demanding customer who tests the heck of out the software we deliver. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.101, 2005-03-08 09:47:43-08:00, pmeda@akamai.com [PATCH] ext3_test_root() speedup Reorder test_root testing from 3,5,7 to 7,5,3 so that average case becomes good. Even number check is added. Signed-off-by: Prasanna Meda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.100, 2005-03-08 09:47:28-08:00, matthew@wil.cx [PATCH] ext3: free block accounting fix If we chose to "do_more", we would double-count the amount freed in the second and subsequent block groups. Fix it the same way as was done in ext2 a couple of years ago. Signed-off-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.99, 2005-03-08 09:47:13-08:00, matthew@wil.cx [PATCH] ext3 cleanup 1 Rename variables in ext3/balloc.c as was done in ext2 a couple of years ago. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.98, 2005-03-08 09:46:59-08:00, matthew@wil.cx [PATCH] Factor out phase 6 of journal_commit_transaction journal_commit_transaction() is 720 lines long. This patch pulls about 55 of them out into their own function, removes a goto and cleans up the control flow a little. Signed-off-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.97, 2005-03-08 09:46:43-08:00, alex@clusterfs.com [PATCH] JBD: log space management optimization during truncate ext3 calls journal_forget() for freed blocks, but before these blocks go to the transaction and jbd reserves space in log for them (->t_outstanding_credits). also, journal_forget() removes these blocks from the transaction, but doesn't correct log space reservation. for example, removal of 500MB file reserves 136 blocks, but only 10 blocks go to the log. a commit is expensive and correct reservation allows us to avoid needless commits. here is the patch. tested on UP. Signed-off-by: Alex Tomas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.96, 2005-03-08 09:46:28-08:00, alex@clusterfs.com [PATCH] JBD: reduce stack and number of journal descriptors Dynamically allocate the holding array for kjournald write patching rather than allocating it on the stack. Signed-off-by: Alex Tomas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.95, 2005-03-08 09:46:14-08:00, alex@clusterfs.com [PATCH] jbd: journal overflow fix #2 fix against credits leak in journal_release_buffer() The idea is to charge a buffer in journal_dirty_metadata(), not in journal_get_*_access()). Each buffer has flag call journal_dirty_metadata() sets on the buffer. Signed-off-by: Alex Tomas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.94, 2005-03-08 09:45:57-08:00, zippel@linux-m68k.org [PATCH] merge vt_struct into vc_data The vt_struct and vc_data are always allocated together, so there is no need for a separate vt_struct structure. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.93, 2005-03-08 09:45:43-08:00, zippel@linux-m68k.org [PATCH] remove console_macros.h Remove the macros in console_macros.h and so make the structure references explicit. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.92, 2005-03-08 09:45:28-08:00, zippel@linux-m68k.org [PATCH] cleanup vc array access This removes as far as possible unneccessary vc_cons lookups by using a pointer to the vc_data structure instead of the index. The hidden currcons argument in console_macros.h is temporarily replaced with a hidden vc pointer. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.91, 2005-03-08 09:45:12-08:00, ptiedem@de.ibm.com [PATCH] s390: ctc online/offline bug fix. ctc network driver changes: - Properly initialize ccw array. This fixes the stray oopses after an online/offline cycle. - Correct check for already existing channel. - Add missing kfrees. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.90, 2005-03-08 09:44:57-08:00, braunu@de.ibm.com [PATCH] s390: qeth layer 2, fake_ll and vlan bugs. With Frank Pavlic qeth network driver changes: - Using layer 2 mode IPv6 multicast addresses has not been registered at the OSA card (??? FIXME) - We have to allow QETH_IP_THREAD in qeth_set_online too when running in layer 2 mode otherwise multicast addresses won't be registered at the OSA card. - fake_ll improvements for dhcpcd. - Strip ethernet header of VLAN packets before calling skb_pull. This fixes multicast VLAN traffic stalls. - Fix unused variable warning. Signed-off-by: Martin Schwidefsky Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.89, 2005-03-08 09:44:42-08:00, braunu@de.ibm.com [PATCH] s390: iucv driver init call. iucv changes: - Initialize iucv with subsys_initcall to make sure that it is there before either vmlogrdr or netiucv start using it. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.88, 2005-03-08 09:44:28-08:00, edrossma@us.ibm.com [PATCH] s390: z90crypt reader task rescheduling. z90crypt device driver changes: - Correct the condition for which the reader task is scheduled to run. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.87, 2005-03-08 09:44:13-08:00, cohuck@de.ibm.com [PATCH] s390: irb faking. Common i/o layer changes: - If a device driver tries to start I/O while the common I/O layer wants to start path verification, don't reject the I/O with -EBUSY (which might prompt the driver to retry the next tick) but seemingly accept the I/O and deliver a fake irb with deferred cc 1 after path verification has finished (prompting the driver to retry the I/O). This prevents the device driver from doing useless retries while cio is still busy with path verification. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.86, 2005-03-08 09:43:59-08:00, cohuck@de.ibm.com [PATCH] s390: common i/o layer. Common i/o layer changes: - Update scsw information before checking activity control bits in the offline processing. - Clear irb structure after cio initiated I/O completed. - Modify cdev private structure only while holding the lock. - Update scsw information before checking whether we can start path verification. - Only generate a notoper event if the device is not already in the not operation state, otherwise we end up with two unregister calls. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.85, 2005-03-08 09:43:42-08:00, schwidefsky@de.ibm.com [PATCH] s390: key management. Add key management system calls. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.84, 2005-03-08 09:43:28-08:00, schwidefsky@de.ibm.com [PATCH] s390: gcc4 compile fixes. Make s390 compile and work with gcc4. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.83, 2005-03-08 09:43:13-08:00, schwidefsky@de.ibm.com [PATCH] s390: soft-float, 4GB swap bug, smp clean & cpu hotplug. s390 core changes: - Add -msoft-float to CFLAGS. - Remove experimantal tag from cpu hotplug. - Allow more than 4GB swap on a single device for 64 bit. - Fix race in machine_restart to make sure all cpus entered stopped state before reipl. - Cleanup: use for_each_online_cpu macro where possible. - Add argument brackets to __FD_SET/__FD_CLEAR/__FD_ZERO. - Reset cpu_present in smp startup to avoid long delays if only one cpu is defined. - Regenerate default configuration. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.82, 2005-03-08 09:42:58-08:00, blaisorblade@yahoo.it [PATCH] uml: trivial removal of Makefile var That var is used only once, use its value directly. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.81, 2005-03-08 09:42:42-08:00, didickman@yahoo.com [PATCH] m32r: use generic bug.h Signed-off-by: Daniel Dickman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.80, 2005-03-08 09:42:28-08:00, barryn@pobox.com [PATCH] kconfig: DEBUG_PAGEALLOC and SOFTWARE_SUSPEND are incompatible on i386 On i386, SOFTWARE_SUSPEND requires the CPU to have PSE support, but DEBUG_PAGEALLOC disables PSE. Thus, allowing both options to be enabled simultaneously makes no sense. This patch disables DEBUG_PAGEALLOC if SOFTWARE_SUSPEND is enabled; it also displays a comment to briefly explain why DEBUG_PAGEALLOC is missing in that case. I have tested this patch against oldconfig and menuconfig on 2.6.11-bk2. Signed-off-by: Barry K. Nathan Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.79, 2005-03-08 09:42:13-08:00, pavel@ucw.cz [PATCH] swsusp fails to suspend if CONFIG_DEBUG_PAGEALLOC is also enabled swsusp low-level assembly requires PSE (4mb pages for kernel) and DEBUG_PAGEALLOC disables that capability. Tell people what went wrong, some people seen same problem on VIA cpus... Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.78, 2005-03-08 09:41:59-08:00, pavel@ucw.cz [PATCH] Update suspend-to-RAM vs. video documentation We got quite long list of machines and tricks needed to get them working. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.77, 2005-03-08 09:41:44-08:00, pavel@ucw.cz [PATCH] swsusp: do not use higher order memory allocations on suspend This is patch from Rafael, it eliminates order-5 (or worse) allocations during suspend. I did few style/whitespace modifications. It was tested by me, Rafael, and Stefan from SuSE. Signed-off-by: Rafael J. Wysocki Signed-off-by: Pavel Machek Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.76, 2005-03-08 09:41:29-08:00, pfg@sgi.com [PATCH] Altix: ioc4 serial driver support Signed-off-by: Patrick Gefre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.75, 2005-03-08 09:41:13-08:00, pfg@sgi.com [PATCH] Altix: Ignore input during early boot 2.6 Altix console patch to ignore input during early booting Signed-off-by: Patrick Gefre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.74, 2005-03-08 09:40:59-08:00, Andries.Brouwer@cwi.nl [PATCH] remove dead cyrix/centaur mtrr init code There are several cases where __init function pointers are stored in a general purpose struct. For example, a SCSI template may contain a __init detect function. Have not yet thought of an elegant way to avoid this. One such case is the mtrr code, where struct mtrr_ops has an init field pointing at __init functions. Unless I overlook something, this case may be easy to settle, since the .init field is never used. The patch below comments out the declaration and initialisation of the .init field of struct mtrr_ops, and puts #if 0 ... #endif around the centaur_mcr_init() and cyrix_arr_init() code. Simultaneously a number of variables are made static. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.73, 2005-03-08 09:40:43-08:00, christoph@graphe.net [PATCH] Support HPET with a single timer for system time This patch removes the check for the existence of multiple HPET timers. It allows the use of HPET with only a single timer for system time if HPET_EMULATE_RTC is not set. Signed-off-by: Christoph Lameter Signed-off-by: Shai Fultheim Acked-by: "Pallipadi, Venkatesh" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.72, 2005-03-08 09:40:29-08:00, rlrevell@joe-job.com [PATCH] x86: clean up FIXME in do_timer_interrupt Clean up the logic in do_timer_interrupt() Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.71, 2005-03-08 09:40:13-08:00, riel@redhat.com [PATCH] cpuid takes unsigned arguments Because Xen is compiled with -Wall -Werror, has inherited processor.h from Linux and Fedora is now built with gcc4, I discovered this bug. The few callers I verified all call cpuid with unsigned ints, but the function is defined with signed ints. This trivial patch fixes that. Signed-off-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.70, 2005-03-08 09:39:59-08:00, tglx@linutronix.de [PATCH] i386: C99 initializers for hw_interrupt_type structures Convert the initializers of hw_interrupt_type structures to C99 initializers. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.69, 2005-03-08 09:39:45-08:00, haveblue@us.ibm.com [PATCH] make highmem_start access only valid addresses (i386) When CONFIG_HIGHMEM=y, but ZONE_NORMAL isn't quite full, there is, of course, no actual memory at *high_memory. This isn't a problem with normal virt<->phys translations because it's never dereferenced, but CONFIG_NONLINEAR is a bit more finicky. So, don't do __va() in non-existent addresses. Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.68, 2005-03-08 09:39:30-08:00, kianusch@sk-tech.net [PATCH] Support for GEODE CPUs Those CPU's are found mostly in embedded systems ... one of the most prominent Hardware using GEODE CPU is probably soekris net4801 (http://www.soekris.com). This patch has been on my homepage (http://www.sk-tech.net/support/soekris.html) for quite a time - but I've been asked several time to have it included in the main kernel. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.67, 2005-03-08 09:39:16-08:00, akpm@osdl.org [PATCH] x86: iounmap() isa special case ioremap() has special-case handling for the IS region, but inunmap() does not. So iounmap() generates a warning when a caller correctly performs an ioremap()/iounmap() sequence. Fix that by teaching iounmap() about the IS address range. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.66, 2005-03-08 09:39:00-08:00, brix@gentoo.org [PATCH] Determine SCx200 CB address at run-time The current SCx200 drivers use a fixed base address of 0x9000 for the Configuration Block, but some systems (at least the Soekris net4801) uses a base address of 0x6000. This patch first tries the fixed address then - if no configuration block could be found - tries the address written to the Configuration Block Address Scratchpad register by the BIOS. Signed-off-by: Henrik Brix Andersen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.65, 2005-03-08 09:38:45-08:00, andrea@novell.com [PATCH] fix iounmap and a pageattr memleak (x86 and x86-64) Reject zero page vm-area request, align size properly and hide the guard page from the callers like ioremap - this avoids a kernel crash due one more page being passed to change_page_attr Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.64, 2005-03-08 09:38:30-08:00, haveblue@us.ibm.com [PATCH] x86: remove-free_all_bootmem() #define in arch/i386/mm/init.c, there's a #define for __free_all_bootmem(): #ifndef CONFIG_DISCONTIGMEM #define __free_all_bootmem() free_all_bootmem() #else #define __free_all_bootmem() free_all_bootmem_node(NODE_DATA(0)) #endif /* !CONFIG_DISCONTIGMEM */ However, both of those functions end up eventually calling the same thing: free_all_bootmem_core(NODE_DATA(0)) This might have once been a placeholder for a more complex bootmem init call, but that never happened. So, kill off the DISCONTIG version, and just call free_all_bootmem() directly in both cases. Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.63, 2005-03-08 09:38:15-08:00, haveblue@us.ibm.com [PATCH] x86: consolidate set_max_mapnr_init() implementations discontig.c has its own version of set_max_mapnr_init(). However, all that it really does differently from the mm/init.c version is skip setting max_mapnr (which doesn't exist because there's no mem_map[]). Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.62, 2005-03-08 09:37:59-08:00, haveblue@us.ibm.com [PATCH] x86: refactor memory setup Refactor the i386 default and CONFIG_DISCONTIG_MEM setup_memory() functions to share the common bootmem initialisation code. This code is intended to be identical, but there are currently some fixes applied to one and not the other. This patch extracts this common initialisation code. Signed-off-by: Andy Whitcroft Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.61, 2005-03-08 09:37:44-08:00, kmannth@us.ibm.com [PATCH] Allow hot-add enabled i386 NUMA box to boot Dave Hanson mentioned I should send this patch to you. I posted it to linux-mm a while ago without complaint. This patch solves a simple problem related to the interpretation on the SRAT table and the info found in the e820. When a possible hot-add area is exposed on my box (IBM x445 with hot add enabled in the bios) my SRAT table correctly exposed a new node from the end of my physical memory to 64gb. In the present kernels the numa KVA areas (based on the SRAT) are calculated before find_max_pfn. The remap area is created for this large non-populated zone and the system dies a while later during bootup. I believe the correct things to do (as did the hot-plug community) the correct thing to do is the keep the node_start_end_pfn data structures focuses on memory that is in the system. That is all this patch does. It ignores any node data (correctly reported by the SRAT) that is above the e820 end of memory. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.60, 2005-03-08 09:37:29-08:00, lethal@Linux-SH.ORG [PATCH] sh: merge updates More random cleanup and build fixes. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.59, 2005-03-08 09:37:13-08:00, lethal@Linux-SH.ORG [PATCH] sh: Update cpufreq driver for cpumask This updates the sh cpufreq driver for the cpumask changes. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.58, 2005-03-08 09:36:58-08:00, lethal@Linux-SH.ORG [PATCH] sh: framebuffer updates hitfb and pvr2fb were both recently broken by mainline changes, this gets them working properly again. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.57, 2005-03-08 09:36:44-08:00, lethal@Linux-SH.ORG [PATCH] sh: hp620 updates This gets hp620 working again.. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.56, 2005-03-08 09:36:28-08:00, lethal@Linux-SH.ORG [PATCH] sh: generic hardirqs Convert sh to use generic hardirqs. Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.55, 2005-03-08 09:36:13-08:00, lethal@Linux-SH.ORG [PATCH] sh: defconfig updates Nothing to see here, move along. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.54, 2005-03-08 09:35:43-08:00, lethal@Linux-SH.ORG [PATCH] sh64: merge updates Mostly random bugfixes and some build fixes, as well as killing off some leftover cruft. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.53, 2005-03-08 09:35:28-08:00, lethal@Linux-SH.ORG [PATCH] sh64: Beat dcache disabling back into submission Somewhere along the line dcache disabling decided it wanted to stop itself from compiling. So we fix it. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.52, 2005-03-08 09:35:14-08:00, lethal@Linux-SH.ORG [PATCH] sh64: Send cli()/sti() back from whence it came There were a couple of cli()/sti() users left, so we get rid of them.. Hopefully this is the last of this mess. Signed-off-by: James Nelson Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.51, 2005-03-08 09:34:59-08:00, lethal@Linux-SH.ORG [PATCH] sh64: TMU init bugfix TMU0 initialization was broken when the timer was already started by someone else (for instance, a boot loader). This fixes it. Signed-off-by: Andy Sturges Signed-off-by: Richard Curnow Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.50, 2005-03-08 09:34:45-08:00, lethal@Linux-SH.ORG [PATCH] sh64: IDE updates This fixes up a few minor IDE issues on sh64. We also enable cayman on-board IDE in the SuperIO. Signed-off-by: Richard Curnow Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.49, 2005-03-08 09:34:30-08:00, lethal@Linux-SH.ORG [PATCH] sh64: generic hardirqs Convert sh64 to use generic hardirqs. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.48, 2005-03-08 09:34:16-08:00, lethal@Linux-SH.ORG [PATCH] sh64: module support This adds support for modules. Signed-off-by: Richard Curnow Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.47, 2005-03-08 09:34:00-08:00, lethal@Linux-SH.ORG [PATCH] sh64: iomap interface. This adds support for the iomap interface to sh64. As a result of this, we can also clean up a lot of the sh64 common I/O routines. We also add a board-specific ioport_map() for the cayman so we can use iomap generically. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.46, 2005-03-08 09:33:45-08:00, lethal@Linux-SH.ORG [PATCH] sh64: defconfig updates Update for the cayman defconfig. We also drop the generic arch/sh64/defconfig as it has very little hope of being kept up to date, so we use the cayman one instead. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.45, 2005-03-08 09:33:31-08:00, lethal@Linux-SH.ORG [PATCH] sh64: Align slab caches on an 8-byte boundary The BYTES_PER_WORD assumption doesn't work out on sh64 when we are using a 32-bit ABI. We want slab caches to be forced to a minimum alignment of 8-bytes, as it was before Anton's change. This was also already discussed at length with Manfred in this thread: http://marc.theaimsgroup.com/?l=linux-kernel&m=110227138116749&w=2 Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.44, 2005-03-08 09:33:17-08:00, lethal@Linux-SH.ORG [PATCH] sh64: Update Richard Curnow's MAINTAINERS info Fairly self explanatory.. Signed-off-by: Richard Curnow Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.43, 2005-03-08 09:33:02-08:00, lethal@Linux-SH.ORG [PATCH] sh64: Initial checkstack port This provides a port of checkstack for sh64 for the simple frames allocated as an immediate with a single instruction. Stack frame creation on sh64 happens in a couple of different ways, when the frame size is less than 511 bytes an addi or addi.l is typically used, generally along the lines of something like: addi{,.l} r15, -IMM_FRAME_SIZE, r15 For larger frames, this ends up getting split up into a movi/sub pair: movi IMM_FRAME_SIZE, rX sub r15, rX, r15 We currently don't handle the split pair case, as basically any register can be used, and there is no easy way to determine what happens without scanning the prologue multiple times and using some sort of register cache (we already do something similar for the sh64 stack unwinder, but it would be preferable not to do this in perl..). This does have limited usefulness in that we are not easily able to check for huge frames without manual inspection, but this is still useful enough in the general case to be worth doing for the addi/addi.l case as long as people are aware of this caveat. It may be worth revisiting at a later point to try and catch the larger users though. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.42, 2005-03-08 09:32:48-08:00, yuasa@hh.iij4u.or.jp [PATCH] mips: add spare timer init This patch adds spare timer initialization for NEC VR41xx. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.41, 2005-03-08 09:32:34-08:00, paulus@samba.org [PATCH] ppc64: allow dynamic enablement of EEH This patch is from John Rose . EEH scans the system I/O adapters at boot for EEH-capabilities. If no EEH-capable adapters are found, the subsystem is marked disabled for the life of the system. EEH should allow dynamic enabling of the EEH subsystem when hotplug-adding an adapter. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.40, 2005-03-08 09:32:20-08:00, paulus@samba.org [PATCH] ppc64: set pci_io_base dynamically if necessary This patch is from John Rose . Upon DLPAR addition of a PCI Host Brige to a system with purely virtual I/O, set pci_io_base as necessary. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.39, 2005-03-08 09:32:05-08:00, paulus@samba.org [PATCH] ppc64: kprobes: handle trap variants while processing probes This patch is from Ananth N Mavinakayanahalli . While processing a kprobe, we were currently not handling all available trap variants available on PowerPC. This lead to the breakage of BUG() handling in ppc64. Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.38, 2005-03-08 09:31:51-08:00, paulus@samba.org [PATCH] ppc64: C99 initializers for hw_interrupt_type This patch is from Thomas Gleixner . Convert the initializers of hw_interrupt_type structures to C99 initializers. Signed-off-by: Thomas Gleixner Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.37, 2005-03-08 09:31:37-08:00, paulus@samba.org [PATCH] ppc64: fix init_boot_display link error This patch is from Amos Waterland . In pmac_setup.c, the function init_boot_display as currently written only makes sense with CONFIG_BOOTX_TEXT enabled, and causes a link error if it is not enabled. Signed-off-by: Amos Waterland Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.36, 2005-03-08 09:31:23-08:00, paulus@samba.org [PATCH] ppc64: addresses from OF getting truncated to 32-bits This patch is from Jake Moilanen , reformatted by me. The `assigned-addresses' property in the Open Firmware device tree nodes for PCI devices has 64 bits of PCI bus address, but we were only using 32. This patch fixes it so we use all 64. Signed-off-by: Jake Moilanen Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.35, 2005-03-08 09:31:09-08:00, paulus@samba.org [PATCH] ppc64: Mode 2 PCI-X config space size fix This patch is from Brian King . When working with a PCI-X Mode 2 adapter on a PCI-X Mode 1 PPC64 system, the current code used to determine the config space size of a device results in a PCI Master abort and an EEH error, resulting in the device being taken offline. This patch checks OF to see if the PCI bridge supports PCI-X Mode 2 and fails config accesses beyond 256 bytes if it does not. Signed-off-by: Brian King Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.34, 2005-03-08 09:30:54-08:00, colin@colino.net [PATCH] Make therm_adt746x handle latest powerbooks This patch lets therm_adt746x handle the latest powerbooks. In these ones, Apple doesn't put the i2c bus number in the "reg" property of the fan node. Instead, we can get the bus number from the fan node path, which looks like "/proc/device-tree/.../i2c-bus@1/.../fan". Here's a patch that handles both old and new form. Signed-off-by: Colin Leroy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.33, 2005-03-08 09:30:40-08:00, mgreer@mvista.com [PATCH] ppc32: add Radstone PPC7D platform support Radstone PPC7D are ppc7447A VME boards with Marvell Discovery-II, dual GigE, dual PMC, 6 serial ports, keyboard/mouse, USB and optional SCSI/VGA. This patch adds support for the PPC7D platform. Signed-off-by: James Chapman Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.32, 2005-03-08 09:30:25-08:00, jeffm@suse.com [PATCH] reiserfs: change reiserfs to use S_PRIVATE This patch changes reiserfs to use the VFS level private inode flags, and eliminates the old reiserfs private inode flag. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.31, 2005-03-08 09:30:08-08:00, jeffm@suse.com [PATCH] reiserfs: private inode abstracted to static inline This patch moves the assignment of i_priv_object to a static inline. This is in preparation for selinux support in reiserfs. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.30, 2005-03-08 09:29:53-08:00, jeffm@suse.com [PATCH] selinux: internal inode loop needs IS_PRIVATE test This patch applies the IS_PRIVATE test to the selinux internal inode loop. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.29, 2005-03-08 09:29:39-08:00, jeffm@suse.com [PATCH] vfs: adds the S_PRIVATE flag and adds use to security This patch series adds SELinux support to reiserfs. This patch adds an S_PRIVATE flag to inode->i_flags to mark an inode as filesystem-internal. As such, it should be excepted from the security infrastructure to allow the filesystem to perform its own access control. Signed-off-by: Jeff Mahoney Acked-by: Stephen Smalley Acked-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.28, 2005-03-08 09:29:24-08:00, ncunningham@cyclades.com [PATCH] Speed freeing memory for suspend. Here's a patch I've prepared which improves the speed at which memory is freed prior to suspend. It should be a big gain for swsusp. For suspend2, it isn't used much, but has shown big improvements when I set a very low image size limit and had memory quite full. 1GB P4, 2.6.11+Suspend2 2.1.8. Soft image size limit set to 2MB to emulate Pavel's implementation (eat as much memory as we can). Without patch: Freed 16545 pages in 4000 jiffies = 16.16 MB/s Freed 83281 pages in 14060 jiffies = 23.14 MB/s Freed 237754 pages in 41482 jiffies = 22.39 MB/s With patch: Freed 52257 pages in 6700 jiffies = 30.46 MB/s Freed 105693 pages in 11035 jiffies = 37.41 MB/s Freed 239007 pages in 18284 jiffies = 51.06 MB/s With a less aggressive image size limit (200MB): Without the patch: Freed 14600 pages in 1749 jiffies = 32.61 MB/s (Anomolous!) Freed 88563 pages in 14719 jiffies = 23.50 MB/s Freed 205734 pages in 32389 jiffies = 24.81 MB/s With the patch: Freed 68252 pages in 496 jiffies = 537.52 MB/s Freed 116464 pages in 569 jiffies = 798.54 MB/s Freed 209699 pages in 705 jiffies = 1161.89 MB/s The later pages take more work to get, which accounts for the slower MB/s with smaller numbers of pages to free. Without the patch, though, getting the easier pages also takes longer because we do a far greater number of invocations of shrink_all_memory in order to get the same number of pages. Signed-Off-By: Nigel Cunningham Acked-By: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.27, 2005-03-08 09:29:09-08:00, hch@lst.de [PATCH] put newly registered shrinkers at the tail of the list This way we actually shake dentries before inodes and thus mark more inodes reclaimable once we shake them. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.26, 2005-03-08 09:28:54-08:00, hugh@veritas.com [PATCH] Bad page state mapcount A small change to the tests for "Bad page state", to avoid one class of the page_remove_rmap BUG reports, giving more information while letting the system continue: check page_mapcount (_mapcount != -1) rather than page_mapped (_mapcount >= 0). And how does _mapcount go bad? In the case under study, it looks sure now that an overheating(?) Pentium III sometimes gets confused by a pair of instructions in the no-buddy-bitmap __free_pages_bulk, and clears the PG_private bit from the _mapcount field while buddying around - changing PG_private value changes the bit cleared from _mapcount. Bad page state mapcount:-4096 would have tracked this down much sooner, and will be recognizable if other cpus show the same aberrant reaction to 2.6.11. The page_remove_rmap BUG does need to be replaced by more permissive and informative handling, but I'm not yet ready to to finalize such a patch. Please admit Colin Harrison to the Order of the Iridescent Penguin, for his tireless testing. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.25, 2005-03-08 09:28:40-08:00, marcelo.tosatti@cyclades.com [PATCH] use find_trylock_page in free_swap_and_cache instead of hand coding Use find_*_page helpers in swap code instead handcoding it. Signed-off-by: Marcelo Tosatti Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.24, 2005-03-08 09:28:25-08:00, oleg@tv-sign.ru [PATCH] readahead: trivial, small comments update On top of "[PATCH 2/2] readahead: improve sequential read detection". Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.23, 2005-03-08 09:28:11-08:00, oleg@tv-sign.ru [PATCH] readahead: improve sequential read detection 1. Current code can't always detect sequential reading, in case when read size is not PAGE_CACHE_SIZE aligned. If application reads the file by 4096+512 chunks, we have: 1st read: first read detected, prev_page = 2. 2nd read: offset == 2, the read is considered random. page_cache_readahead() should treat prev_page == offset as sequential access. In this case it is better to ++offset, because of blockable_page_cache_readahead(offset, size). 2. If application reads 4096 bytes with *ppos == 512, we have to read 2 pages, but req_size == 1 in do_generic_mapping_read(). Usually it's not a problem. But in random read case it results in unnecessary page cache misses. ~$ time dd conv=notrunc if=/tmp/GIG of=/tmp/dummy bs=$((4096+512)) 2.6.11-clean: real=370.35 user=0.16 sys=14.66 2.6.11-patched: real=234.49 user=0.19 sys=12.41 Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.22, 2005-03-08 09:27:57-08:00, oleg@tv-sign.ru [PATCH] readahead: simplify ra->size testing Currently page_cache_readahead() treats ra->size == 0 (first read) and ra->size == -1 (ra_off was called) separately, but does exactly the same in both cases. With this patch we may assume that the reading starts in 'ra_off()' state, so we don't need to consider the first read as a special case. file_ra_state_init() sets ra->prev_page = -1; ra->size = 0; When the page_cache_readahead() is called for the first time it sets ra->size to nonzero value either via get_init_ra_size() or ra_off(). So ra->size == 0 implies that ra->prev_page == -1. I am ignoring the case when readahead is disabled via ra->ra_pages == 0. page_cache_readahead detects sub-page sized reads: if (offset == ra->prev_page && req_size == 1 && ra->size != 0) But if offset == ra->prev_page, then ra->size == 0 can happen only if offset == -1, so there is no need to check ra->size here. If application starts reading 16Tb file from the last page then readahead can't help. First offset==0 read or first sequential detection: if ((ra->size == 0 && offset == 0) || (ra->size == -1 && sequential) could be changed to: if ((ra->size == 0 && sequential) || (ra->size == -1 && sequential) which means: if (sequential && (ra->size == 0 || ra->size == -1)) Random case detection: if (!sequential || (ra->size == 0)) But if sequential == 1, then ra->size can't be 0, this case is already handled before. Now we have: if (offset == ra->prev_page && req_size == 1) /* sub-page reads */ if (sequential && (ra->size == 0 || ra->size == -1)) /* first offset==0 read or first sequential */ if (!sequential) /* random case */ Now ->size is checked only in one place, so ra_off() can set ra->size = 0, and we can just test ->size against 0. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.21, 2005-03-08 09:27:43-08:00, oleg@tv-sign.ru [PATCH] readahead: cleanup blockable_page_cache_readahead() I think that do_page_cache_readahead() can be inlined in blockable_page_cache_readahead(), this makes the code a bit more readable in my opinion. Also makes check_ra_success() static inline. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.20, 2005-03-08 09:27:29-08:00, oleg@tv-sign.ru [PATCH] readahead: factor out duplicated code This patch introduces make_ahead_window() function for simplification of page_cache_readahead. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.19, 2005-03-08 09:27:15-08:00, oleg@tv-sign.ru [PATCH] readahead: cleanup get_next_ra_size() get_next_ra_size() can get all info from file_ra_state. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.18, 2005-03-08 09:27:01-08:00, oleg@tv-sign.ru [PATCH] readahead: unneeded prev_page assignments There is no point in setting ra->prev_page before 'goto out', it will be overwritten anyway. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.17, 2005-03-08 09:26:46-08:00, hugh@veritas.com [PATCH] copy_pte_range latency fix Ingo's patch to reduce scheduling latencies, by checking for lockbreak in copy_page_range, was in the -VP and -mm patchsets some months ago; but got preempted by the 4level rework, and not reinstated since. Restore it now in copy_pte_range - which mercifully makes it easier. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.16, 2005-03-08 09:26:32-08:00, gordon.jin@intel.com [PATCH] Fix mincore cornercases: overflow caused by large "len" This patch fixes 2 cornercases of overflow caused by argument len in sys_mincore(): Case 1: len is so large that will overflow to 0 after page alignment. E.g. len=(size_t)(-1), i.e. 0xff...ff. Expected result: it's overflow and return ENOMEM. Current result: len is aligned to 0, then treated the same as len=0 and return succeed. This cornercase has been fixed in do_mmap_pgoff(), and here sys_mincore() also needs this fix. Case 2: len is a large number but will not overflow after alignment. But start+len will overflow. E.g. len=(size_t)(-PAGE_SIZE), and start>0. Expected result: it's overflow and return ENOMEM. Current result: return EINVAL. Looks like considering len as a non-positive value, probably influenced by manpage. But since the type of len is size_t, i.e. unsigned, it shouldn't be considered as non-positive value. I've also reported this inconsistency to manpage mincore. Signed-off-by: Gordon Jin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.15, 2005-03-08 09:26:18-08:00, pmeda@akamai.com [PATCH] mempool: protect buffer overflow in mempool_resize - Race in mempool_resize: memcpy can copy at the end of the kmalloced elements. - When new_min_nr is same as min_nr, instead of reallocate and copy, just return, changed '<' to '<='. - Changed while condition to the same sense of if condition from '>' to '<'; it is easy to think with only one of the left and right brains at a time. Signed-off-by: Prasanna Meda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.14, 2005-03-08 09:26:04-08:00, haveblue@us.ibm.com [PATCH] stop using "base" argument in __free_pages_bulk() Appended is a patch which stops using the zone->zone_mem_map to calculate the buddy and combined page pointers. It uses the fact that the mem_map array is guaranteed to be contigious for the surrounding (1 << MAX_ORDER) pages. The relative positions of the pages in the physical address space to provide the alignement; which conicidentally fixes the issue where zones are not aligned at MAX_ORDER. There is a very comprehensive comment in the new code explaining the mathematical relationship between a page and its buddy so I won't reproduce it here. This kind of approach is required for CONFIG_NONLINEAR systems where the mem_map is not contiguous within a zone, and the zone->zone_mem_map is not used at all. This patch has been boot-tested on a large variety of systems and architectures: my P4 laptop, 16-way NUMAQ, 16-way Summit, 4-way x86 SMP, ppc64 LPAR, x86_64, and several ia64 configurations. It has been performance-tested on a 16-way NUMAQ. SDET shows a very slight (within margin of error) performance gain. Kernbench shows an approximately ~1% decrease in system time with this patch applied. So, it has a likely positive performance impact. However, the patch has the potential to have a negative performance impact on systems with an expensive page_to_pfn() implementation. But, I think the NUMAQ has one of the more expensive ones around, and it doesn't seem mind too much. Signed-off-by: Andy Whitcroft Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.13, 2005-03-08 09:25:50-08:00, nickpiggin@yahoo.com.au [PATCH] vmscan: reclaim SWAP_CLUSTER_MAX pages in a single pass Here is another small OOM killer improvement. Previously we needed to reclaim SWAP_CLUSTER_MAX pages in a single pass. That should be changed so that we need only reclaim that many pages during the entire try_to_free_pages run, without going OOM. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.12, 2005-03-08 09:25:35-08:00, mingo@elte.hu [PATCH] simpler topdown mmap layout allocator 1. typos/spelling ;-) 2. removed prev_vma and find_vma_prev because the condition checked later was always true 3. moved the free_area_cache/mmap_base check into arch_unmap_area_topdown where i think it belongs. 4. removed the extra free_area_cache setting code in the while loop as it only has to be set when we actually (and successfully) return from this function. The only visible change to the layout should be the following: ChangeSet@1.1994.8.11, 2005-03-08 09:25:19-08:00, marcelo.tosatti@cyclades.com [PATCH] vm: pageout throttling With silly pageout testcases it is possible to place huge amounts of memory under I/O. With a large request queue (CFQ uses 8192 requests) it is possible to place _all_ memory under I/O at the same time. This means that all memory is pinned and unreclaimable and the VM gets upset and goes oom. The patch limits the amount of memory which is under pageout writeout to be a little more than the amount of memory at which balance_dirty_pages() callers will synchronously throttle. This means that heavy pageout activity can starve heavy writeback activity completely, but heavy writeback activity will not cause starvation of pageout. Because we don't want a simple `dd' to be causing excessive latencies in page reclaim. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.10, 2005-03-08 09:25:05-08:00, kai.makisara@kolumbus.fi [PATCH] make st seekable again Apparently `tar' errors out if it cannot perform lseek() against a tape. Work around that in-kernel. Signed-off-by: Kai Makisara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.9, 2005-03-08 09:24:50-08:00, mporter@kernel.crashing.org [PATCH] ppc32: Compilation fixes for Ebony, Luan and Ocotea this patch fixes the problem, that the current kernel (linux-2.6.11-rc5) could not be compiled, when "support for early boot texts over serial port" (CONFIG_SERIAL_TEXT_DEBUG=y) is active. Signed-off-by: Gerhard Jaeger Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.8, 2005-03-08 09:24:37-08:00, akpm@osdl.org [PATCH] macserial build fix `current' is a lousy choice for a variable name. This driver explodes on ppc64 because `current' expands to (local_paca->__current). OK, the driver doesn't compile on power4 anyway, but... Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.7, 2005-03-08 09:24:22-08:00, eric@lammerts.org [PATCH] cramfs: small stat(2) fix When I stat(2) a device node on a cramfs, the st_blocks field is bogus (it's derived from the size field which in this case holds the major/minor numbers). This makes du(1) output completely wrong. Signed-off-by: Eric Lammerts Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.6, 2005-03-08 09:24:08-08:00, akpm@osdl.org [PATCH] ppc64: revert implement-a-vdso-and-use-it-for-signal-trampoline-gas-workaround We don't actually need this. The reason why the ppc64 build exploded was that I had CC="gcc -m64", and even though the build system turns that into "gcc -m64 -m32", that is, surprisingly, equivalent to "gcc -m64". Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.5, 2005-03-08 09:23:53-08:00, bunk@stusta.de [PATCH] remove drivers/char/tpqic02.c Since at about half a year, this driver was no longer selectable via Kconfig. Since it seems noone missed this driver, therefore this patch removes it. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.4, 2005-03-08 09:23:39-08:00, akpm@osdl.org [PATCH] x86_64 pte warning fix include/asm/pgtable.h:267: warning: `struct vm_area_struct' declared inside parameter list include/asm/pgtable.h:267: warning: its scope is only this definition or declaration, which is probably not what you want Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.3, 2005-03-08 09:23:25-08:00, akpm@osdl.org [PATCH] ppc: raid6 build fix Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.2, 2005-03-08 09:23:11-08:00, galak@freescale.com [PATCH] ppc32: fix for e500 oprofile build Fix for trivial fix for 2.6.11 oprofile compilation on e500 based ppc. Signed-off-by: Andy Fleming Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994.8.1, 2005-03-08 08:18:50-08:00, torvalds@ppc970.osdl.org epoll: return proper error on overflow condition Noted by Georgi Guninski. ChangeSet@1.1994.7.1, 2005-03-08 16:14:02+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2516/1: S3C2410 - add Acer n30 Patch from Ben Dooks Add the Acer N30 machine, from Christer Weinigel Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1994.6.1, 2005-03-08 14:24:12+00:00, vandrove@cz.rmk.(none) [SERIAL] Fix 16550A misdetection Patch from Petr Vandrovec XScale detection needs access to Interrupt Enable Register on UART. But this register shares position with high byte clock divisor, and previous detection steps were leaving clock divisor and not IER selected, causing misdetection of all 16550A chips as XScale. Fix this by disabling access to clock divisor at the end of previous detection step, so chip is in same mode after each detection step. Signed-off-by: Petr Vandrovec ChangeSet@1.1994.5.156, 2005-03-08 01:10:37-08:00, akpm@osdl.org [PATCH] USB: compat ioctl for submiting URB From: Christopher Li - Let usbdevfs directly handle 32 bit URB ioctl. More specifically: USBDEVFS_SUBMITURB32, USBDEVFS_REAPURB32 and USBDEVFS_REAPURBNDELAY32. Those asynchronous ioctls are too complicate to handle by the compatible layer. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.155, 2005-03-08 01:05:49-08:00, gregkh@suse.de [PATCH] USB: fix up HZ change in zd1201 driver. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.154, 2005-03-08 01:05:26-08:00, pe1rxq@amsat.org [PATCH] USB: add zd1201 wireless lan driver Signed-off-by: Jeroen Vreeken Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.153, 2005-03-08 01:05:04-08:00, sean@mess.org [PATCH] USB: PhidgetKit driver update A small patch for drivers/usb/misc/phidgetkit.c: Fixes for PhidgetInterfaceKit 0/0/4, by Chris Strandt Signed-off-by: Sean Young Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.152, 2005-03-08 01:04:42-08:00, alexn@dsv.su.se [PATCH] USB: Fix use after free in usb/core/devices.c There's a low probability use-after-free here caused by some switched pointers, st needs to go back to file->private_data Found by Coverity tool Signed-off-by: Alexander Nyberg Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.151, 2005-03-08 01:04:22-08:00, stern@rowland.harvard.edu [PATCH] USB Storage: Unusual_devs entry for Nikon DSC D70 Here's a new unusual_devs.h entry for the Nikon DSC D70 camera, which suffers the common problem of reporting one more sector than it actually has. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.150, 2005-03-08 01:04:01-08:00, nacc@us.ibm.com [PATCH] usb/ftdi_sio: convert WDR_TIMEOUT to milliseconds WDR_TIMEOUT was not updated with the the other constants related to converting the final parameter of usb_{control,bulk}_msg() to milliseconds. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.149, 2005-03-08 01:03:39-08:00, nacc@us.ibm.com [PATCH] usb/usblp: convert USBLP_WRITE_TIMEOUT to milliseconds USBLP_WRITE_TIMEOUT was not updated with the the other constants related to converting the final parameter of usb_{control,bulk}_msg() to milliseconds. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.148, 2005-03-08 01:03:15-08:00, phil@ipom.com [PATCH] [PATCH] Add US_FL_GO_SLOW flag, This adds the US_FL_GO_SLOW flag. This flag is for devices that need a 110 usec delay during high-speed transfers. This seems to be limited to USB-to-IDE chips. Unusual_dev entries for affected devices are included. This has been thrown around in the usb-storage list for a while now, and I believe everyone is happy with it. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.147, 2005-03-08 01:02:53-08:00, david-b@pacbell.net [PATCH] USB: pxa2xx_udc tweak Add a missing local_irq_restore() on the SET_CONFIGURATION completion path. From: Eugeny S. Mints Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.146, 2005-03-08 01:02:31-08:00, petkan@nucleusys.com [PATCH] USB: pegasus and rtl8150 cset for proper link detection changes mainly include adding work queue to both drivers and a bunch of other small fixes. Signed-off-by: Petko Manolov ChangeSet@1.1994.5.145, 2005-03-08 01:02:09-08:00, stern@rowland.harvard.edu [PATCH] USB Documentation update: USB error codes This patch fixes a documentation error I made earlier and clears up the meaning of the -ETIMEDOUT error code in urb->status. Some host controller drivers _do_ use that code to indicate no response was received from the device, which can be confusing since the same code is also used when a request's timer expires. In the future it would be a good idea to change the second usage (as returned by usb_bulk_msg and usb_control_msg) to -ETIME. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.144, 2005-03-08 00:55:59-08:00, gregkh@suse.de [PATCH] USB: fix up compiler warnings when CONFIG_USB_DEBUG is not set. As pointed out by Kay Sievers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.143, 2005-03-08 00:55:39-08:00, gregkh@suse.de [PATCH] USB: fix memory leak in get_string if usb_string() call failed. Pointed out by Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.142, 2005-03-08 00:55:16-08:00, gregkh@suse.de [PATCH] USB: cache the iConfiguration string, if present. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.141, 2005-03-08 00:54:56-08:00, gregkh@suse.de [PATCH] USB: make iInterface string cached Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.140, 2005-03-08 00:54:31-08:00, gregkh@suse.de [PATCH] USB: remove string fetches from the usb-storage core, have them used the cached versions instead. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.139, 2005-03-08 00:54:10-08:00, gregkh@suse.de [PATCH] USB: fix up the input drivers to use the built in strings, instead of re-reading them from the device. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.138, 2005-03-08 00:53:47-08:00, gregkh@suse.de [PATCH] USB: cache the product, manufacturer, and serial number strings at device insertion. This should fix a lot of issues with broken devices that can't handle retrieving strings while they are doing something else (strings would be fetched from usbfs and sysfs entries.) Based on a patch that has been in the SuSE kernel tree for a long time from Olaf Hering Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.137, 2005-03-08 00:45:11-08:00, david-b@pacbell.net [PATCH] USB: fix ohci Kconfig entry The recently merged AMD/Alchemy Au1xxx OHCI driver won't configure on boards which also have PCI support; this resolves that. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.136, 2005-03-08 00:44:49-08:00, stern@rowland.harvard.edu [PATCH] USB: Don't return IRQ_NONE for edge-triggered interrupts On Tue, 15 Feb 2005, Greg KH wrote: > Thanks, I've applied all of them except as460 as there seemed to be > confusion about that one. Care to respin that one based on all of the > comments given to it? It turns out that patch as460 is all right as it stands, and the addition of the patch below will resolve the problem. It prevents the OHCI drivers from returning IRQ_NONE on architectures that use edge-triggered interrupts. The patch has been OK'ed by Christopher and David. Just be sure to apply this one and as460 at the same time! Properly speaking this problem ought to be fixed in the interrupt core since it affects every driver, not just USB. Until that happens, this will suffice. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.135, 2005-03-08 00:44:22-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-sa1111 driver to accomodate the new usb_add_hcd, usb_remove_hcd routines. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.134, 2005-03-08 00:43:55-08:00, stern@rowland.harvard.edu [PATCH] USB: Fix race in URB submission vs. endpoint-disable This patch fixes a race between URB submission and endpoint-disable. (I don't know that it's actually possible to trigger the race, but it won't hurt to move the appropriate test inside the region protected by the spinlock.) In addition, an out-of-date comment referring to timeouts is removed. The patch also changes the error code returned when an URB is submitted for a nonexistent or disabled endpoint to -ENOENT and documents the error code (which was already in use by usbfs) in Documentation/usb/error-codes.txt. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.133, 2005-03-08 00:43:29-08:00, stern@rowland.harvard.edu [PATCH] USB: Clear endpoint toggles in usb_set_interface Pete Zaitcev has found some USB devices that don't reset their endpoint data toggles when they get a SET-INTERFACE request. Apparently they interpret the USB specification too literally when it says that the toggles must be reset whenever the alternate setting is "changed". Anyway, this patch calls usb_clear_halt for all endpoints in the altsetting whenever usb_set_interface is called and the new altsetting is the same as the old one. It adds some extra overhead for the majority of devices that don't need it, but fortunately usb_set_interface isn't called very often. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.132, 2005-03-08 00:43:04-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-au1xxx driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.131, 2005-03-08 00:42:37-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the sl811-hcd driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.130, 2005-03-08 00:42:13-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-pxa27x driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.129, 2005-03-08 00:41:46-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-ppc-soc driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.128, 2005-03-08 00:41:20-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-omap driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.127, 2005-03-08 00:40:59-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes for the ohci-lh7a404 driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.126, 2005-03-08 00:40:34-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes for the dummy-hcd driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.125, 2005-03-08 00:40:13-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes for the core hcd-pci file and the uhci-hcd driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.124, 2005-03-08 00:39:47-08:00, stern@rowland.harvard.edu [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the hcd glue layer in usbcore. It is a prerequisite for all the other patches (which are all otherwise independent). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.123, 2005-03-08 00:39:20-08:00, brian@murphy.dk [PATCH] USB: usbfs: remove debug message this removes a warning message which only contains data which is in any case returned to user space. This message is especially annoying when polling with short timeouts, filling up the log files and polluting the console. As agreed with David Brownell. Signed-off-by: Brian Murphy Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.122, 2005-03-08 00:38:55-08:00, brian@murphy.dk [PATCH] USB: set timeout message to debug level: message.c this makes a the debug message on timeout be at debug level so it only exists when compiling with explicit debugging support. I have added information about the request length and data length as now if the data length is non-zero a 0 status is returned. Signed-off-by: Brian Murphy Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.121, 2005-03-08 00:38:29-08:00, brian@murphy.dk [PATCH] USB: usbfs fix for data loss in message.c This is my fix for usbfs losing data when the urb is timed out but already contains data. Signed-off-by: Brian Murphy Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.120, 2005-03-08 00:38:00-08:00, hwelte@hmw-consulting.de [PATCH] [PATCH 2.6] maintainers / documentation update cyberjack Here's a pure documentation update for the cyberjack driver. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.119, 2005-03-08 00:37:33-08:00, stern@rowland.harvard.edu [PATCH] usb-storage: Don't log expected signatures This fairly trivial patch makes three small changes: Correct a typo in a comment. Don't print a debugging message when a USB mass-storage device uses the standard signature (the one we would expect normally). Shorten a debugging message and add a newline. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.118, 2005-03-08 00:37:10-08:00, 050035w@acadiau.ca [PATCH] USB: fix error in usb_skel.c Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.117, 2005-03-08 00:36:42-08:00, david-b@pacbell.net [PATCH] USB: usbnet uses NET_IP_ALIGN Go back to aligning RX packets to make the IP layer happy, now that there's an appropriately platform-specific way to do this. This should be only a performance tweak. However, the alignment handlers on some platforms don't seem to behave; so it may have correctness impacts too. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.116, 2005-03-08 00:36:16-08:00, david-b@pacbell.net [PATCH] USB: teach gadget drivers about s3c2410_udc This patch makes gadget drivers recognize the UDC controller in the Samsung s3c2310 (ARMv4T). This is used in the iPaq H1940, partially supported by Linux, as well as various other devices. A controller driver is available, though it's not yet submitted. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.115, 2005-03-08 00:35:50-08:00, david-b@pacbell.net [PATCH] USB: ehci updates for TDI/ATG silicon This patch updates support for the TDI EHCI controller, which is mostly used on non-PCI systems: - Correctly initialize the latest chip, which has both host (EHCI) and peripheral modes. - Initialize split isochronous transfers to use the integrated TT. Most of the patch, by volume, just changes the company name from ARC to TDI in the source code; TransDimension bought ARC's peripheral connectivity business. From: Craig Nadler Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.114, 2005-03-08 00:35:22-08:00, david-b@pacbell.net [PATCH] USB: ethernet gadget driver aligns IP headers Align incoming Ethernet packets so the header after Ethernet starts on something closer to a cacheline boundary. This normally just tweaks performance for the IP layer. But on one board (a no-MMU ARM9TDMI with no hardware support for alignment fixups) it's needed to prevent the IP checksumming code from failing. From: Thomas Brinker Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.113, 2005-03-08 00:28:41-08:00, nacc@us.ibm.com [PATCH] dvb/ttusb_dec: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.112, 2005-03-08 00:28:14-08:00, nacc@us.ibm.com [PATCH] dvb/dvb-ttusb-budget: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.111, 2005-03-08 00:27:47-08:00, nacc@us.ibm.com [PATCH] dvb/dvb-dibusb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. This constant is only used for these functions. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.110, 2005-03-08 00:27:22-08:00, nacc@us.ibm.com [PATCH] dvb/cinergyT2: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.109, 2005-03-08 00:26:55-08:00, nacc@us.ibm.com [PATCH] video/cpia_usb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.108, 2005-03-08 00:26:29-08:00, nacc@us.ibm.com [PATCH] dvb/dvb-dibusb-firmware: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.107, 2005-03-08 00:26:02-08:00, nacc@us.ibm.com [PATCH] dvb/b2c2-usb-core: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.106, 2005-03-08 00:25:38-08:00, nacc@us.ibm.com [PATCH] sound/usX2Yhwdep: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.105, 2005-03-08 00:25:11-08:00, nacc@us.ibm.com [PATCH] sound/usbmixer: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.104, 2005-03-08 00:24:43-08:00, nacc@us.ibm.com [PATCH] w1/dscore: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.103, 2005-03-08 00:24:17-08:00, nacc@us.ibm.com [PATCH] net/stir4200: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.102, 2005-03-08 00:23:52-08:00, nacc@us.ibm.com [PATCH] net/irda-usb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.101, 2005-03-08 00:23:26-08:00, nacc@us.ibm.com [PATCH] char/pcwd_usb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.100, 2005-03-08 00:23:00-08:00, nacc@us.ibm.com [PATCH] bluetooth/bfusb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.99, 2005-03-08 00:22:34-08:00, nacc@us.ibm.com [PATCH] usb/usb-skeleton: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.98, 2005-03-08 00:22:07-08:00, nacc@us.ibm.com [PATCH] usb/whiteheat: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.97, 2005-03-08 00:21:41-08:00, nacc@us.ibm.com [PATCH] usb/rio500: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.96, 2005-03-08 00:21:14-08:00, nacc@us.ibm.com [PATCH] usb/visor: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.95, 2005-03-08 00:20:48-08:00, nacc@us.ibm.com [PATCH] usb/ti_usb_3410_5052: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.94, 2005-03-08 00:20:21-08:00, nacc@us.ibm.com [PATCH] usb/mct_u232: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.93, 2005-03-08 00:19:54-08:00, nacc@us.ibm.com [PATCH] usb/kl5kusb105: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.92, 2005-03-08 00:19:28-08:00, nacc@us.ibm.com [PATCH] usb/keyspan_pda: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.91, 2005-03-08 00:19:01-08:00, nacc@us.ibm.com [PATCH] usb/ir-usb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.90, 2005-03-08 00:18:33-08:00, nacc@us.ibm.com [PATCH] usb/ipw: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.89, 2005-03-08 00:18:07-08:00, nacc@us.ibm.com [PATCH] usb/ipaq: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.88, 2005-03-08 00:17:40-08:00, nacc@us.ibm.com [PATCH] usb/io_ti: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.87, 2005-03-08 00:17:13-08:00, nacc@us.ibm.com [PATCH] usb/ezusb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.86, 2005-03-08 00:16:49-08:00, nacc@us.ibm.com [PATCH] usb/belkin_sa: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.85, 2005-03-08 00:16:23-08:00, nacc@us.ibm.com [PATCH] usb/usbnet: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Remove unused jiffy-unit constant. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.84, 2005-03-08 00:15:59-08:00, nacc@us.ibm.com [PATCH] usb/rtl8150: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.83, 2005-03-08 00:15:32-08:00, nacc@us.ibm.com [PATCH] usb/catc: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.82, 2005-03-08 00:15:09-08:00, nacc@us.ibm.com [PATCH] usb/uss720: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.81, 2005-03-08 00:14:43-08:00, nacc@us.ibm.com [PATCH] usb/usbled: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.80, 2005-03-08 00:14:16-08:00, nacc@us.ibm.com [PATCH] usb/phidgetservo: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.79, 2005-03-08 00:13:49-08:00, nacc@us.ibm.com [PATCH] usb/phidgetkit: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.78, 2005-03-08 00:13:24-08:00, nacc@us.ibm.com [PATCH] usb/legousbtower: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.77, 2005-03-08 00:12:56-08:00, nacc@us.ibm.com [PATCH] usb/idmouse: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.76, 2005-03-08 00:12:32-08:00, nacc@us.ibm.com [PATCH] usb/w9968cf: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.75, 2005-03-08 00:12:05-08:00, nacc@us.ibm.com [PATCH] usb/auerswald: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.74, 2005-03-08 00:11:43-08:00, nacc@us.ibm.com [PATCH] usb/vicam: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.73, 2005-03-08 00:11:16-08:00, nacc@us.ibm.com [PATCH] usb/ultracam: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.72, 2005-03-08 00:10:49-08:00, nacc@us.ibm.com [PATCH] usb/sn9c102: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.71, 2005-03-08 00:10:23-08:00, nacc@us.ibm.com [PATCH] usb/se401: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.70, 2005-03-08 00:09:57-08:00, nacc@us.ibm.com [PATCH] usb/ov511: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.69, 2005-03-08 00:09:31-08:00, nacc@us.ibm.com [PATCH] usb/konicawc: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.68, 2005-03-08 00:09:04-08:00, nacc@us.ibm.com [PATCH] usb/ibmcam: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.67, 2005-03-08 00:08:37-08:00, nacc@us.ibm.com [PATCH] usb/wacom: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.66, 2005-03-08 00:08:11-08:00, nacc@us.ibm.com [PATCH] usb/mtouchusb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.65, 2005-03-08 00:07:45-08:00, nacc@us.ibm.com [PATCH] usb/aipteke: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.64, 2005-03-08 00:07:18-08:00, nacc@us.ibm.com [PATCH] usb/powermate: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.63, 2005-03-08 00:06:51-08:00, nacc@us.ibm.com [PATCH] usb/usbtest: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.62, 2005-03-08 00:06:27-08:00, nacc@us.ibm.com [PATCH] usb/cytherm: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.61, 2005-03-08 00:06:00-08:00, nacc@us.ibm.com [PATCH] usb/hid-core: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.60, 2005-03-08 00:05:35-08:00, nacc@us.ibm.com [PATCH] usb/hub: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT was converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.59, 2005-03-08 00:05:09-08:00, nacc@us.ibm.com [PATCH] usb/devio: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.58, 2005-03-08 00:04:43-08:00, nacc@us.ibm.com [PATCH] usb/usblp: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.57, 2005-03-08 00:04:16-08:00, nacc@us.ibm.com [PATCH] usb/cdc-acm: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.56, 2005-03-08 00:03:49-08:00, nacc@us.ibm.com [PATCH] usb/audio: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.55, 2005-03-08 00:03:23-08:00, nacc@us.ibm.com [PATCH] usb/speedtch: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.54, 2005-03-08 00:02:54-08:00, nacc@us.ibm.com [PATCH] usb/message: move msecs change into usb_start_wait_urb() After discussion with gregkh on IRC, I realized that the conversion can be pushed one layer further down into usb_start_wait_urb(), as only usb_{control,bulk}_msg() call this function (kaweth.c has its own version, which remains unchanged by this set of patches). The following incremental patch pushes the conversion into usb_start_wait_urb(). It should be applied after the previous ones to message.c [1/63 and 3/63]. Description: Pushes conversion from milliseconds to jiffies one function further down the usb stack into usb_start_wait_urb(). The only callers of this function are usb_{control,bulk}_msg(); this patch makes the units conversion happen in one place instead of two. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.53, 2005-03-07 23:19:27-08:00, nacc@us.ibm.com [PATCH] usb/message: change parameters of usb_control_msg() to msecs Change units of parameters being passed to usb_control_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT's units are changed in a separate patch such that the the HZ multiplication is no longer necessary. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.52, 2005-03-07 23:19:01-08:00, nacc@us.ibm.com [PATCH] include/usb: change USB_CTRL_{SET,GET}_TIMEOUT to msecs Change the units of the timeout constants in usb.h to correspond to the new parameter units for usb_{control,bulk}_msg(), in this case from seconds to milliseconds. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.51, 2005-03-07 23:18:40-08:00, nacc@us.ibm.com [PATCH] usb/message: make usb_{control,bulk}_msg() use msecs Change the units of the timeout parameter in both usb_control_msg() and usb_bulk_msg() from jiffies to milliseconds. This is the core patch upon which the remaining ones will be built. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.50, 2005-03-07 23:18:12-08:00, stern@rowland.harvard.edu [PATCH] USB: UHCI: Fix build errors when CONFIG_DEBUG_FS isn't set > I've dropped this now. It caused the usb-bk tree to be dropped from the > -mm releases due to it causing build errors if CONFIG_DEBUG_FS not being > enabled. Andrew sent me a horrible hack to try to fix it up, but I'm > going to trust you to fix it up properly :) Here's a proper fix (well, it's a little hackish, but better than Andrew's I hope). No more build problems if CONFIG_DEBUG_FS isn't set. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.49, 2005-03-07 23:17:43-08:00, david-b@pacbell.net [PATCH] USB: ohci ppc driver (2/2): ohci-ppc-soc.c This adds drivers/usb/host/ohci-ppc-soc.c, the USB OHCI glue file for two PPC SOC implementations. Signed-off-by: Dale Farnsworth Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.48, 2005-03-07 23:17:15-08:00, david-b@pacbell.net [PATCH] USB: ohci ppc driver (1/2): big-endian tweaks These are the remaining OHCI core (and Kconfig) updates for big-endian support on STB03xxx and MPC52xx PPC chips. These are the first known implementations with big-endian register and memory layouts. - Two more in-memory fields, related to isochronous transfers have different behavior: HCCA frame number, and ISO TD status. - Kconfig gets new OHCI options, for big-endian and little-endian. The default is little-endian; those PPC platforms can support both the on-chip big-endian version, and little-endian PCI chips. Most of the related ohci core fixes have already been merged. Signed-off-by: Dale Farnsworth Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.47, 2005-03-07 23:16:45-08:00, david-b@pacbell.net [PATCH] USB: cdc-acm uses This makes cdc-acm use the file. It (still) passes "sparse -Wbitwise" on those fields. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.46, 2005-03-07 23:16:18-08:00, david-b@pacbell.net [PATCH] USB: serial/acm gadget uses This converts the serial/ACM gadget driver to use , again a net code shrink. It also gets rid of several "sparse -Wcontext -Wbitwise" warnings; again, excepting the cases where the gadget driver setup() callback hasn't yet changed in all the controller drivers. Two of these warnings were bugs: one affecting CDC ACM support on big-endian hardware (reporting of DTE data rate), one keeping IRQs blocked too long. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.45, 2005-03-07 23:15:46-08:00, david-b@pacbell.net [PATCH] USB: Ethernet/RNDIS gadget driver uses This converts the Ethernet/RNDIS gadget driver to use . It now passes "sparse -Wbitwise", except for the spot in the gadget API where the SETUP packet is still byteswapped. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.44, 2005-03-07 23:13:13-08:00, gregkh@suse.de USB: revert wacom driver patch. Cset exclude: akpm@osdl.org[gregkh]|ChangeSet|20050308064955|00321 Will be coming in through the bk-input tree instead. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.43, 2005-03-07 22:57:40-08:00, david-b@pacbell.net [PATCH] USB: usbnet uses This makes the "usbnet" driver user the new header, and the stuctures and constants found therein. It also cleans up the Zaurus device table entries a smidgeon. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.42, 2005-03-07 22:57:11-08:00, david-b@pacbell.net [PATCH] USB: usbnet, cleanups and suspend/resume calls This has some small updates to the "usbnet" driver: - Remove an unused debug-only symbol - Make the net1080 minidriver pass "sparse -Wbitwise" - Add suspend/resume methods No functionality changes other than the suspend/resume support. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.41, 2005-03-07 22:56:40-08:00, david-b@pacbell.net [PATCH] USB: pxa2xx_udc isn't for pxa27x This prevents selection of the pxa2xx_udc driver on pxa27x chips; the newer chip has incompatible changes in the register API. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.40, 2005-03-07 22:56:17-08:00, david-b@pacbell.net [PATCH] USB: omap_udc handles two more devel boards This teaches omap_udc how to work on two more OMAP development boards: - OMAP 5912 OSK, a starter kit; - OMAP 1710 H3, more or less an H2 with a newer OMAP chip (0.90 nm etc). It also adds slightly more informative debug dumps for transceiver configuration. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.39, 2005-03-07 22:55:48-08:00, david-b@pacbell.net [PATCH] USB: Ethernet/RNDIS build fix on PXA25x This fixes a build problem with the RNDIS support on PXA25x processors. It's useful to help OpenZaurus win even bigger ... current OpenEmbedded builds already bundle this patch. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.38, 2005-03-07 22:55:19-08:00, david-b@pacbell.net [PATCH] USB: add This adds a new header file, with definitions for the CDC class constants and structures used by various drivers. For now this only has the ones Linux actually uses. Each one is used in at least two or three different drivers, so sharing the definitions helps reduce errors. It's also a good excuse to make sure there "sparse -Wbitwise" doesn't report errors in how these are used! Patches to those drivers will follow as I have time to verify the updates: - CDC ACM (for serial lines and modems) * Host side support in "cdc-acm" * Peripheral side support in "g_serial" - CDC Ethernet (cable modems, PDAs, etc) * Host side support in "usbnet" * Peripheral side support in "g_ether" Also, Microsoft's RNDIS is a variant of CDC ACM, providing an Ethernet model and implemented by g_ether; it uses these definitions too. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.37, 2005-03-07 22:54:50-08:00, david-b@pacbell.net [PATCH] USB: don't power down net2280 on suspend This creates a module parameter "enable_suspend", and changes the default behavior to avoid the need to power cycle machines with net2280 cards to recover from some common developer actions (like rmmod/modprobe). When set to 1, the net2280, for better or worse, will enter low-power mode when the USB host requests it. This is fine except in situations involving a power-cycling host or rmmoding the gadget driver while connected to a suspended (or disconnected!) port. When set to 0 (now the default), the driver will report suspend requests to the gadget driver, but will not place the NET2280 into low-power mode. This works fine in all situations except bus-powered devices (for which a PCI+Linux-based NET2280 generally doesn't make much sense anyway) It also (finally...) updates NetChip references to refer to PLX; and updates the dates on the driver. From: Alex Sanks Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.36, 2005-03-07 22:54:20-08:00, bernard@blackham.com.au [PATCH] USB: fix types in usb suspend This fixes types in USB w.r.t. driver model. It should not actually change any code. Please apply, From: Bernard Blackham Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.35, 2005-03-07 22:53:53-08:00, nacc@us.ibm.com [PATCH] usb/mdc800: replace wake_up() with wake_up_interruptible() On Tue, Feb 01, 2005 at 11:51:36AM -0800, Nishanth Aravamudan wrote: > This should fix the behavior of the previous patch (probably not noticed yet). > The wake_up*() was not matched properly in the first patch (fixed below). Modify the wake_up*() calls to match the wait_event*() ones from a previous patch. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.34, 2005-03-07 22:53:26-08:00, nacc@us.ibm.com [PATCH] usb/io_edgeport: remove interruptible_sleep_on_timeout() usage On Tue, Feb 01, 2005 at 11:43:08AM -0800, Nishanth Aravamudan wrote: > This should fix the behavior of the previous patch (probably not noticed yet). > The wake_up*() was not matched properly in the first patch (fixed below). Please > consider reverting the previous patch and applying this one instead. Directly use wait-queues to remove remaining callers of interruptible_sleep_on_timeout(). Signals are not checked (except in one case) in the current code, so interruptible should not be necessary. Modify the wake_up*() calls to match the wait-queue usage. There were some naming conflicts, which I tried to resolve appropriately. The final replacement is within a #if 0 / #endif section of code, but in case that code is ever used again, I would prefer it had the correct interface :) Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.33, 2005-03-07 22:52:55-08:00, zaitcev@redhat.com [PATCH] USB: add usbmon, a USB monitoring framework This patch adds so-called "usbmon", or USB monitoring framework, similar to what tcpdump provides for Ethernet. This is an initial version, but it should be safe and useful. It adds an overhead of an if () statement into submission and giveback paths even when not monitoring, but this was deemed a lesser evil than stealth manipulation of function pointers. The patch makes two changes to hcd.c which make usbmon more useful: - Change the way we determine that DMA should not be mapped for root hubs, so that usbmon knows easily when it's safe to capture data. - Return exports of usb_bus_list and usb_bus_list_lock for those who wish to build usbmon as a module. This version of the patch changes #define to inlines for hooks and drops extra mod_ops. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.32, 2005-03-07 22:52:25-08:00, dsd@gentoo.org [PATCH] usb-storage: More flexible signature checking mechanism This patch alters the CSW signature checking code to work with devices that report non-standard signatures, such as some Olympus and Aldi cameras. We now learn the first signature we see, and use it to check signatures of all subsequent transfers. This allows us to continue to benefit from the error-checking capabilities of the signature transfer, while becoming compatible with (yet more) non-standard devices. Suggestion from Alan Stern. Signed-off-by: Daniel Drake Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.31, 2005-03-07 22:51:55-08:00, dhollis@davehollis.com [PATCH] USB: Add ASIX AX88772 10/100 Ethernet support to usbnet * Add support for the ASIX AX88772 10/100 Ethernet chip * Fix ax8817x_bind to use allocated buffer to avoid DMA on the stack * Fix ax8817x_bind error handling to ensure all resources are freed on failure * Fix ax8817x_get_eeprom routines to return valid eeprom data Signed-off-by: David Hollis Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.30, 2005-03-07 22:51:25-08:00, stern@rowland.harvard.edu [PATCH] USB: Revised fixups for root-hub message handler This patch fixes a number of small errors in the routines that handle messages for root hubs: Fill in the extra byte if a string descriptor transfer asks for an odd number of bytes. Don't copy more than urb->transfer_buffer_length bytes. Use an extra internal buffer to avoid the need for lots of bounds checking. Replace strcpy by strlcpy and sprintf by snprintf to avoid overflowing an internal buffer. Don't set urb->status without first acquiring urb->lock. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.29, 2005-03-07 22:50:54-08:00, nacc@us.ibm.com [PATCH] usb/kaweth: use wait_event_timeout() Use wait_event_timeout() instead of custom wait-queue code. Remove now unused variables. I changed the code to only add to the wait-queue if necessary, but I'm not sure if this is correct. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.28, 2005-03-07 22:50:25-08:00, nacc@us.ibm.com [PATCH] usb/hid-core: use wait_event_timeout() Use wait_event_timeout() instead of custom wait-queue code. Remove now unused variables. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.27, 2005-03-07 22:49:55-08:00, akpm@osdl.org [PATCH] USB: wacom tablet driver From: Ping Cheng This patch adds support for a Wacom new tablet, Intuos3, and its associated tools. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.26, 2005-03-07 22:49:23-08:00, stern@rowland.harvard.edu [PATCH] USB UHCI: split code from uhci-hcd.c to new file uhci-q.c The uhci-hcd.c source file has become uncomfortably large. In anticipation of separate upcoming changes to the HC management (for suspend/resume) and the URB handling (single QH per endpoint), and for the sake of compatibility with the structure of the OHCI and EHCI drivers, this patch splits out almost all the code for scheduling URBs and sticks it in a new source file, uhci-q.c. This is code rearrangement only, with no functional changes. In case your patch scripts aren't smart enough to realize it, the new uhci-q.c file will have to added to the list of BK-managed files. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.25, 2005-03-07 22:35:24-08:00, stern@rowland.harvard.edu [PATCH] USB: Initialize connected ports on newly-activated hubs This patch changes the mechanism used for detecting devices that were already connected to a hub at the time the hub was activated. This can occur in several different circumstances: when the hub is configured for the first time, when the hub is reset following a malfunction, when the hub is resumed. The patch mainly addresses the third possibility, although it also handles the other two. The scenario I have in mind is waking up from a system suspend, where the user has plugged in a new USB device while the system was asleep, and for some reason the hub no longer has a record of the connect change on that port. (Maybe the BIOS or the boot kernel has interfered.) At any rate, the patch causes the hub driver to scan all ports in the reactivated hub, and if it finds a connected port with no child device already allocated then it pretends there was a connect-change event on that port. This will serve to take care of ports with new devices attached that the driver doesn't know about. The existing resume code already handles the case of ports that used to have a device but don't any longer. The remaining case, where different devices are attached to the port before suspending and after resuming, still needs to be handled. The resume code should call the same "descriptors changed" check used by usb_reset_device. That's a patch for another day. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.24, 2005-03-07 22:35:05-08:00, david-b@pacbell.net [PATCH] USB: ohci-omap updates This resolves a FIXME by making the OHCI driver handle power switching on the OSK board, rather than expecting tps65010 init logic to do that. The tps65010 support is #ifdeffed, since that driver hasn't yet been merged into the mainline kernel tree. It also makes OSK (and Innovator) report that they can do ganged power switching; the rest of usb ignores that for now, but that'll change. (Eventually OHCI needs to support board-specific root hub operations, especially for power switching and overcurrent detection, but that needs a few more tweaks.) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.23, 2005-03-07 22:34:40-08:00, david-b@pacbell.net [PATCH] USB: add 'distrust_firmware' option to ohci This replaces an undocumented/experimental "power_switching" flag with a more useful one that lets the driver rely on the boot firmware to report such capabilities. The driver still defaults to munging those informational flags (as it has since 2.2!), so usbcore usually won't try to power-switch with OHCI, but now we have a simple way to default to the behavior specified by the board manufacturer. Also corrects a misprint in the debug 'registers' dump: a bit was shifted right by one nibble, so every controller was reported as supporting the legacy i8042 emulation registers. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.22, 2005-03-07 22:34:19-08:00, nacc@us.ibm.com [PATCH] usb/ati_remote: use wait_event_timeout() Description: Use wait_event_timeout() instead of custom wait-queue code. The current code uses TASK_INTERRUPTIBLE but doesn't seem to care about signals so TASK_UNINTERRUPTIBLE should be ok. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.21, 2005-03-07 22:33:54-08:00, nacc@us.ibm.com [PATCH] usb/auerswald: use wait_event_timeout() Use wait_event_timeout() instead of custom wait-queue code. There might be a problem with returning without adding/removing to the waitqueue before wait_event_timeout() is called. I am not sure if this is a problem or not. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.20, 2005-03-07 22:33:35-08:00, nacc@us.ibm.com [PATCH] usb/mdc800: use wait_event_timeout() Use wait_event_timeout() instead of custom wait-queue code. Remove now unused variables. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.19, 2005-03-07 22:33:09-08:00, nacc@us.ibm.com [PATCH] usb/io_edgeport: replace interruptible_sleep_on_timeout() with wait_event_timeout() Use wait_event_timeout() instead of deprecated interruptible_sleep_on_timeout(). Signals are not checked in the current code, so interruptible should not be necessary. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.18, 2005-03-07 22:32:50-08:00, stern@rowland.harvard.edu [PATCH] USB: Make use_both_schemes=y the default Enough people are experiencing problems with the new device initialization scheme that it seems like a good idea to make the default behavior be to try the old scheme when the new one fails. That's what this patch does, simply by changing the initial value of the use_both_schemes module parameter. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.17, 2005-03-07 22:32:28-08:00, stern@rowland.harvard.edu [PATCH] USB: Retry more aggressively during device initialization This patch make the hub driver's device initialization routine more aggressive about detecting errors and retrying. It checks the result of the 64-byte GET-DESCRIPTOR request to verify that the descriptor tag is set correctly and the ep0-maxpacket value is legal; if either is not true it will retry the request immediately. David Brownell has said that this kind of approach is necessary to make certain buggy devices work. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.16, 2005-03-07 22:32:07-08:00, radford@golemgroup.com [PATCH] USB ftdi_sio: an rs485 adaptor from 4n-galaxy.de This patch adds support for an rs485 adaptor from 4n-galaxy.de. Signed-off-by: Jim Radford Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.15, 2005-03-07 22:21:24-08:00, nacc@us.ibm.com [PATCH] usb/cypress_m8: replace schedule_timeout() with msleep() Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code is not incorrect. Using msleep(), though, encourages specifying time delays in human time-units and consistency across the kernel. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.14, 2005-03-07 22:21:00-08:00, mdharm-usb@one-eyed-alien.net [PATCH] USB Storage: devices which don't process PREVENT-ALLOW MEDIUM REMOVAL This patch started life as as423, and has been re-generated against the current tip. Some storage devices don't like PREVENT-ALLOW MEDIUM REMOVAL commands; rather than returning an Invalid Command ASC they just die or imagine that the medium has actually been removed. Until now people have been relying on the SCSI blacklist table, which can be updated at runtime, to mark devices which shouldn't receive these commands. However it will be more efficient and easier to do it from within usb-storage, particularly since many of these devices share the same USB Vendor and Product IDs (while having different INQUIRY product strings). *sigh* We really should be trying to push as much of this as possible onto hotplug. It's easier to update userspace tools than the kernel to support a new device. The relevant devices already have unusual_devs entries; this patch just adds the new flag to those entries and uses it to set a corresponding flag in the scsi_device structure. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.13, 2005-03-07 22:20:36-08:00, phil@ipom.com [PATCH] USB: unusual_devs.h update Alan and Matt recently submitted a patch to change IGNORE_RESIDE to ignore residues on WRITE as well as READ. As a follow up to that, this device needs that functionality. This adds the unusual_devs entry for that device. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.12, 2005-03-07 22:20:14-08:00, dsd@gentoo.org [PATCH] USB: Add USBAT-based CompactFlash storage support Adds long overdue support for 12 CompactFlash card reader/writers based on the USBAT02 chip! See http://usbat2.sourceforge.net Signed-off-by: Daniel Drake Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.11, 2005-03-07 22:19:51-08:00, dsd@gentoo.org [PATCH] USB: Add USBAT02 storage support Adds support for USBAT02-based devices. A few HP cd writers came out with this chip. A lot of flash-readers also share these ID numbers: this will be addressed in the next patch. Signed-off-by: Daniel Drake Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.10, 2005-03-07 22:19:29-08:00, dsd@gentoo.org [PATCH] USB: shuttle_usbat cleanups and generalisations Misc cleanups, a few more annotations, some function name/usage generalisation, and preparation for addition of support for flash-reader devices. Signed-off-by: Daniel Drake Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.9, 2005-03-07 22:19:06-08:00, greg@kroah.com [PATCH] USB: remove UB checks in the usb-storage driver. This allows either the ub or usb-storage driver to bind to the same device, allowing people to use both without rebuilding their kernels. It can be a bit messy at times... Signed-off-by: Greg Kroah-Hartman Acked-by: Matthew Dharm Acked-by: Pete Zaitcev ChangeSet@1.1994.5.8, 2005-03-07 22:18:46-08:00, mdharm-usb@one-eyed-alien.net [PATCH] USB storage: make IGNORE_RESIDUE apply for reads (in addition to writes) This patch was originally as406. I've rediffed it against a current tree. This patch makes the iGNORE_RESIDUE flag apply to reads (as well as writes, which it already does). This is done because we've found devices which improperly report residue in the 'read' case. Phil will send in a follow-up patch with the appropriate unusual_devs entry for Ian's device soon. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.7, 2005-03-07 22:18:22-08:00, mdharm-usb@one-eyed-alien.net [PATCH] USB Storage: Remove fix_capacity routine This is patch as422 from Alan Stern. This is the second half of the two-part patch to move the fix_capacity functionality up into the sd driver. James Bottomley has applied the SCSI half, so now the usb-storage part is ready to go. In short, the patch removes the fix_capacity routine and in its place, sets a device flag to tell sd that the reported capacity is one sector too high. It's a simple change and shouldn't cause any problems. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.6, 2005-03-07 22:18:03-08:00, luca.risolia@studio.unibo.it [PATCH] USB: SN9C10x driver bugfix SN9C10x driver bugfix. Changes: @ Calculate correct image size in urb_complete() Signed-off-by: Luca Risolia Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.5, 2005-03-07 22:17:36-08:00, luca.risolia@studio.unibo.it [PATCH] USB: SN9C10x driver bugfix SN9C10x bugfix and small updates. Changes: @ Allocate the correct number of buffer memory bytes for read() * Wakeup interruptible events on DEV_MISCONFIGURED status * Allocate the exact number of buffers (nreadbuffers) in poll() * Documentation updates Signed-off-by: Luca Risolia Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.4, 2005-03-07 22:17:17-08:00, gregkh@suse.de [PATCH] USB: give sisusb a valid minor number (133 - 140) Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.3, 2005-03-07 22:16:51-08:00, thomas@winischhofer.net [PATCH] USB: SiS USB2VGA minor fix. here is a tiny, small update for the sisusb driver. It fixes one spacing issue, one (internal) API issue and one endian issue (stupid copy/paste error) Signed-off by: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.2, 2005-03-07 22:16:31-08:00, greg@kroah.com [PATCH] USB: fix sparse bitwise warnings in the sisusb.c driver Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1994.5.1, 2005-03-07 22:16:09-08:00, thomas@winischhofer.net [PATCH] USB: add SiS USB2VGA kernel driver Signed-off-by: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman ChangeSet@1.2001, 2005-03-07 21:22:43-08:00, davem@northbeach.davemloft.net [BT8XX]: Declare bt878[] array after struct layout definition. Signed-off-by: David S. Miller ChangeSet@1.2000, 2005-03-07 21:21:18-08:00, davem@northbeach.davemloft.net [SPARC64]: Make access_ok() more palatable to gcc-4.x Also, kill __{user,kernel}_ok() as they are unused macros on sparc64. Signed-off-by: David S. Miller ChangeSet@1.1999, 2005-03-07 20:35:08-08:00, davem@northbeach.davemloft.net [SPARC64]: boot_cpu_id is static. Signed-off-by: David S. Miller ChangeSet@1.1994.1.31, 2005-03-07 23:31:52-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/via-rhine into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1994.1.30, 2005-03-07 23:30:48-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/sis900 into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1994.1.28, 2005-03-07 23:28:06-05:00, jgarzik@pobox.com Hand-merge MV643xx ethernet Kconfig dependencies. ChangeSet@1.1998, 2005-03-07 20:22:40-08:00, davem@northbeach.davemloft.net [SPARC]: mstk48t{08,59}_regs is static. Signed-off-by: David S. Miller ChangeSet@1.1994.1.26, 2005-03-07 14:07:42-08:00, torvalds@ppc970.osdl.org Merge bk://linux-1394.bkbits.net/1394-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1994.1.25, 2005-03-07 13:54:45-08:00, torvalds@ppc970.osdl.org Merge pcnet32 conflicting updates manually ChangeSet@1.1982.152.7, 2005-03-07 13:50:19-08:00, alan@lxorguk.ukuu.org.uk [PATCH] resync ATI PCI idents into base kernel ChangeSet@1.1982.152.6, 2005-03-07 13:50:06-08:00, alan@lxorguk.ukuu.org.uk [PATCH] stallion ressurection, phase 1 This gets the stallion driver working again non-SMP. Patch by Wayne Meissner Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds ChangeSet@1.1982.152.5, 2005-03-07 13:49:53-08:00, alan@lxorguk.ukuu.org.uk [PATCH] PCI idents for PCnet32 fix Sorry forgot I made these constants ChangeSet@1.1982.152.4, 2005-03-07 13:49:40-08:00, alan@lxorguk.ukuu.org.uk [PATCH] Restore PWC driver PWC has a new maintainer (Luc Saillard) and also the various contentious binary hooks removed and replaced with reverse engineering work. Please restore it to the kernel Alan Signed-off-by: Luc Saillard Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds ChangeSet@1.1982.152.3, 2005-03-07 13:49:26-08:00, alan@lxorguk.ukuu.org.uk [PATCH] Add ATP88x support to the ATP870U driver (Vendor patch) Patch-by: ARTOP Corp. Basically this adds the small bits for the new card and makes one set of items an array because the new card is multi-channel. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds ChangeSet@1.1982.152.2, 2005-03-07 13:49:13-08:00, alan@lxorguk.ukuu.org.uk [PATCH] Fibre attached pcnet/32 The current driver does workarounds for errata that do not work with fibre attached devices. This patch avoids doing the workaround on the only known fibre attach pcnet/32 hardware. All handling is automated on pci sub-ids Patch by: Guido Guenther Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds ChangeSet@1.1982.152.1, 2005-03-07 13:49:00-08:00, alan@lxorguk.ukuu.org.uk [PATCH] Document a "don't do that" case for the tty layer ChangeSet@1.1994.1.24, 2005-03-07 13:34:58-08:00, willy@parisc-linux.org [PATCH] PA-RISC Makefile updates - Support sparse - Use CONFIG_64BIT instead of CONFIG_PARISC64 - Find palo in /sbin even if it's not in our $PATH Signed-off-by: Randolph Chung Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.23, 2005-03-07 13:34:43-08:00, willy@parisc-linux.org [PATCH] PA-RISC Kconfig updates - Use def_bool where possible - Eliminate PARISC64 Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.22, 2005-03-07 13:34:29-08:00, willy@parisc-linux.org [PATCH] Update PA-RISC IOSAPIC driver - Fix all ioremap abuse noticed by CONFIG_DEBUG_IOREMAP on an N4000. - F_EXTEND doesn't do what I thought it did on a 32-bit box. - New calling convention for txn_alloc_irq() - Replace CONFIG_PARISC64 with CONFIG_64BIT - Ensure alignment of the irt buffer to 8 bytes even when slab debugging is enabled Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.21, 2005-03-07 13:34:15-08:00, willy@parisc-linux.org [PATCH] Update PA-RISC IOMMU code - The pdc_io_reset_devices() call necessary for USB keyboard kills the serial console. Use a test that seems to work for both. - Don't bounce >4G buffers on machines with IOMMU - Remove ASSERT code and cleanup iomem * related warnings - Fix comment that was pointing to the old file location - Expand comment about PDC reset to describe broken GFX+USB console at powerup by direct linux to serial console - Fix all ioremap abuse noticed by CONFIG_DEBUG_IOREMAP on an N4000 - Remove casts from "READ_REG" and "WRITE_REG" macro - Set D4 and DD bits in IOC_CTRL - Allow all memory in machine to be in-flight DMA at once, up to 4GB Signed-off-by: Grant Grundler Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.20, 2005-03-07 13:34:01-08:00, willy@parisc-linux.org [PATCH] Update PA-RISC PCI host adapter - Use CONFIG_64BIT instead of CONFIG_PARISC64 - Rename lba_cfg_ops to elroy_cfg_ops - Don't check for a non-1,2 or 4 size in the cfg_ops - Call LBA_CFG_ADDR_SETUP instead of LBA_CFG_TR4_ADDR_SETUP in elroy_cfg_ops - Don't read back from LBA_PCI_CFG_ADDR in LBA_CFG_TR4_ADDR_SETUP - Remove LBA_FLAG_NO_DMA_DURING_CFG since it's always set for elroy_cfg_ops - Remove LBA_TR4PLUS since we no longer need to test for it. - Inline lba_common_init() into lba_driver_probe() - Move TR2.1 check into an elroy-only path - Check for LBAs that aren't Elroy, Mercury or Quicksilver. - Remove all casts to 'int' in the driver, got rid of some unnecessary parens and deleted the obsolete part of a comment. - Return -EINVAL for config space >255 - Always return 0 on config read success - Remove definitions of TRUE and FALSE - ioremap fix for port-io on non-PAT machines - Remove the bad casts from the register accessors - With those gone, I could see the piop_base needed to be remapped. - Fix all ioremap abuse noticed by CONFIG_DEBUG_IOREMAP on an N4000. Signed-off-by: Grant Grundler Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.19, 2005-03-07 13:33:46-08:00, willy@parisc-linux.org [PATCH] PA-RISC defconfig update Update a500_defconfig Remove n4000_defconfig as a500_defconfig is now suitable for both boxes Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.18, 2005-03-07 13:33:32-08:00, willy@parisc-linux.org [PATCH] ALSA Harmony sound driver for PA-RISC ALSA Harmony rewrite Signed-Off-By: Kyle McMartin Signed-off-by: Stuart Brady Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.17, 2005-03-07 13:33:16-08:00, willy@parisc-linux.org [PATCH] PA-RISC PDC stable storage driver Add PDC stable storage driver. Also reorganise PA-RISC Kconfig a little. Signed-off-by: Thibaut VARENE Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.16, 2005-03-07 13:33:01-08:00, willy@parisc-linux.org [PATCH] Convert from a struct dev to a firmware hwpath PA-RISC firmware needs a hwpath which can be constructed from a pci_dev or a parisc_device. Previously we've known what type of device we had, but when using sysfs we have to figure it out. Signed-off-by: Thibaut VARENE Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.15, 2005-03-07 13:32:46-08:00, willy@parisc-linux.org [PATCH] Convert PARISC64 to 64BIT More CONFIG_PARISC64 to CONFIG_64BIT conversion Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.14, 2005-03-07 13:32:32-08:00, willy@parisc-linux.org [PATCH] GCC 3.4 fixes for PA-RISC parport support - Move include/asm/parport_gsc.h to drivers/parport/ - Fix gcc 3.4 compilation (redefined extern inline functions are not considered for inlining) From: Joel Soete Signed-off-by: Grant Grundler Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.13, 2005-03-07 13:31:48-08:00, willy@parisc-linux.org [PATCH] PA-RISC copy/clear_user_page improvements - Performance improvement to __clear_user_page_asm - White space cleanup - 64-bit version of copy_user_page_asm - Add prefetching to copy_user_page_asm - remove NOP and "bundle" comments Contributions from Joel Soete Signed-off-by: Grant Grundler Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds ChangeSet@1.1994.1.11, 2005-03-07 09:34:59-08:00, herbert@gondor.apana.org.au [IPSEC]: Kill redundant dst_release check in xfrm_dst_destroy Here's a trivial patch to get rid of a redundant check that I added in patch 3/4. dst_release already checks for dst == NULL. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1994.1.10, 2005-03-07 09:33:29-08:00, akpm@osdl.org [ATALK]: linux/atalk.h needs net/sock.h Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1994.1.9, 2005-03-07 09:32:25-08:00, herbert@gondor.apana.org.au [IPSEC]: Get rid of dst_pmtu/ext2_header_len Here is a patch that replaces all occurrences of dst_pmtu in the TCP stack. As a result we no longer need ext2_header_len. This has a nice synergetic effect with Arnaldo's latest change to linux/tcp.h :) I'll be removing other users of dst->path/dst_pmtu next. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1994.1.8, 2005-03-07 09:31:04-08:00, herbert@gondor.apana.org.au [IPSEC]: Check dst validity harder in xfrm_bundle_ok There is another bug in xfrm_bundle_ok where I forgot to check the validity of xdst->route. In fact, the check on dst->path isn't strong enough either. For IPv6 entries, dst->path->obsolete is always negative until you call ipv6_dst_check. So we really need to do that here. Here's the patch to fix those two problems. Yes I know my dst_check implementation is lame. I'll come back and fix up all the dst_check functions by moving their dst_release calls out. It proves that you were right in that IPv6 dst leak thread :) Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1994.4.1, 2005-03-07 01:52:19-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/linux-2.6 into pobox.com:/garz/repo/libata-dev/remove-one-fix ChangeSet@1.1994.3.1, 2005-03-07 01:48:21-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/libata-dev/janitor into pobox.com:/garz/repo/libata-2.6 ChangeSet@1.1994.2.11, 2005-03-07 01:37:25-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/smc91x into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1994.2.9, 2005-03-07 01:35:21-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/s2io into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1994.2.7, 2005-03-07 01:33:21-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/pm_message_t into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1994.2.4, 2005-03-07 01:30:13-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/bonding into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1994.1.7, 2005-03-06 21:36:51-08:00, herbert@gondor.apana.org.au [IPSEC]: Get metrics for xfrm_dst from top dst For the metrics other than MTU, we should also be getting it from the top dst as opposed to the bottom dst. With this change, the user is able to manipulate values such as advmss for individual hosts behind a remote IPsec gateway. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1994.1.6, 2005-03-06 21:35:27-08:00, herbert@gondor.apana.org.au [IPSEC]: Fix xfrm[46]_update_pmtu to update top dst Let's also fix IPsec PMTU storage. When we get an MTU update for an xfrm_dst, it should be done to the top dst, not the bottom dst. For example, when we get a need-to-frag message for host C behind a our IPsec peer B, we should be updating the dst entry for C and not B as we do now. I've removed the boundary checks since the same checks are done in ipv[46]/route.c already. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1994.1.5, 2005-03-06 21:34:23-08:00, herbert@gondor.apana.org.au [IPSEC]: Use dst_mtu i n xfrm[46]_output There was a lot of fun in laying the foundations. Now it's time to start using it. This patch fixes the calculations in xfrm[46]_output so that we don't reject properly sized packets from the TCP stack. The previous calculation is wrong because the xfrm overhead is not constant. After this I'll start cleaning stuff up. For example, tcp's ext2_header_len and dst's path can both be removed. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1994.1.4, 2005-03-06 21:31:52-08:00, herbert@gondor.apana.org.au [IPSEC]: Store MTU at each xfrm_dst Finally this is the patch that sets the MTU values of each xfrm_dst and keeps it up-to-date. To recap, at this point we've obtained accurate MTU values at each xfrm_dst. The next step would be to start using it as dst_pmtu(xfrm_dst). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1994.1.3, 2005-03-06 21:27:44-08:00, herbert@gondor.apana.org.au [IPSEC]: Add route element to xfrm_dst This patch adds a pointer to the route corresponding to the specific flow over the SA of an xfrm_dst that's being used. It also sets the next pointer of each xfrm_dst to the one above it. This allows to traverse the list upwards from the bottom. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1994.1.2, 2005-03-06 21:24:19-08:00, herbert@gondor.apana.org.au [IPSEC]: Add xfrm_state_mtu() This patch introduces the function xfrm_state_mtu which calculates the MTU under a specific SA. This function can be simplified once we get rid all other uses of get_max_size as we can move the calculation into the invidual SA type. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1994.1.1, 2005-03-06 21:03:21-08:00, herbert@gondor.apana.org.au [CRYPTO]: Mark myself as co-maintainer. James is stepping down for a while. Signed-off-by: David S. Miller ChangeSet@1.1996, 2005-03-06 20:50:43-08:00, davem@northbeach.davemloft.net.davemloft.net [SPARC64]: Fix semtimedop compat ipc code. The timeout pointer really does get passed in as the fifth argument, not the third. Thanks to Willy Tarreau for noticing. Signed-off-by: David S. Miller ChangeSet@1.1995, 2005-03-06 20:48:08-08:00, davem@northbeach.davemloft.net.davemloft.net [SPARC64]: Update defconfig. Signed-off-by: David S. Miller ChangeSet@1.1994, 2005-03-06 17:25:39-08:00, sfr@canb.auug.org.au [PATCH] Consolidate compat_sys_waitid This patch does: - consolidate the three implementations of compat_sys_waitid (some were called sys32_waitid). - adds sys_waitid syscall to ppc - adds sys_waitid and compat_sys_waitid syscalls to ppc64 I have left PARISC and MIPS to their own devices (by request). Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds ChangeSet@1.1993, 2005-03-06 17:04:35-08:00, torvalds@ppc970.osdl.org Merge bk://gkernel.bkbits.net/net-drivers-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1982.1.23, 2005-03-06 17:03:25-08:00, torvalds@ppc970.osdl.org Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1982.1.22, 2005-03-06 16:59:24-08:00, torvalds@ppc970.osdl.org Merge bk://linux-dj.bkbits.net/agpgart into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1982.1.21, 2005-03-06 16:58:12-08:00, torvalds@ppc970.osdl.org Merge http://jfs.bkbits.net/linux-2.5 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1982.108.30, 2005-03-06 16:56:53-08:00, torvalds@ppc970.osdl.org Merge bk://kernel.bkbits.net/davem/net-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1982.108.29, 2005-03-06 16:55:28-08:00, torvalds@ppc970.osdl.org Merge bk://kernel.bkbits.net/davem/flush_cache_page-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1982.148.2, 2005-03-06 16:52:04-08:00, dan@debian.org [PATCH] x86: fix TF bit corner case with ptrace and signals If a debugger set the TF bit, make sure to clear it when creating a signal context. Otherwise, TF will be incorrectly restored by sigreturn. Signed-off-by: Daniel Jacobowitz Signed-off-by: Linus Torvalds ChangeSet@1.1982.100.18, 2005-03-06 18:11:09-05:00, davej@redhat.com [AGPGART] vfree() checking cleanups generic.c vfree() checking cleanups. Signed-off by: James Lamanna Signed-off-by: Domen Puncer Signed-off-by: Dave Jones ChangeSet@1.1982.119.49, 2005-03-06 23:07:50+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2515/1: S3C2410 - allow serial to use fclk on s3c2440 Patch from Ben Dooks This patch extends the s3c2410 serial driver to allow it to use fclk and correctly determine the uart dividers. The necessary defines are added to the serial headers as well. Also modified is the header to point at the current Simtec linux pages, as well as extend the copyright. Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.48, 2005-03-06 22:33:13+00:00, rmk@flint.arm.linux.org.uk [ARM] Update mach-types from website. Signed-off-by: Russell King ChangeSet@1.1982.119.47, 2005-03-06 19:53:37+00:00, rmk@flint.arm.linux.org.uk [ARM] Simplify /proc/driver/rtc procfs interface. The read method doesn't need to calculate eof/start offsets. Signed-off-by: Russell King ChangeSet@1.1982.119.46, 2005-03-06 19:05:01+00:00, rmk@flint.arm.linux.org.uk [ARM] Add validation function for struct rtc_time Signed-off-by: Russell King ChangeSet@1.1982.151.2, 2005-03-05 21:23:33-08:00, lethal@linux-sh.org [SH]: Cache flush simplifications after flush_cache_page() arg change. Signed-off-by: David S. Miller ChangeSet@1.1982.151.1, 2005-03-05 21:15:21-08:00, davem@picasso.davemloft.net Merge davem@nuts:/disk1/BK/flush_cache_page-2.6 into picasso.davemloft.net:/home/davem/src/BK/flush_cache_page-2.6 ChangeSet@1.1982.149.3, 2005-03-05 20:52:11-08:00, davem@nuts.davemloft.net Merge http://linux-mh.bkbits.net/bluetooth-2.6 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1982.108.27, 2005-03-05 20:48:01-08:00, davem@picasso.davemloft.net Merge davem@nuts:/disk1/BK/set_pte-2.6 into picasso.davemloft.net:/home/davem/src/BK/set_pte-2.6 ChangeSet@1.1982.149.2, 2005-03-05 20:43:56-08:00, davem@nuts.davemloft.net Merge nuts.davemloft.net:/disk1/BK/net-2.6.12 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1982.148.1, 2005-03-05 16:26:40-08:00, torvalds@evo.osdl.org x86: make put_user() out-of-line This makes the resulting assembly not only easier to read, it results in roughly a 0.5% savings in code size. Fixes from Richard Henderson for the original broken asm constraints. ChangeSet@1.1992, 2005-03-05 18:11:05-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/mips into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1982.146.6, 2005-03-05 18:10:00-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/sk98lin into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1982.146.5, 2005-03-05 18:08:48-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/wan-fixes into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1982.146.4, 2005-03-05 18:07:32-05:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/pcnet32 into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.1982.146.1, 2005-03-05 17:55:29-05:00, galak@freescale.com [PATCH] initialize a spin lock in gianfar driver Initialize the mdio_lock spin lock in mii_info struct, which is otherwise accessed prior to initialization. Signed-off-by: Jaka Mocnik Signed-off-by: Kumar Gala Signed-off-by: Jeff Garzik ChangeSet@1.1982.116.5, 2005-03-05 17:50:51-05:00, lethal@linux-sh.org [PATCH] net: port smc91x to SH4-202 Microdev. Here is a patch that gets the smc91x driver working on the SH4-202 Microdev board. Signed-off-by: Paul Mundt Signed-off-by: Jeff Garzik ChangeSet@1.1982.117.13, 2005-03-05 13:26:50-08:00, torvalds@ppc970.osdl.org Merge bk://gkernel.bkbits.net/net-drivers-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1982.145.102, 2005-03-05 09:37:01-08:00, yuasa@hh.iij4u.or.jp [PATCH] mips: update CMU This patch updates cmu.c to get the resource by standard method. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.101, 2005-03-05 09:36:48-08:00, yuasa@hh.iij4u.or.jp [PATCH] mips: calculate clock at any time This patch changes bcu.c to calculate clock at any time. Because clock can be changed. Moreover, EXPORT_SYMBOL_GPLs are added to it. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.100, 2005-03-05 09:36:33-08:00, yuasa@hh.iij4u.or.jp [PATCH] mips: add TANBAC TB0219 base board driver This patch adds GPIO/LED/DIPSW driver for TANBAC TB0219. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.99, 2005-03-05 09:35:39-08:00, moilanen@austin.ibm.com [PATCH] ppc64: offb remapped address The offb code did not take into account a remapped pci address. Adding in the pci_mem_offset fixed a DSI in offb. Signed-off-by: Jake Moilanen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.98, 2005-03-05 09:35:25-08:00, benh@kernel.crashing.org [PATCH] ppc64: Fix zImage wrapper incorrect size to flush_cache() This patch fixes a bug in the ppc64 zImage wrapper causing it to pass an incorrect size to flush_cache() when flushing the data and instruction caches prior to jumping to the kernel entry. This causes crashes on firmare environment that do strict MMU mapping only of actually allocated areas Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.97, 2005-03-05 09:35:12-08:00, benh@kernel.crashing.org [PATCH] ppc64: Fix thinko in prom_init.c (It's a real bug, but I suspect it doesn't trigger normally as we tend to allocate the initrd low, but it should be fixed anyway). This patch fixes an error in prom_init.c in the check for the initrd location vs. the memory allocation mecanism. Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.96, 2005-03-05 09:34:58-08:00, david@gibson.dropbear.id.au [PATCH] ppc64: functions to reserve performance monitor hardware The PPC64 interrupt code includes a hook to call when an exception from the performance monitor unit occurs. However, there's no way of reserving the hook properly, so if more than one bit of code tries to use it things will get ugly. Currently oprofile is the only user, but there are likely to be more in future e.g. perfctr, if and when it reaches a fit state for merging. This patch creates functions to reserve and release the performance monitor hardware (including its interrupt), and makes oprofile use them. It also creates a new arch/ppc64/kernel/pmc.c, in which we can put any future helper functions for handling the performance monitor counters. Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.95, 2005-03-05 09:34:42-08:00, olh@suse.de [PATCH] ppc64: use vmlinux during make install on ppc64 make install passes the zImage to the installkernel script. When an initrd is used, this script has to pull out the vmlinux from the zImage because yaboot can not boot a zImage+initrd combo. It can only handle vmlinux+initrd or zImage.initrd. Its simple to just pass the plain vmlinux instead. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.94, 2005-03-05 09:34:28-08:00, olh@suse.de [PATCH] ppc64: disable HMT for RS64 cpus Hardware multithreading for RS64 cpus is currently broken. Anton sent me a patch a few weeks ago, but it did not work. So just hide the config option for the time being. Signed-off-by: Olaf Hering Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.93, 2005-03-05 09:34:14-08:00, akpm@osdl.org [PATCH] ppc64: generic hotplug cpu support fix Fix a false-positive from the smp_processor_id() debugging code. Idle threads are per-cpu anwyay. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.92, 2005-03-05 09:34:00-08:00, zwane@arm.linux.org.uk [PATCH] ppc64: generic hotplug cpu support Patch provides a generic hotplug cpu implementation, with the only current user being pmac. This doesn't replace real hotplug code as is currently used by LPAR systems. Ben i can add the additional pmac specific code to put the processor into a sleeping state seperately. Thanks to Nathan for testing. Signed-off-by: Zwane Mwaikambo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.91, 2005-03-05 09:33:46-08:00, akpm@osdl.org [PATCH] ppc64-implement-a-vdso-and-use-it-for-signal-trampoline gas workaround I cannot find a version of binutils which doesn't either do arch/ppc64/kernel/vdso32/gettimeofday.S: Assembler messages: arch/ppc64/kernel/vdso32/gettimeofday.S:33: Error: syntax error; found `@' but expected `,' or arch/ppc64/kernel/vdso32/gettimeofday.S: Assembler messages: arch/ppc64/kernel/vdso32/gettimeofday.S:33: Internal error, aborting at ../../gas/config/tc-ppc.c line 2658 in md_assemble Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.90, 2005-03-05 09:33:32-08:00, benh@kernel.crashing.org [PATCH] ppc64: Implement a vDSO and use it for signal trampoline This patch adds to the ppc64 kernel a virtual .so (vDSO) that is mapped into every process space, similar to the x86 vsyscall page. However, the implementation is very different (and doesn't use the gate area mecanism). Actually, it contains two implementations, a 32 bits and a 64 bits one. These vDSO's are currently mapped at 0x100000 (+1Mb) when possible (when a process load section isn't already there). In the future, we can randomize that address, or even imagine having a special phdr entry letting apps that wnat finer control over their address space to put it elsewhere (or not at all). The implementation adds a hook to binfmt_elf to let the architecture add a real VMA to the process space instead of using the gate area mecanism. This mecanism wasn't very suitable for ppc, we couldn't just "shove" PTE entries mapping kernel addresses into userland without expensive changes to our hash table management. Instead, I made the vDSO be a normal VMA which, additionally, means it supports copy-on-write semantics if made writable via ptrace/mprotect, thus allowing breakpoints in the vDSO code. The current implementation of the vDSOs contain the signal trampolines with appropriate DWARF informations, which enable us to use non-executable stacks (patches to come later) along with a few more functions that we hope glibc will soon make good use of (this is the "hard" part now :) Note that the symbols exposed by the vDSO aren't "normal" function symbols, apps can't be expected to link against them directly, the vDSO's are both seen as if they were linked at 0 and the symbols just contain offsets to the various functions. This is done on purpose to avoid a relocation step (ppc64 functions normally have descriptors with abs addresses in them). When glibc uses those functions, it's expected to use it's own trampolines that know how to reach them. In some cases, the vDSO contains several versions of a given function (for various CPUs), the kernel will "patch" the symbol table at boot to make it point to the appropriate one transparently. What is currently implemented is: - int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz); This is a fully userland implementation of gettimeofday, with no barriers and no locks, and providing 100% equivalent results to the syscall version - void __kernel_sync_dicache(unsigned long start, unsigned long end) This function sync's the data and instruction caches (for making data executable), it is expected that userland loaders use this instead of doing it themselves, as the kernel will provide optimized versions for the current CPU. Currently, the vDSO procides a full one for all CPUs prior to POWER5 and a nop one for POWER5 which implements hardware snooping at the L1 level. In the future, an intermediate implementation may be done for the POWER4 and 970 which don't need the "dcbst" loop (the L1D cache is write-through on those). - void *__kernel_get_syscall_map(unsigned int *syscall_count); Returns a pointer to a map of implemented syscalls on the currently running kernel. The map is agnostic to the size of "long", unlike kernel bitops, it stores bits from top to bottom so that memory actually contains a linear bitmap check for syscall N by testing bit (0x80000000 >> (N & 0x1f)) of * 32 bits int at N >> 5. Note about backward compatibility issues: A bug in the ppc64 libgcc unwinder makes it unable to unwind stacks properly accross signals if the signal trampoline isn't on the stack. This has been fixed in CVS for gcc 4.0 and will be soon on the stable branch, but the problem exist will all currently used versions. That means that until glibc gets the patch to enable it's use of the vDSO symbols for the DWARF unwinder (rather trivial patch that will be pushed to glibc CVS soon hopefully), unwinding from a signal handler will not work for 64 bits applications. I consider this as a non-issue though as a patch is about to be produced, which can easily get pushed to "live" distros like debian, gentoo, fedora, etc... soon enough (it breaks compatilbity with kernels below 2.4.20 unfortunately as our signal stack layout changed, crap crap crap), as there are few 64 bits applications out there (expect gentoo), as it's only really an issue with C++ code relying on throwing exceptions out of signal handlers (extremely rare it seems), and as "release" distros like SLES or RHEL will probably have the vDSO enabled glibc _and_ the unwinder fix by the time they release a version with a 2.6.11 or 2.6.12 kernel anyway :) So far, I yet have to see an app failing because of that... Finally, many many many thanks to Alan Modra for writing the DWARF information of the signal handlers and debugging the libgcc issues ! Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.89, 2005-03-05 09:33:16-08:00, sfr@canb.auug.org.au [PATCH] ppc64: distribute EXPORT_SYMBOLs This patch just moves as many as possible EXPORT_SYMBOL()s from arch/ppc64/kernel/ppc_ksyms.c to where the symbols are defined. This has been compiled on pSeries, iSeries and pmac. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.88, 2005-03-05 09:33:01-08:00, olh@suse.de [PATCH] ppc64: defconfig updates Update several ppc64 defconfigs. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.87, 2005-03-05 09:32:46-08:00, benh@kernel.crashing.org [PATCH] ppc64: Move systemcfg out of head.S The "systemcfg" data structure in the ppc64 kernel is something that used to be defined to be at a hard-coded page number in the kernel image. This is not necessary (at least not any more) and is a possible problem with future developements. This patch removes that constraint, which also simplifies various bits of assembly in head.S that were dealing with it. This is the first step of a deeper cleanup of systemcfg definition of usage (and ultimately removal in it's current incarnation). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.86, 2005-03-05 09:32:31-08:00, paulus@samba.org [PATCH] ppc64: collect and export low-level cpu usage statistics POWER5 machines have a per-hardware-thread register which counts at a rate which is proportional to the percentage of cycles on which the cpu dispatches an instruction for this thread (if the thread gets all the dispatch cycles it counts at the same rate as the timebase register). This register is also context-switched by the hypervisor. Thus it gives a fine-grained measure of the actual cpu usage by the thread over time. This patch adds code to read this register every timer interrupt and on every context switch. The total over all virtual processors is available through the existing /proc/ppc64/lparcfg file, giving a way to measure the total cpu usage over the whole partition. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.85, 2005-03-05 09:32:17-08:00, olh@suse.de [PATCH] remove unneeded includes from pSeries_nvram.c The pseries nvram driver started probably as a copy of nvram.c. These includes are not needed to build it. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.84, 2005-03-05 09:32:03-08:00, galak@freescale.com [PATCH] ppc32: PowerQUICC II Pro subarch support Patch adds support for the initial PowerQUICC II Pro processors (MPC8343/E, MPC8347/E, and MPC8349/E) and the first reference platform (MPC834x SYS) from Freescale. The initial support is limited to existing drivers that overlap with the MPC85xx subarch (ethernet, I2C, uart). Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.83, 2005-03-05 09:31:47-08:00, galak@freescale.com [PATCH] ppc32: Trivial bug fix in CRITICAL_EXCEPTION macro This patch fixes a trival bug in the CRITICAL_EXCEPTION macro Signed-off-by: Takeharu KATO Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.82, 2005-03-05 09:31:34-08:00, galak@freescale.com [PATCH] ppc32: Add support to use the DS1553 RTC/NVRAM on MPC8555 CDS system This patch makes the MPC8555 CDS system utilize the DS1553 RTC/NVRAM. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.81, 2005-03-05 09:31:20-08:00, galak@freescale.com [PATCH] ppc32: Add support for the Dallas 1553 RTC/NVRAM This patch adds support for the Dallas 1553 RTC/NVRAM. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.80, 2005-03-05 09:31:06-08:00, mporter@kernel.crashing.org [PATCH] ppc32: support OpenBIOS/U-Boot for Ebony This patch adds support for OpenBios on Ebony, as Matt Porter has suggested. It will provide same functionality as the pibs extension for Luan and Ocotea. Signed-off-by: Gerhard Jaeger Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.79, 2005-03-05 09:30:51-08:00, mgreer@mvista.com [PATCH] ppc32: Add GPIO/IRQ definitions for mv64x60 parts Add mv64x60 GPP IO pin/IRQ register definitions Signed-off-by: James Chapman Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.78, 2005-03-05 09:30:37-08:00, mgreer@mvista.com [PATCH] ppc32: mv64360_pic non-zero irq base Add support for non-zero irq base to mv64360_pic code. - Fix mv64360 pic code to handle non-zero mv64x60_irq_base - Cleanup mv64360 entries in /proc/interrupts Signed-off-by: James Chapman Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.77, 2005-03-05 09:30:23-08:00, galak@freescale.com [PATCH] ppc32: Move from using #define SVR_ to cur_ppc_sys_spec name for 85xx platform Removes explicit defines for SVR_85xx and use the information in the ppc_sys_specs table in platform code. Changed the ppc_sys_name strings to be a bit more generic so we have a bit more flexilibity when we display them. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.76, 2005-03-05 09:30:10-08:00, galak@freescale.com [PATCH] ppc32: fix whitespace for 85xx CDS common platform Fix whitespace in arch/ppc/platforms/85xx/mpc85xx_cds_common.c Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.75, 2005-03-05 09:29:56-08:00, benh@kernel.crashing.org [PATCH] ppc32: Bogus definition of __cmpxchg_u32() This patch fix bogus types in the definition of __cmpxchg_u32() on ppc32. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.74, 2005-03-05 09:29:42-08:00, mgreer@mvista.com [PATCH] ppc32: incorrect #define in include/asm-ppc/cpm2.h This patch fixes the incorrect definition of a macro that sets the transmit parity to even on a cpm uart device. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.73, 2005-03-05 09:29:28-08:00, ebs@ebshome.net [PATCH] ppc32: PPC4xx PIC: ack parent UIC in disable_irq This patch fixes bug in PPC4xx disable_irq implementation. We need to ACK parent UIC to prevent false triggering in case IRQ we just disabled was already pending. Signed-off-by: Eugene Surovegin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.72, 2005-03-05 09:29:14-08:00, ebs@ebshome.net [PATCH] ppc32: Lindentify PPC4xx PIC driver This patch fixes whitespace in PPC4xx PIC driver. Signed-off-by: Eugene Surovegin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.71, 2005-03-05 09:28:59-08:00, mporter@kernel.crashing.org [PATCH] ppc32: move irq_desc[].status, IRQ_LEVEL bit setup to xilinx_pic.c Move the code that informs the kernel if the particular interrupt is edge triggered or level sensitive from the board specific file to a "CONFIG_VIRTEX_II_PRO-specific" file. Using old IRQ numbering in that code is also fixed. Signed-off-by: Andrei Konovalov Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.70, 2005-03-05 09:28:45-08:00, mgreer@mvista.com [PATCH] ppc32: Artesyn Katana enet update - Adapt Katana to the new names used by the ethernet driver. - Remove SRAM allocation code for mv643xx_enet until it's had more review. Signed-off-by: Dale Farnsworth Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.69, 2005-03-05 09:28:32-08:00, mgreer@mvista.com [PATCH] ppc32: Artesyn Katana platform update - Adds MTD support for the soldered FLASH - Adds cmdline parsing - Turns on the Blue LED when the system is halted - Moves some of the device window left by the firmware to proper alignments - Handles possibility of different frequencies for TCLK & SysCLK in 64460 - Misc. code clean up Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.68, 2005-03-05 09:28:17-08:00, olh@suse.de [PATCH] ppc32: update arch/ppc/configs/pmac_defconfig enable drm/agp, cpufreq, pppoe and new pccard option Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.67, 2005-03-05 09:28:04-08:00, mgreer@mvista.com [PATCH] ppc32: fix mv64x60 register relocation bug in bootwrapper The gt64260 looks at the highest 20 bits while the mv64[34]60 looks at only the highest 16 bits when determining the base address for the bridge's registers. This patch adds support for both. Signed-off-by: Nate Case Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.66, 2005-03-05 09:27:51-08:00, trini@kernel.crashing.org [PATCH] ppc32: Don't create .tmp_gas_check This changes how the ppc32 'checkbin' target works. Previously we did all of the tests using variables which would be evaluated for any and every make target. This meant that 'make tags' for example would leave behind a '.tmp_gas_check' file even though we didn't actually compile up anything, and would get in the way of diffs. By moving all of this logic directly into the 'checkbin' target, we only test gcc/gas versions when we're going to compile. Signed-off-by: Olaf Hering Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.65, 2005-03-05 09:27:37-08:00, olof@austin.ibm.com [PATCH] PPC/PPC64: Abstract cpu_feature checks. Abstract most manual mask checks of cpu_features with cpu_has_feature() Signed-off-by: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.64, 2005-03-05 09:27:21-08:00, bill.irwin@oracle.com [PATCH] make mapping->tree_lock an rwlock Convert mapping->tree_lock to an rwlock. with: dd if=/dev/zero of=foo bs=1 count=2M 0.80s user 4.15s system 99% cpu 4.961 total dd if=/dev/zero of=foo bs=1 count=2M 0.73s user 4.26s system 100% cpu 4.987 total dd if=/dev/zero of=foo bs=1 count=2M 0.79s user 4.25s system 100% cpu 5.034 total dd if=foo of=/dev/null bs=1 0.80s user 3.12s system 99% cpu 3.928 total dd if=foo of=/dev/null bs=1 0.77s user 3.15s system 100% cpu 3.914 total dd if=foo of=/dev/null bs=1 0.92s user 3.02s system 100% cpu 3.935 total (3.926: 1.87 usecs) without: dd if=/dev/zero of=foo bs=1 count=2M 0.85s user 3.92s system 99% cpu 4.780 total dd if=/dev/zero of=foo bs=1 count=2M 0.78s user 4.02s system 100% cpu 4.789 total dd if=/dev/zero of=foo bs=1 count=2M 0.82s user 3.94s system 99% cpu 4.763 total dd if=/dev/zero of=foo bs=1 count=2M 0.71s user 4.10s system 99% cpu 4.810 tota dd if=foo of=/dev/null bs=1 0.76s user 2.68s system 100% cpu 3.438 total dd if=foo of=/dev/null bs=1 0.74s user 2.72s system 99% cpu 3.465 total dd if=foo of=/dev/null bs=1 0.67s user 2.82s system 100% cpu 3.489 total dd if=foo of=/dev/null bs=1 0.70s user 2.62s system 99% cpu 3.326 total (3.430: 1.635 usecs) So on a P4, the additional cost of the rwlock is ~240 nsecs for a one-byte-write(). On the other hand: From: Peter Chubb As part of the Gelato scalability focus group, we've been running OSDL's Re-AIM7 benchmark with an I/O intensive load with varying numbers of processors. The current kernel shows severe contention on the tree_lock in the address space structure when running on tmpfs or ext2 on a RAM disk. Lockstat output for a 12-way: SPINLOCKS HOLD WAIT UTIL CON MEAN( MAX ) MEAN( MAX )(% CPU) TOTAL NOWAIT SPIN RJECT NAME 5.5% 0.4us(3177us) 28us( 20ms)(44.2%) 131821954 94.5% 5.5% 0.00% *TOTAL* 72.3% 13.1% 0.5us( 9.5us) 29us( 20ms)(42.5%) 50542055 86.9% 13.1% 0% find_lock_page+0x30 23.8% 0% 385us(3177us) 0us 23235 100% 0% 0% exit_mmap+0x50 11.5% 0.82% 0.1us( 101us) 17us(5670us)( 1.6%) 50665658 99.2% 0.82% 0% dnotify_parent+0x70 Replacing the spinlock with a multi-reader lock fixes this problem, without unduly affecting anything else. Here are the benchmark results (jobs per minute at a 50-client level, average of 5 runs, standard deviation in parens) on an HP Olympia with 3 cells, 12 processors, and dnotify turned off (after this spinlock, the spinlock in dnotify_parent is the worst contended for this workload). tmpfs............... ext2............... #CPUs spinlock rwlock spinlock rwlock 1 7556(15) 7588(17) +0.42% 3744(20) 3791(16) +1.25% 2 13743(31) 13791(33) +0.35% 6405(30) 6413(24) +0.12% 4 23334(111) 22881(154) -2% 9648(51) 9595(50) -0.55% 8 33580(240) 36163(190) +7.7% 13183(63) 13070(68) -0.85% 12 28748(170) 44064(238)+53% 12681(49) 14504(105)+14% And on a pentium3 single processsor: 1 4177(4) 4169(2) -0.2% 3811(4) 3820(3) +0.23% I'm not sure what's happening in the 4-processor case. The important thing to note is that with a spinlock, the benchmark shows worse performance for a 12 than for an 8-way box; with the patch, the 12 way performs better, as expected. We've done some runs with 16-way as well; without the patch below, the 16-way performs worse than the 12-way. It's a tricky tradeoff, but large-smp is hurt a lot more by the spinlocks than small-smp is by the rwlocks. And I don't think we really want to implement compile-time either-or-locks. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.63, 2005-03-05 09:27:06-08:00, zach.brown@oracle.com [PATCH] only unmap what intersects a direct_IO op Now that we're only invalidating the pages that intersected a direct IO write we might as well only unmap the intersecting bytes as well. This passed a light fsx load with page cache, direct, and mmap IO. Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.62, 2005-03-05 09:26:52-08:00, zach.brown@oracle.com [PATCH] write and wait on range before direct io read This adds filemap_write_and_wait_range(mapping, lstart, lend) which starts writeback and waits on a range of pages. We call this from __blkdev_direct_IO with just the range that is going to be read by the direct_IO read. It was lightly tested with fsx and ext3 and passed. Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.61, 2005-03-05 09:26:38-08:00, zach.brown@oracle.com [PATCH] invalidate range of pages after direct IO write Presently we invalidate all of a file's pages when writing to any part of that file with direct-IO. After a direct IO write only invalidate the pages that the write intersected. invalidate_inode_pages2_range(mapping, pgoff start, pgoff end) is added and called from generic_file_direct_IO(). While we're in there, invalidate_inode_pages2() was calling unmap_mapping_range() with the wrong convention in the single page case. It was providing the byte offset of the final page rather than the length of the hole being unmapped. This is also fixed. This was lightly tested with a 10k op fsx run with O_DIRECT on a 16MB file in ext3 on a junky old IDE drive. Totaling vmstat columns of blocks read and written during the runs shows that read traffic drops significantly. The run time seems to have gone down a little. Two runs before the patch gave the following user/real/sys times and total blocks in and out: 0m28.029s 0m20.093s 0m3.166s 16673 125107 0m27.949s 0m20.068s 0m3.227s 18426 126094 and after the patch: 0m26.775s 0m19.996s 0m3.060s 3505 124982 0m26.856s 0m19.935s 0m3.052s 3505 125279 akpm: - Don't look up more pages than we're going to use - Don't test page->index until we've locked the page - Check for the cursor wrapping at the end of the mapping. Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.60, 2005-03-05 09:26:24-08:00, clameter@sgi.com [PATCH] Move accounting function calls out of critical vm code paths In the 2.6.11 development cycle function calls have been added to lots of hot vm paths to do accounting. I think these should not go into the final 2.6.1 release because these statistics can be collected in a different way that does not require the updating of counters from frequently used vm code paths and is consistent with the methods use elsewhere in the kernel to obtain statistics. These function calls are acct_update_integrals -> Account for processes based on stime changes update_mem_hiwater -> takes rss and total_vm hiwater marks. acct_update_integrals is only useful to call if stime changes otherwise it will simply return. It is therefore best to relocate the function call to acct_update_integral into the function that updates stime which is account_system_time and remove it from the vm code paths. update_mem_hiwater finds the rss hiwater mark. We call that from timer context as well. This means that processes' high-water marks are now sampled statistically, at timer-interrupt time rather than deterministically. This may or may not be a problem.. This means that the rss limit is not always updated if rss is increased and thus not as accurate. But the benefit is that the rss checks do no pollute the vm paths and that it is consistent with the rss limit check. The following patch removes acct_update_integrals and update_mem_hiwater from the hot vm paths. Signed-off-by: Christoph Lameter From: Jay Lan The new "move-accounting-function-calls-out-of-critical-vm-code-paths" patch in 2.6.11-rc3-mm2 was different from the code i tested. In particular, it mistakenly dropped the accounting routine calls in fs/exec.c. The calls in do_execve() are needed to properly initialize accounting fields. Specifically, the tsk->acct_stimexpd needs to be initialized to tsk->stime. I have discussed this with Christoph Lameter and he gave me full blessings to bring the calls back. Signed-off-by: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.59, 2005-03-05 09:26:09-08:00, arjan@infradead.org [PATCH] Randomisation: top-of-stack randomization In addition to randomisation of the stack pointer within the stack, the stack itself should be randomized too. We need both approaches, we can only randomize the stack itself in pagesize increments. However randomizing large ranges with the stackpointer runs into the situation where a huge chunk of the stack rlimit is used by the randomisation; this is undesirable so we need to do both. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.58, 2005-03-05 09:25:55-08:00, arjan@infradead.org [PATCH] Randomisation: add ADDR_NO_RANDOMIZE personality Introduce a personality that disables randomisation, so that users can use setarch and related commands to run specific applications without randomisation. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.57, 2005-03-05 09:25:41-08:00, arjan@infradead.org [PATCH] Randomisation: enable by default Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.56, 2005-03-05 09:25:27-08:00, arjan@infradead.org [PATCH] Randomisation: mmap randomisation The patch below randomizes the starting point of the mmap area. This has the effect that all non-prelinked shared libaries and all bigger malloc()s will be randomized between various invocations of the binary. Prelinked binaries get a address-hint from ld.so in their mmap and are thus exempt from this randomisation, in order to not break the prelink advantage. The randomisation range is 1 megabyte (this is bigger than the stack randomisation since the stack randomisation only needs 16 bytes alignment while the mmap needs page alignment, a 64kb range would not have given enough entropy to be effective) Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.55, 2005-03-05 09:25:13-08:00, arjan@infradead.org [PATCH] Randomisation: stack randomisation The patch below replaces the existing 8Kb randomisation of the userspace stack pointer (which is currently only done for Hyperthreaded P-IVs) with a more general randomisation over a 64Kb range. 64Kb is not a lot, but it's a start and once the dust settles we can increase this value to a more agressive value. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.54, 2005-03-05 09:24:57-08:00, arjan@infradead.org [PATCH] Randomisation: add PF_RANDOMIZE Even though there is a global flag to disable randomisation, it's useful to have a per process flag too; the patch below introduces this per process flag and automatically sets it for "new" binaries. Eventually we will want to tie this to the legacy-va-space personality Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.53, 2005-03-05 09:24:44-08:00, arjan@infradead.org [PATCH] Randomisation: infrastructure The patch below introduces get_random_int() and randomize_range(), two helpers used in later patches in the series. get_random_int() shares the tcp/ip random number stuff so the CONFIG_INET ifdef needs to move slightly, and to reduce the damange due to that, secure_ip_id() needs to move inside random.c From: Frank Sorenson Acked-By: Jeff Dike The stack randomization patches that went into 2.6.11-rc3-mm1 broke compilation of ARCH=um. This patch fixes compiling by adding arch_align_stack back in. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Frank Sorenson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.52, 2005-03-05 09:24:30-08:00, arjan@infradead.org [PATCH] Randomisation: global sysctl This first patch of the series introduces a sysctl (default off) that enables/disables the randomisation feature globally. Since randomisation may make it harder to debug really tricky situations (reproducability goes down), the sysadmin needs a way to disable it globally. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.51, 2005-03-05 09:24:16-08:00, galak@freescale.com [PATCH] initialize a spin lock in CPM2 uart driver Static initialization of spin locks that are otherwise accessed prior to initialization. Signed-off-by: Jaka Mocnik Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.50, 2005-03-05 09:24:03-08:00, sean.hefty@intel.com [PATCH] IB: MAD cancel callbacks from thread Modify ib_cancel_mad() to invoke a user's send completion callback from a different thread context than that used by the caller. This allows a caller to hold a lock while calling cancel that is also acquired from their send handler. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.49, 2005-03-05 09:23:48-08:00, mst@mellanox.co.il [PATCH] IB/mthca: implement query of device caps Set device_cap_flags field in mthca's query_device method. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.48, 2005-03-05 09:23:36-08:00, mst@mellanox.co.il [PATCH] IB/mthca: QP locking optimization 1. Split the QP spinlock into separate send and receive locks. The only place where we have to lock both is upon modify_qp, and that is not on data path. 2. Avoid taking any QP locks when polling CQ. This last part is achieved by getting rid of the cur field in mthca_wq, and calculating the number of outstanding WQEs by comparing the head and tail fields. head is only updated by post, tail is only updated by poll. In a rare case where an overrun is detected, a CQ is locked and the overrun condition is re-tested, to avoid any potential for stale tail values. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.47, 2005-03-05 09:23:21-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free multicast table Tie up one last loose end by mapping enough context memory to cover the whole multicast table during initialization, and then enable mem-free mode. mthca now supports enough of mem-free mode so that IPoIB works with a mem-free HCA. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.46, 2005-03-05 09:23:08-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free work request posting Implement posting send and receive work requests for mem-free mode. Also tidy up a few things in send/receive posting for Tavor mode (fix smp_wmb()s that should really be just wmb()s, annotate tests in the fast path with likely()/unlikely()). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.45, 2005-03-05 09:22:54-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free address vectors Update address vector handling to support mem-free mode. In mem-free mode, the address vector (in hardware format) is copied by the driver into each send work queue entry, so our address handle creation can become pretty trivial: we just kmalloc() a buffer to hold the formatted address vector. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.44, 2005-03-05 09:22:41-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free QP initialization Update QP initialization and cleanup to handle mem-free mode. In mem-free mode, work queue sizes have to be rounded up to a power of 2, we need to allocate doorbells, there must be memory mapped for the entries in the QP and extended QP context table that we use, and the entries of the receive queue must be initialized. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.43, 2005-03-05 09:22:27-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free CQ operations Add support for CQ data path operations (request notification, update consumer index) in mem-free mode. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.42, 2005-03-05 09:22:12-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free CQ initialization Update CQ initialization and cleanup to handle mem-free mode: we need to make sure the HCA has memory mapped for the entry in the CQ context table we will use and also allocate doorbell records. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.41, 2005-03-05 09:21:58-08:00, roland@topspin.com [PATCH] IB/mthca: refactor CQ buffer allocate/free Factor the allocation and freeing of completion queue buffers into mthca_alloc_cq_buf() and mthca_free_cq_buf(). This makes the code more readable and will eventually make handling userspace CQs simpler (the kernel doesn't have to allocate a buffer at all). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.40, 2005-03-05 09:21:44-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free doorbell record writing Add a mthca_write_db_rec() to wrap writing doorbell records. On 64-bit archs, this is just a 64-bit write, while on 32-bit archs it splits the write into two 32-bit writes with a memory barrier to make sure the two halves of the record are written in the correct order. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.39, 2005-03-05 09:21:30-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free doorbell record allocation Mem-free mode requires the driver to allocate additional doorbell pages for each user access region. Add support for this in mthca_memfree.c, and have the driver allocate a table in db_tab for kernel use. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.38, 2005-03-05 09:21:17-08:00, roland@topspin.com [PATCH] IB/mthca: tweak MAP_ICM_page firmware command Have MAP_ICM_page() firmware command map assume pages are always the HCA-native 4K size rather than using the kernel's page size. This will make handling doorbell pages for mem-free mode simpler. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.37, 2005-03-05 09:21:04-08:00, roland@topspin.com [PATCH] IB/mthca: tweak firmware command debug messages Slightly improve debugging output for UNMAP_ICM and MODIFY_QP firmware commands. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.36, 2005-03-05 09:20:51-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free interrupt handling Update interrupt handling code to handle mem-free mode. While we're at it, improve the Tavor interrupt handling to avoid an extra MMIO read of the event cause register. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.35, 2005-03-05 09:20:37-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free EQ initialization Add code to initialize EQ context properly in both Tavor and mem-free mode. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.34, 2005-03-05 09:20:23-08:00, roland@topspin.com [PATCH] IB/mthca: mem-free memory region support Add support for mem-free mode to memory region code. This mostly amounts to properly munging between keys and indices. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.33, 2005-03-05 09:20:10-08:00, roland@topspin.com [PATCH] IB/mthca: dynamic context memory mapping for mem-free mode Add support for mapping more memory into HCA's context to cover context tables when new objects are allocated. Pass the object size into mthca_alloc_icm_table(), reference count the ICM chunks, and add new mthca_table_get() and mthca_table_put() functions to handle mapping memory when allocating or destroying objects. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.32, 2005-03-05 09:19:57-08:00, roland@topspin.com [PATCH] IB/mthca: add UAR allocation Add support for allocating user access regions (UARs). Use this to allocate a region for kernel at driver init instead using hard-coded MTHCA_KAR_PAGE index. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.31, 2005-03-05 09:19:43-08:00, roland@topspin.com [PATCH] IB/mthca: map registers for mem-free mode Move the request/ioremap of regions related to event handling into mthca_eq.c. Map the correct regions depending on whether we're in Tavor or native mem-free mode. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.30, 2005-03-05 09:19:29-08:00, mst@mellanox.co.il [PATCH] IB: remove unsignaled receives Remove support for unsignaled receive requests. This is a non-standard extension to the IB spec that is not used by any known applications or protocols, and is not supported by newer hardware. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.29, 2005-03-05 09:19:15-08:00, roland@topspin.com [PATCH] IB/mthca: CQ cleanups Simplify some of the code for CQ handling slightly. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.28, 2005-03-05 09:19:00-08:00, mst@mellanox.co.il [PATCH] IB/mthca: improve CQ locking part 2 Locking during the poll cq operation can be reduced by locking the cq while qp is being removed from the qp array. This also avoids an extra atomic operation for reference counting. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.27, 2005-03-05 09:18:47-08:00, mst@mellanox.co.il [PATCH] IB/mthca: improve CQ locking part 1 Avoid taking the CQ table lock in the fast path path by using synchronize_irq() after removing a CQ from the table to make sure that no completion events are still in progress. This gets a nice speedup (about 4%) in IP over IB on my hardware. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.26, 2005-03-05 09:18:33-08:00, mst@mellanox.co.il [PATCH] IB/mthca: CQ minor tweaks Clean up CQ code so that we only calculate the address of a CQ entry once when using it. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.25, 2005-03-05 09:18:19-08:00, sean.hefty@intel.com [PATCH] IB: fix ib_find_cached_gid() port numbering Fix ib_find_cached_gid() to return the correct port number relative to the port numbering used by the device. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.24, 2005-03-05 09:18:04-08:00, roland@topspin.com [PATCH] IB/ipoib: fix locking on path deletion Fix up locking for IPoIB path table. Make sure that destruction of address handles, neighbour info and path structs is locked properly to avoid races and deadlocks. (Problem originally diagnosed by Shirley Ma) Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.23, 2005-03-05 09:17:51-08:00, xma@us.ibm.com [PATCH] IB/ipoib: don't call ipoib_put_ah with lock held ipoib_put_ah() may call ipoib_free_ah(), which might take the device's lock. Therefore we need to make sure we don't call ipoib_put_ah() when holding the lock already. Signed-off-by: Shirley Ma Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.22, 2005-03-05 09:17:36-08:00, xma@us.ibm.com [PATCH] IB/ipoib: small fixes IPoIB small fixes: Initialize path->ah to NULL, and fix dereference after free of neigh in error path of neigh_add_path(). Signed-off-by: Shirley Ma Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.21, 2005-03-05 09:17:23-08:00, roland@topspin.com [PATCH] IB/ipoib: rename global symbols Make IPoIB data_debug_level module parameter static to the single file where it is used. Also Rename IPoIB module parameter variable from "debug_level" to "ipoib_debug_level". This avoids possible name clashes if IPoIB is built into the kernel. We use module_param_named so that the user-visible parameter names remain the same. Signed-off-by: Tom Duffy Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.20, 2005-03-05 09:17:09-08:00, xma@us.ibm.com [PATCH] IB/ipoib: use list_for_each_entry_safe when required Change uses of list_for_each_entry() where the loop variable is freed inside the loop to list_for_each_entry_safe(). Signed-off-by: Shirley Ma Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.19, 2005-03-05 09:16:56-08:00, roland@topspin.com [PATCH] IB/ipoib: fix rx memory leak Fix memory leak when posting a receive buffer (pointed out by Shirley Ma). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.18, 2005-03-05 09:16:43-08:00, roland@topspin.com [PATCH] IB/mthca: fix reset value endianness MTHCA_RESET_VALUE must always be swapped, since the HCA expects to see it in big-endian order and we write it with writel. This means on little-endian systems we have to swap it to big-endian order before writing, and on big-endian systems we need to swap it to make up for the additional swap that writel will do. This fixes resetting the HCA on big-endian machines. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.17, 2005-03-05 09:16:29-08:00, roland@topspin.com [PATCH] IB/mthca: add missing break Add missing break statements in switch in mthca_profile.c (pointed out by Michael Tsirkin). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.16, 2005-03-05 09:16:17-08:00, tduffy@sun.com [PATCH] IB: sparse fixes Fix some sparse warnings by making sure we have appropriate "extern" declarations visible. Signed-off-by: Tom Duffy Signed-off-by: Hal Rosenstock ( Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.15, 2005-03-05 09:16:03-08:00, shaharf@voltaire.com [PATCH] IB: fix vendor MAD deregistration Fix bug when deregistering a vendor class MAD agent. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.14, 2005-03-05 09:15:49-08:00, halr@voltaire.com [PATCH] IB: simplify MAD code Remove unneeded MAD agent registration by using a single agent for both directed-route and LID-routed MADs. Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.13, 2005-03-05 09:15:36-08:00, yuasa@hh.iij4u.or.jp [PATCH] audit mips fix CC arch/mips/kernel/ptrace.o arch/mips/kernel/ptrace.c: In function 'do_syscall_trace': arch/mips/kernel/ptrace.c:310: warning: implicit declaration of function 'audit_syscall_entry' arch/mips/kernel/ptrace.c:310: error: 'struct pt_regs' has no member named 'orig_eax' arch/mips/kernel/ptrace.c:314: warning: implicit declaration of function 'audit_syscall_exit' Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.12, 2005-03-05 09:15:23-08:00, rddunlap@osdl.org [PATCH] aoe: fix printk warning u64's are not longlongs on sparc64 and ppc64. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.11, 2005-03-05 09:15:09-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: discard CACHE_HASHED flag, keeping information in refcount instead. This patch should fix a problem that has been experienced on at-least one busy NFS server, but it has not had lots of testing yet. If -mm could provide that ..... The rpc auth cache currently differentiates between a reference due to being in a hash chain (signalled by CACHE_HASHED flag) and any other reference (counted in refcnt). This is an artificial difference due to an historical accident, and it makes cache_put unsafe. This patch removes the distinction so now existance in a hash chain is counted just like any other reference. Thus a race window in cache_put is closed. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.10, 2005-03-05 09:14:56-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: change nfsd reply cache to use list.h lists also kmalloc the cache one entry at a time, instead of in one big slab. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.9, 2005-03-05 09:14:42-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: global/static cleanups for nfsd The patch below contains the following cleanups: - make some needlessly global code static Signed-off-by: Adrian Bunk Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.8, 2005-03-05 09:14:29-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: nfsd: remove pg_authenticate field The pg_authenticate (now pg_authenticate_obsolete) callback was only being used by the nfs4 client callback code to circumvent the svcauth_unix code's insistence on checking all requests against the export table. With that problem solved, we no longer need it. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.7, 2005-03-05 09:14:15-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: lockd: don't try to match callback requests against export table On lockd callbacks, we're a client, and the source address is that of a server, so we shouldn't be trying to match the source address of the callback request against our export table. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.6, 2005-03-05 09:14:01-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: nfs4: use new pg_set_client method to simplify nfs4 callback authentication Use new pg_authenticate method to simplify nfs4 callback authentication. This also has the effect of changing the error return from rejectedcred to badcred. I believe the change is correct. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.5, 2005-03-05 09:13:48-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: svcrpc: move export table checks to a per-program pg_add_client method svcauth_null_accept() and svcauth_unix_accept() are currently hard-wired to check the source ip address on an incoming request against the export table, which make sense for nfsd but not necessarily for other rpc-based services. So instead we have the accept() method call a program-specific pg_authenticate() method. We also move the call to this method into svc_process instead of calling it from the flavor-specific accept() routines. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.4, 2005-03-05 09:13:35-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: svcrpc: rename pg_authenticate Later patches remove pg_authenticate and use the name for a different purpose; so rename it to pg_authenticate_obsolete for now. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.3, 2005-03-05 09:13:22-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: svcrpc: add a per-flavor set_client method Add a set_client method to the server rpc auth_ops struct, used to set the client (for the purposes of nfsd export authorization) using flavor-specific information. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.2, 2005-03-05 09:13:08-08:00, neilb@cse.unsw.edu.au [PATCH] nfsd: exportfs: reduce stack usage find_exported_dentry() declares char nbuf[NAME_MAX+1]; in 2 separate places, and gcc allocates space on the stack for both of them. Having just one of them will suffice, if we can put put with its scope. Reduces function stack usage on x86-32 from 0x230 to 0x130. Signed-off-by: Randy Dunlap Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.145.1, 2005-03-05 09:12:54-08:00, neilb@cse.unsw.edu.au [PATCH] SGI 921857: find broken with nohide on NFSv3 This patch makes "find" work when traversing nohide exports on NFSv3. The READDIRPLUS reply needs to not return a file handle for the ".." entry when the directory is a server side mountpoint, which would be the directory itself, otherwise the client remembers the wrong file handle and gets confused. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982.119.45, 2005-03-05 15:55:50+00:00, rmk@flint.arm.linux.org.uk [ARM] Remove ARM specific set_pmd() set_pmd has specific behaviour on ARM which may be unexpected. Since it is rather too close to macros used by other architectures, open code this functionality. Signed-off-by: Russell King ChangeSet@1.1982.119.44, 2005-03-05 14:29:38+00:00, rmk@flint.arm.linux.org.uk [ARM] Fix sparse warnings for ebsa110 IO implementation Signed-off-by: Russell King ChangeSet@1.1982.119.43, 2005-03-05 14:20:51+00:00, rmk@flint.arm.linux.org.uk [ARM] Add __iomem checking for __raw_{read,write}[bwl] Signed-off-by: Russell King ChangeSet@1.1982.144.5, 2005-03-05 14:22:13+01:00, marcel@holtmann.org [Bluetooth] Update entry for the BPA 100/105 driver This patch adds the missing entry for the BPA 100/105 driver into the MAINTAINERS file. Signed-off-by: Marcel Holtmann ChangeSet@1.1982.144.4, 2005-03-05 14:10:28+01:00, marcel@holtmann.org [Bluetooth] Enhance HCI callback interface This patch adds callback functions for changing the link key and switching the role to the Bluetooth core interface. Signed-off-by: Marcel Holtmann ChangeSet@1.1982.144.3, 2005-03-05 13:45:00+01:00, marcel@holtmann.org [Bluetooth] Convert clock offset value from little endian The clock offset value is stored in little endian and so convert it before showing it in the inquiry cache list. Signed-off-by: Marcel Holtmann ChangeSet@1.1982.144.2, 2005-03-05 13:31:32+01:00, marcel@holtmann.org [Bluetooth] Remove interruptible_sleep_on_timeout() usage Remove deprecated interruptible_sleep_on_timeout() function calls and replace them with direct wait-queue usage. Signed-off-by: Nishanth Aravamudan Signed-off-by: Marcel Holtmann ChangeSet@1.1982.144.1, 2005-03-05 13:29:30+01:00, marcel@holtmann.org [Bluetooth] Don't use ISOC transfers for sniffer devices The sniffer devices present themself as a full H:2 device, but actually they don't need any ISOC transfers and so don't start them. Signed-off-by: Marcel Holtmann ChangeSet@1.1982.122.4, 2005-03-04 20:21:20-08:00, davem@northbeach.davemloft.net.davemloft.net [TIGON3]: Update driver version and reldate. Signed-off-by: David S. Miller ChangeSet@1.1982.122.3, 2005-03-04 20:20:02-08:00, davem@northbeach.davemloft.net.davemloft.net [TIGON3]: Do not touch NIC_SRAM_FIRMWARE_MBOX when TG3_FLG2_SUN_570X. There is no firmware on these chips, so accessing this value is pointless. But, more importantly, touching this area on such chips results in PCI PIO timeouts. Signed-off-by: David S. Miller ChangeSet@1.1982.122.2, 2005-03-04 16:47:05-08:00, davem@northbeach.davemloft.net.davemloft.net [SPARC64]: Tomatillo PCI controller bug fixes. - Error handlers were mis-calculating ICLR register to ACK on Tomatillo. - PCI error handlers should not ACK other IRQ. - Fix Tomatillo version comparison for PCI Timeout Interval setting - Tomatillo PCI control register prefetch enable bits were off. - Tomatillo revs <= 1 need bit 61 set, all others should have it clear. This is in the PCI control register. Signed-off-by: David S. Miller ChangeSet@1.1982.121.40, 2005-03-04 16:12:52-08:00, torvalds@ppc970.osdl.org Merge bk://kernel.bkbits.net/gregkh/linux/pci-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1982.119.41, 2005-03-04 23:55:22+00:00, rmk@flint.arm.linux.org.uk [ARM] Fix two missed ether1_outw() function calls. Signed-off-by: Russell King ChangeSet@1.1982.119.40, 2005-03-04 23:13:29+00:00, nico@org.rmk.(none) [ARM PATCH] 2514/1: save iWMMXt context to ram before entering sleep mode Patch from Nicolas Pitre Signed-off-by: Nicolas Pitre Signed-off-by: Russell King ChangeSet@1.1982.143.1, 2005-03-04 22:07:11+00:00, rmk@flint.arm.linux.org.uk [MMC] Use bus dev_attrs instead of handling device attrs manually Convert MMC to use bus dev_attrs instead of handling the registration of these attributes itself. Signed-off-by: Russell King ChangeSet@1.1982.142.1, 2005-03-04 21:19:20+00:00, gtj.member@com.rmk.(none) [ARM PATCH] 2472/1: Updates 8250.c to correctly detect XScale UARTs Patch from George Joseph Modifications to autoconfig_16550a to add a testcase to detect XScale UARTS. Signed-off-by: George Joseph Signed-off-by: Russell King ChangeSet@1.1982.119.39, 2005-03-04 18:43:44+00:00, nico@org.rmk.(none) [ARM PATCH] 2513/1: more PXA27x regs to save for sleep mode Patch from Nicolas Pitre ... plus Mainstone bits. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King ChangeSet@1.1982.119.38, 2005-03-04 18:19:21+00:00, davis_g@com.rmk.(none) [ARM PATCH] 2459/1: ARMv6 supersections for static kernel direct mapped memory regions [updated] Patch from George G. Davis Use ARMv6 supersections for 16MiB static kernel direct mapped memory regions when possible. Based on comments received for the first version of this patch, this version has added a comment to clarify that ARMv6 supersections are only valid for the domain == 0 case and moved the supersection address mask and size macros before the hardware page table definitions. Signed-off-by: George G. Davis Signed-off-by: Russell King ChangeSet@1.1982.119.37, 2005-03-04 17:01:00+00:00, andrew@com.rmk.(none) [ARM PATCH] 1941/2: End-of-interrupt (irq_finish) macro on ARM Patch from SAN People On some ARM-based processor's (eg, Atmel's AT91RM9200) it is necessary to signal the end-of-interrupt to the interrupt controller. This is necessary so it can restore its internal priority levels, etc. This patch is equivalent to the version in the current 2.4 kernels. Patch now updated to 2.6.11 Signed-off-by: Andrew Victor Signed-off-by: Russell King ChangeSet@1.1982.119.36, 2005-03-04 16:47:29+00:00, rpurdie@net.rmk.(none) [ARM PATCH] 2510/1: PXA: Disable pxa_gpio_irq_type printks Patch from Richard Purdie The printks inside pxa_gpio_irq_type damage performance and are of little value in a production kernel. They should be disabled. Signed-off-by: Richard PurdieSigned-off-by: Nicolas Pitre Signed-off-by: Russell King ChangeSet@1.1982.119.35, 2005-03-04 16:24:42+00:00, tglx@de.rmk.(none) [ARM PATCH] 2477/1: Move double defined macro to header file Patch from Thomas Gleixner IRQ_DISPATCH is defined in two c files. Move it to the common header file. Signed-off-by: Thomas Gleixner Signed-off-by: Russell King ChangeSet@1.1982.119.34, 2005-03-03 23:15:05+00:00, nico@org.rmk.(none) [ARM PATCH] 2509/1: fix watchdog timer frequency for PXA27x Patch from Nicolas Pitre Signed-off-by: Nicolas Pitre Signed-off-by: Russell King ChangeSet@1.1982.119.33, 2005-03-03 22:57:33+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2512/1: S3C2410 - remove bast-cpld.h from include/asm-arm/arch-s3c2410/hardware.h Patch from Ben Dooks Remove the include of bast-cpld.h, as it shouldn't be here as it only defines some extra bast-specific registers, and does not affect the configuration of the hardware dependenat items. Ensure that the file is included in the one place it is needed and not included. This should discourage anyone else putting include files in which do not affect the over-all hardware definitions. Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.32, 2005-03-03 22:35:54+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2511/1: SMDK2440 - base machine support Patch from Ben Dooks SMDK2440 core board support Signed-off-by: Ben Dooks Signed-off-by: Dimitry Andric Signed-off-by: Russell King ChangeSet@1.1982.119.31, 2005-03-03 22:09:57+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2508/1: S3C2440 - timer and irq device updates Patch from Ben Dooks The patch does a number of updates, which are inter-dependant on each other, for the s3c2440 support and some clean-ups for all s3c24xx architecture in general. 1) Remove the s3c24xx_{fclk,hclk,pclk} variables, and pass these values to the clock core on initialisation. This removes the needless double copy, as only the timer code uses these directly (see point 4). Add an over-all xtal clock to the clock core 2) Add a sysdev driver to the clock code to ensure all the s3c2440 clocks are added if an s3c2440 is present. 3) Add the new IRQs to irq.c, and initialise them if the sysdev for the s3c2440 is present. 4) Change the timer code to request the timer clk and use it to get the frequency. Depends on patch 2467/1 Thanks to Guillaume Gourat for the original patches that prompted this re-write. Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.30, 2005-03-03 21:58:16+00:00, buytenh@org.rmk.(none) [ARM PATCH] 2491/1: make ixp2000 use section mappings for on-chip registers Patch from Lennert Buytenhek This patch makes the ixp2000 port use section mappings for on-chip registers. This has two advantages: 1. It saves some TLB entries. 2. It enables us to work around ixp2400 erratum #66, for which the suggested (and only) fix involves mapping all on-chip registers using XCB=101 instead of XCB=000. This patch was derived from an older patch for the same erratum (ARM patch ID 2265/1), made by Deepak Saxena. Note that this patch does not actually constitute a workaround for erratum #66, it merely lays the foundation for such a workaround. Signed-off-by: Lennert BuytenhekSigned-off-by: Deepak Saxena Signed-off-by: Russell King ChangeSet@1.1982.119.29, 2005-03-03 21:35:52+00:00, jelenz@edu.rmk.(none) [ARM PATCH] 2461/1: base support for poodle machine Patch from John Lenz Adds support for the Sharp Zaurus SL-5600 Add the ability to compile any collection of poodle and corgi support under the PXA_SHARPSL option. arch/arm/boot/compressed/head-sharpsl.S already has code to detect the poodle machine. Signed-off-by: John Lenz Signed-off-by: Russell King ChangeSet@1.1982.119.28, 2005-03-03 08:29:59+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2506/1: S3C2410 - dma descriptor slab Patch from Ben Dooks Use slab allocator instead of kmalloc() to allocate the dma buffer descriptors. This should allow the tracking of dma descriptors, and to check if they are being freed correctly. Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.27, 2005-03-03 08:13:07+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2503/1: S3C2410 - add brief documentation for HP IPAQ H1940 Patch from Ben Dooks Brief documentation for Documents/arm/Samsung-S3C24XX for the HP IPAQ H1940 Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.26, 2005-03-03 07:53:43+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2502/1: S3C2410 - watchdog during kernel uncompression Patch from Ben Dooks Enable the watchdog at the start of the kernel uncompression stage, so that if any errors occur before the kernel reaches the stage where it can start running processes then the system will be reset. Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.133.2, 2005-03-03 02:31:57-05:00, akpm@osdl.org [PATCH] VIA-Rhine: undork whitespace Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik ChangeSet@1.1982.141.1, 2005-03-02 23:18:01-08:00, gregkh@suse.de Merge suse.de:/home/greg/linux/BK/bleed-2.6 into suse.de:/home/greg/linux/BK/pci-2.6 ChangeSet@1.1982.140.2, 2005-03-03 00:56:29-05:00, jchapman@katalix.com [PATCH] mii: add GigE support Add support for GigE PHYs in MII support library. This patch allows GigE drivers to use the MII library the same way 10/100 drivers do. Since the MII library is already used by lots of network drivers and the GigE MII register bit definitions were reserved when many 10/100 PHYs were designed, the new GigE registers are accessed only if a driver specifically enables it. Existing 10/100 drivers should see no behavior differences with this change. Signed-off-by: James Chapman Signed-off-by: Jeff Garzik ChangeSet@1.1982.139.1, 2005-03-02 21:36:48-08:00, yoshfuji@linux-ipv6.org [TCP]: Put back tcp_timer_bug_msg[] symbol export. It is needed for tcp_reset_xmit_timer(), which is invoked by tcp_prequeue() which is invoked from tcp_ipv6.c Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller ChangeSet@1.1982.131.2, 2005-03-03 00:23:55-05:00, xose@wanadoo.es [PATCH] 2.6 eepro100: replace and delete duplicate ids - replace PCI_DEVICE_ID_INTEL_82557 and PCI_DEVICE_ID_INTEL_82559ER with theirs hex numbers - PCI_DEVICE_ID_INTEL_82801BA_7 is a duplicate of 0x2449. Signed-off-by: Jeff Garzik ChangeSet@1.1982.137.2, 2005-03-03 00:22:23-05:00, akpm@osdl.org [PATCH] drivers/net/wan/z85230.c interrupt handling fix From: tom watson While working on a driver for z85230 based board I noticed what looks like it could be a problem. If the interrupt handler is handling an interrupt on port b and an interrupt comes in for port a, it seems to me that the port b handler would be called instead of the port a handler, and possibly hang the board until reset. Attached is a patch to set the irq methods back to port a before attempting to call them. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik ChangeSet@1.1982.138.1, 2005-03-03 00:21:30-05:00, bunk@stusta.de [PATCH] drivers/scsi/sata_*: make code static This patch makes needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik ChangeSet@1.1982.137.1, 2005-03-03 00:19:59-05:00, khc@pm.waw.pl [PATCH] WAN drivers fix: N2, C101, PCI200SYN - quite fatal The last change to drivers/wan/hd6457x.c was a bit fatal to drivers using it - the attached patch fixes NULL pointer dereference on RX. I've updated URLs in MAINTAINERS and wan/Kconfig as well. Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik ChangeSet@1.1982.128.2, 2005-03-03 00:18:38-05:00, mporter@kernel.crashing.org [PATCH] emac: fix skb allocation for full-size jumbo frames Sets jumbo frame handling based on MTU and allocates rx buffers large to handle full-size jumbo frames. Signed-off-by: Matt Porter Signed-off-by: Jeff Garzik ChangeSet@1.1982.136.2, 2005-03-03 00:17:59-05:00, rddunlap@osdl.org [PATCH] tulip/de2104x: don't mix __init & __devinit sections tulip/de2104x: fix section usage, don't mix __init & __devinit: Error: ./drivers/net/tulip/de2104x.o .text refers to 000000000000176d R_X86_64_PC32 .init.text+0xfffffffffffffffc Error: ./drivers/net/tulip/de2104x.o .text refers to 0000000000001798 R_X86_64_PC32 .init.text+0xfffffffffffffffc Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik ChangeSet@1.1982.136.1, 2005-03-03 00:17:18-05:00, rddunlap@osdl.org [PATCH] net/wan/sbni: fix section usage net/wan/sbni data reference can be initdata: Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000000 R_X86_64_64 .init.data+0x0000000000000060 Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000008 R_X86_64_64 .init.data+0x0000000000000140 Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000010 R_X86_64_64 .init.data+0x0000000000000180 Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000018 R_X86_64_64 .init.data+0x0000000000000020 Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000020 R_X86_64_64 .init.data+0x00000000000001c0 Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik ChangeSet@1.1982.116.3, 2005-03-03 00:15:00-05:00, liml@rtr.ca [PATCH] sata_qstor: eh_timeout fix Here is an update to sata_qstor.c to enable full/proper register access during eh_timeout handling. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik ChangeSet@1.1982.125.3, 2005-03-03 00:09:53-05:00, ralf@linux-mips.org [PATCH] Remove unused MAXBPQDEV definition Signed-off-by: Jeff Garzik ChangeSet@1.1982.135.1, 2005-03-03 00:09:04-05:00, rddunlap@osdl.org [PATCH] prism54: fix printk format warnings prism54 build shows some printk format complaints: (sparc64 build warning) drivers/net/wireless/prism54/isl_38xx.c:131: warning: long int format, different type arg (arg 3) drivers/net/wireless/prism54/isl_38xx.c:151: warning: long int format, different type arg (arg 3) cross-compile results: https://www.osdl.org/plm-cgi/plm?module=patch_info&patch_id=4240 Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik ChangeSet@1.1982.134.1, 2005-03-03 00:07:46-05:00, takis@lumumba.luc.ac.be [PATCH] Possible AMD8111e free irq issue It seems to me that if in the amd8111e_open() fuction dev->irq isn't zero and the irq request succeeds it might not get released anymore. Specifically, on failure of the amd8111e_restart() call the function returns -ENOMEM without releasing the irq. The amd8111e_restart() function can fail because of various pci_alloc_consistent() and dev_alloc_skb() calls in amd8111e_init_ring() which is being called by amd8111e_restart. 1374 if(dev->irq ==0 || request_irq(dev->irq, amd8111e_interrupt, SA_SHIRQ, 1375 dev->name, dev)) 1376 return -EAGAIN; Signed-off-by: Jeff Garzik ChangeSet@1.1982.133.1, 2005-03-03 00:06:39-05:00, takis@lumumba.luc.ac.be [PATCH] Possible VIA-Rhine free irq issue It seems to me that in the VIA Rhine device driver the requested irq might not be freed in case the alloc_ring() function fails. alloc_ring() can fail with a ENOMEM return value because of possible pci_alloc_consistent() failures. Signed-off-by: Jeff Garzik ChangeSet@1.1982.132.1, 2005-03-03 00:04:43-05:00, tvignaud@mandrakesoft.com [PATCH] fix driver name in dl2k as returned by ETHTOOL_GDRVINFO The GDRVINFO command of the ETHTOOL ioctl returns a bogus driver name. this bug confusees various network config tools... see mdk bug #12609 (http://qa.mandrakesoft.com/show_bug.cgi?id=12609) for reference Signed-off-by: Thierry Vignaud Signed-off-by: Jeff Garzik ChangeSet@1.1982.131.1, 2005-03-03 00:02:38-05:00, sfeldma@pobox.com [PATCH] eepro100: remove ID for 82556 82556 support doesn't work with eepro100, so this removes the ID (0x1228) for 82556. See this thread for more info: http://marc.theaimsgroup.com/?l=linux-kernel&m=110726223221165&w=2 Signed-off-by: Scott Feldman Signed-off-by: Jeff Garzik ChangeSet@1.1982.130.1, 2005-03-03 00:01:46-05:00, linville@redhat.com [PATCH] sk98lin: add MODULE_DEVICE_TABLE entry Signed-off-by: Jeff Garzik ChangeSet@1.1982.129.1, 2005-03-03 00:00:49-05:00, pavel@suse.cz [PATCH] Fix u32 vs. pm_message_t in network device drivers This should fix confusion in network device drivers. No code changes. Signed-off-by: Pavel Machek Signed-off-by: Jeff Garzik ChangeSet@1.1982.128.1, 2005-03-02 23:58:29-05:00, mporter@kernel.crashing.org [PATCH] Add PPC440SP support to IBM EMAC driver Configures EMAC thresholds appropriately for the EMAC on the PPC440SP. Signed-off-by: Matt Porter Signed-off-by: Jeff Garzik ChangeSet@1.1982.127.1, 2005-03-02 23:57:27-05:00, sfeldma@pobox.com [PATCH] e100: remove reference to NAPI config option e100 is NAPI all the time, so the Kconfig option is wasting space. Signed-off-by: Scott Feldman Signed-off-by: Jeff Garzik ChangeSet@1.1982.106.4, 2005-03-02 23:55:36-05:00, akpm@osdl.org [PATCH] smc91x: power down PHY on suspend From: Ian Campbell Powering down the PHY saves something like 100mA at 5V on my platform. Currently it is only done when the interface is brought down but it makes sense to do it on suspend as well. Signed-off-by: Ian Campbell Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik ChangeSet@1.1966.126.4, 2005-03-02 23:54:56-05:00, jgarzik@pobox.com [wireless atmel] Add support LG LW2100N WLAN PCMCIA card Originally from Serge A. Suchkov . ChangeSet@1.1982.106.3, 2005-03-02 23:50:42-05:00, akpm@osdl.org [PATCH] Add OMAP support to smc91x Ethernet driver From: Tony Lindgren Following patch adds support for various OMAP boards to smc91x. Signed-off-by: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik ChangeSet@1.1982.126.1, 2005-03-02 23:49:14-05:00, rddunlap@osdl.org [PATCH] (v2) arlan: remove gcc warning with CONFIG_PROC_FS=n Signed-off-by: Jeff Garzik ChangeSet@1.1982.95.6, 2005-03-02 23:48:04-05:00, ganesh.venkatesan@intel.com [PATCH] ixgb: Documentation/networking/ixgb.txt Signed-off-by: Jeff Garzik ChangeSet@1.1982.125.2, 2005-03-02 23:37:44-05:00, ralf@linux-mips.org [PATCH] Sparse fixes for drivers/net/hamradio Signed-off-by: Jeff Garzik ChangeSet@1.1966.121.6, 2005-03-02 23:30:53-05:00, jgarzik@pobox.com Hand-merge sis900 conflicts. ChangeSet@1.1938.505.1, 2005-03-02 23:28:51-05:00, mbrancaleoni@tiscali.it [PATCH] sis900.c net poll support Signed-off-by: Jeff Garzik ChangeSet@1.1982.119.25, 2005-03-03 02:32:18+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2500/1: S3C2410 - include/asm-arm/arch-s3c2410/regs-adc.h Patch from Ben Dooks S3C2410 ADC register definitions Patch from Shannon Holland Signed-off-by: Shannon Holland Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.24, 2005-03-03 02:11:30+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2495/1: 21285 - fix build warnings Patch from Ben Dooks 21285 serial driver has a couple of sparse errors from zero initialiser, as well as an unused label. Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.23, 2005-03-03 01:52:00+00:00, cbrake@com.rmk.(none) [ARM PATCH] 2488/1: Update Vibren PXA255 IDP support Patch from Cliff Brake Changes to machine specific files and add defconfig so the CONFIG_ARCH_PXA_IDP machine will build and run. Changes are mostly related to the 2.6 driver model. Also removed code that is no longer required -- support for older versions of hardware, etc. Signed-off-by: Cliff Brake Signed-off-by: Russell King ChangeSet@1.1982.119.22, 2005-03-03 01:37:23+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2483/1: S3C2410 - serial sparse error Patch from Ben Dooks Eliminate NULL initiated fields in the port structures which where causing errors from sparse. Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.21, 2005-03-03 01:16:06+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2482/1: IXP2000 - header cleanup Patch from Ben Dooks fix the following problems: lib/iomap.c:140: warning: passing arg 1 of `__raw_readsb' makes pointer from integer without a cast lib/iomap.c:156: warning: passing arg 1 of `__raw_writesb' makes pointer from integer without a cast include/asm-arm/arch-ixp2000/io.h modified to have (void __iomem *) in front of the alignment code include/asm/arch/system.h:22: warning: `cli' is deprecated (declared at include/linux/interrupt.h:65) cli() replace by local_irq_disable arch/arm/mach-ixp2000/ixdp2x01.c:116: warning: passing arg 1 of `ixp2000_reg_write' from incompatible pointer type arch/arm/mach-ixp2000/ixdp2x01.c:117: warning: passing arg 1 of `ixp2000_reg_write' from incompatible pointer type fixed definition of the cpld registers IXDP2X01_CPLD_VIRT_REG() Signed-off-by: Ben DooksLooks okay. Test-booted on ENP-2611, no problem. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King ChangeSet@1.1982.123.7, 2005-03-02 16:59:57-08:00, c.lucas@ifrance.com [PATCH] drivers/w1/*: convert to pci_register_driver convert from pci_module_init to pci_register_driver (from:http://kerneljanitors.org/TODO). Signed-off-by: Christophe Lucas Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.123.6, 2005-03-02 16:59:41-08:00, johnpol@2ka.mipt.ru [PATCH] w1: get rid of the potential problems with atomic operations. Get rid of the potential problems with atomic operations. According to upcoming atomic_ops.txt by David Miller and Anton Blanchard some archs may reoder atomic operations with nonatomic, since the former are always visible but the latter are not, this can lead to unpredicted behaviour. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.123.5, 2005-03-02 16:59:25-08:00, johnpol@2ka.mipt.ru [PATCH] w1: replace obsoleted *sleep_on* Remove obsoleded *sleep_on*. Since they are used only to wait for a given flags and awakening only happens on signals, we can just replace them with msleep_interruptible. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.123.4, 2005-03-02 16:59:08-08:00, greg@kroah.com [PATCH] w1: fix some compiler warnings generated by the last "static" patch. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.123.3, 2005-03-02 16:58:52-08:00, johnpol@2ka.mipt.ru [PATCH] w1: Core cleanup 1/2 Trivial cleanups, mostly static/non static, removed unneded exports. It fuzzes a bit, sorry, patch is quite old. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.123.2, 2005-03-02 16:58:36-08:00, johnpol@2ka.mipt.ru [PATCH] w1: dscore cleanups. 2/2 Trivial cleanups, mostly static/non static, removed unneded exports. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.123.1, 2005-03-02 16:58:20-08:00, nacc@us.ibm.com [PATCH] w1/w1_therm: replace schedule_timeout() with msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Changed tm to an int, as it now is in terms of msecs, not jiffies. Signed-off-by: Nishanth Aravamudan Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.119.20, 2005-03-03 00:55:12+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2470/1: S3C2410 Documentation - add Guillaume Gourat Patch from Ben Dooks Add Guillaume Gourat to list of port contributors Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.19, 2005-03-03 00:37:40+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2469/1: S3C2410 - add S3C2410_TCFG1_MUX4_SHIFT definition Patch from Ben Dooks Add missing S3C2410_TCFG1_MUX4_SHIFT Patch from Guillaume Gourat Signed-off-by: Guillaume GOURAT Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.119.18, 2005-03-03 00:18:41+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2467/1: S3C2440 - camera interface device Patch from Ben Dooks Add s3c2440 camera interface device definition Patch from Guillaume GOURAT Signed-off-by: Guillaume GOURAT Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.121.37, 2005-03-02 16:13:45-08:00, khali@linux-fr.org [PATCH] I2C: Trivial indentation fix in i2c/chips/Kconfig Hi Greg, Quoting myself: > (...) I also think I see an indentation issue on the "tristate" line, > seemingly copied from the SENSORS_DS1621 section which would need to > be fixed as well. Here is the trivial patch fixing that, if you want to apply it. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.36, 2005-03-02 16:13:14-08:00, khali@linux-fr.org [PATCH] I2C: Change of i2c co-maintainer Since I am working more actively than Philip (or anyone else, for that matter) on the i2c subsystem these days, it would probably make sense that I am listed as the co-maintainer instead of him. Signed-off-by: Jean Delvare Acked-by: Philip Edelbrock Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.119.17, 2005-03-03 00:00:59+00:00, ben-linux@org.rmk.(none) [ARM PATCH] 2465/1: VR1000 - add power-off hook Patch from Ben Dooks Add PM hook to power board down when requested Signed-off-by: Ben Dooks Signed-off-by: Russell King ChangeSet@1.1982.121.35, 2005-03-02 15:50:42-08:00, gregkh@suse.de [PATCH] I2C: fixed up the i2c-id.h algo ids. Thanks to Jean Delvare for the help with this. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.119.16, 2005-03-02 23:39:59+00:00, jelenz@edu.rmk.(none) [ARM PATCH] 2460/1: fix up resource usage on locomo Patch from John Lenz Add the list of devices on the locomo chip, and change around how resources and struct resource are used. There is only one struct resource for the entire locomo, but each driver will call request_mem_region on the pieces it is using. Secondly, add a few helper functions to locomo.c to control GPIOs and DAC. Signed-off-by: John Lenz Signed-off-by: Russell King ChangeSet@1.1982.119.15, 2005-03-02 23:20:52+00:00, dsaxena@net.rmk.(none) [ARM PATCH] 2450/1: Add missing REG_OFFSET to ixp4xx platform.h header Patch from Deepak Saxena Patch 2449/1 depends on this since it removes REG_OFFSET from the individual board implementations. Signed-off-by: Deepak Saxena Signed-off-by: Russell King ChangeSet@1.1982.121.34, 2005-03-02 15:03:48-08:00, khali@linux-fr.org [PATCH] I2C: w83627hf needs i2c-isa The w83627hf driver is useless unless i2c-isa is present. All other drivers in this case do select I2C_ISA through Kconfig, so this one should as well do. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.33, 2005-03-02 15:03:32-08:00, akpm@osdl.org [PATCH] I2C: saa7146 build fix include/media/saa7146.h:160: parse error before `*' include/media/saa7146.h:160: warning: function declaration isn't a prototype Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.32, 2005-03-02 15:03:15-08:00, khali@linux-fr.org [PATCH] Add class definition to the elektor bus driver Hi Frank, all, > > Which bus driver are you using? It obviously lacks class declaration, > > so the correct fix is to add the class there. > > The modules that are loading are (in reverse order): > adm1031 > ad5321 > mic184 > pca9540 > i2c_sensor > i2c_elektor > i2c_algo_pcf > i2c_core > > So I believe what you are asking for is the i2c_elektor driver for the > PCF8584 ISA to I2C chip. Correct, I just checked and this one actually lacks its class. Patch follows. This patch adds a class definition to the elektor i2c bus driver. Without this definition, hardware monitoring chips located on such busses cannot possibly be driven. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.31, 2005-03-02 15:03:00-08:00, minyard@acm.org [PATCH] I2C: minor I2C cleanups This is one in a series of patches for adding a non-blocking interface to the I2C driver for supporting the IPMI SMBus driver. This patch is a simply some minor cleanups and is in addition to the patch by Mickey Stein (http://marc.theaimsgroup.com/?l=linux-kernel&m=110919738708916&w=2). Clean up some general I2C things. Fix some grammar and put () around all the #defines that are compound to avoid nasty side-effects. Signed-off-by: Corey Minyard Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.30, 2005-03-02 15:02:43-08:00, ben-linux@fluff.org [PATCH] I2C: S3C2410 missing I2C_CLASS_HWMON None of the standard sensor drivers currently recognise the s3c24xx I2C controller as it does not have I2C_CLASS_HWMON set in the adapter class field. The attached patch initialises the adapter class to I2C_CLASS_HWMON Signed-off-by: Ben Dooks Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.29, 2005-03-02 15:02:27-08:00, yekkim@pacbell.net [PATCH] I2C: Fix some gcc 4.0 compile failures and warnings gcc 4.0.x cvs seems to dislike "include/linux/i2c.h file" and others due to a current gcc 4.0.x change having to do with array declarations. Example error msg: include/linux/i2c.h:{55,194} error: array type has incomplete element type A. Daplas has recently done a workaround for this on another header file. A thread discussing this can be found by following the link below: http://gcc.gnu.org/ml/gcc/2005-02/msg00053.html The patch changes the array(struct i2c_msg) declaration used by *i2c_transfer and *master_xfer from "struct i2c_msg msg[]" format to "struct i2c_msg *msg". After some grepping, I came up with about a dozen files that used the format disliked by gcc4 that're addressed by the attached patch. Tested on gcc 3.x & gcc 4.x by configuring kernel with all i2c switches enabled as module, and saw no errors or warnings in i2c. Signed-off-by: Mickey Stein Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.28, 2005-03-02 15:02:10-08:00, khali@linux-fr.org [PATCH] I2C: Make i2c list terminators explicitely unsigned Shouldn't the i2c list terminators be explicitely declared as unsigned? I'd hope it to help code analysis tools and possibly avoid false positives. Coverity's SWAT pointed my attention to these constants. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.27, 2005-03-02 15:01:52-08:00, khali@linux-fr.org [PATCH] I2C: Remove NULL client checks in rtc8564 driver Several functions in your rtc8564 driver verify the non-NULLity of the i2c client that is passed to them. It doesn't seem to be necessary, as I can't think of any case where these functions could possibly be called with a NULL i2c client. As a matter of fact, I couldn't find any similar driver doing such checks. My attention was brought on this by Coverity's SWAT which correctly noticed that three of these functions contain explicit or hidden dereferences of the i2c client pointer *before* the NULL check. I guess it wasn't a problem because the NULL case cannot happen (unless I miss something), but this still is confusing code. Thus I propose the following changes: Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.119.14, 2005-03-02 22:57:50+00:00, dsaxena@net.rmk.(none) [ARM PATCH] 2449/1: Make IXP4xx use platform devices for serial ports Patch from Deepak Saxena Signed-off-by: Deepak Saxena Signed-off-by: Russell King ChangeSet@1.1982.119.13, 2005-03-02 22:33:50+00:00, dsaxena@net.rmk.(none) [ARM PATCH] 2448/1: Remove PrPMC1100 platform Patch from Deepak Saxena No longer maintained, not sure one can even buy one of these. Signed-off-by: Deepak Saxena Signed-off-by: Russell King ChangeSet@1.1982.119.12, 2005-03-02 22:21:51+00:00, rmk@flint.arm.linux.org.uk [ARM] Acorn expansion card core update. Add __iomem annotations and use iomem functions where appropriate. Separate out expansion card allocation/initialisation and freeing. Convert device attributes to be handled by driver core. Clean up deprecated function warnings for internal ecard_address usage. Signed-off-by: Russell King ChangeSet@1.1982.122.1, 2005-03-02 14:03:27-08:00, davem@nuts.davemloft.net [SPARC64]: Accept 'm5823' clock chip as seen on SB1500. Signed-off-by: David S. Miller ChangeSet@1.1982.119.11, 2005-03-02 21:28:32+00:00, rmk@flint.arm.linux.org.uk [ARM] Add card type specific data structure. Signed-off-by: Russell King ChangeSet@1.1982.119.10, 2005-03-02 21:09:16+00:00, rmk@flint.arm.linux.org.uk [ARM] Net: Convert ether1 and ether3 to use iomem accesses. Signed-off-by: Russell King ChangeSet@1.1982.119.9, 2005-03-02 20:35:25+00:00, rmk@flint.arm.linux.org.uk [ARM] Use ecard_{request,release}_resources() for resource management Signed-off-by: Russell King ChangeSet@1.1982.121.26, 2005-03-02 12:18:53-08:00, hfvogt@gmx.net [PATCH] I2C i2c-nforce2: add support for nForce4 (patch against 2.6.11-rc4) can you please apply the attached patch (against 2.6.11-rc4, but works as well for 2.6.11-rc3-mm2), that adds support for the two SMBusses of the nForce4 to the i2c-nforce2 i2c bus driver. The patch is reported to work on the standard nForce4 (i.e. non-Ultra, non-SLI), but I expect that it works as well for the other nForce4 chipsets, that seem to have the same PCI-id for the SMBus-device. This patch was proposed by Chuck , thanks to him for the information, testing and his patch. Signed-off-by: Hans-Frieder Vogt Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.25, 2005-03-02 12:18:36-08:00, icampbell@arcom.com [PATCH] I2C: fix typo in drivers/i2c/busses/i2c-ixp4xx.c I was looking at your ixp4xx gpio i2c driver for inspiration (for a similar pxa2xx one) and I just happened to notice a tiny typo. Signed-off-by: Ian Campbell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.24, 2005-03-02 12:18:19-08:00, macro@linux-mips.org [PATCH] I2C: Enable I2C_PIIX4 for 64-bit platforms Is there any specific reason for the PIIX4 SMBus driver to be disabled on 64-bit platforms? If not, then please apply the following change. The MIPS Technologies Malta development board has the 82371EB chip and supports 64-bit configurations. I've verified the driver to work correctly using 64-bit kernels for both endiannesses. Signed-off-by: Maciej W. Rozycki Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.23, 2005-03-02 12:18:03-08:00, icampbell@arcom.com [PATCH] I2C: improve debugging output Rework the pca_xfer() function to always print the number of successfully completed transfers in a series when debugging, even when exiting with an error. Signed-off-by: Ian Campbell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.119.8, 2005-03-02 20:17:47+00:00, rmk@flint.arm.linux.org.uk [ARM] Net: add macro to access driver specific netdev data. Signed-off-by: Russell King ChangeSet@1.1982.121.22, 2005-03-02 12:17:46-08:00, maartendeprez@scarlet.be [PATCH] I2C: add GL520SM Sensor Chip driver Port of the Genesys Logic 520SM sensor chip driver from linux 2.4 Signed-off-by: Maarten Deprez Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.21, 2005-03-02 12:17:29-08:00, mgreer@mvista.com [PATCH] I2C: add Marvell mv64xxx i2c driver Marvell makes a line of host bridge for PPC and MIPS systems. On those bridges is an i2c controller. This patch adds the driver for that i2c controller. Please apply. Depends on patch submitted by Jean Delvare: http://archives.andrew.net.au/lm-sensors/msg29405.html Signed-off-by: Mark A. Greer Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.20, 2005-03-02 12:17:12-08:00, aurelien@aurel32.net [PATCH] I2C: New chip driver: sis5595 Please find below the new version of the patch against kernel 2.6.11-rc3-mm1 to add the sis5595 driver (sensor part). As you suggested, I have changed the PCI part of the driver, taking the via686a driver as an example. I have also changed the comparison of jiffies by using time_after. Signed-off-by: Aurelien Jarno Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.19, 2005-03-02 12:16:55-08:00, mgreer@mvista.com [PATCH] I2C: add ST M41T00 I2C RTC chip driver This patch adds support for the ST M41T00 I2C RTC chip. This rtc chip has no mechanism to freeze it's registers while being read; however, it will delay updating the external values of the registers for 250ms after a register is read. To ensure that a sane time value is read, the driver verifies that the same registers values were read twice before returning. Also, when setting the rtc from an interrupt handler, a tasklet is used to provide the context required by the i2c core code. Signed-off-by: Mark A. Greer Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.18, 2005-03-02 12:16:37-08:00, adobriyan@mail.ru [PATCH] I2C: use time_after instead of comparing jiffies Signed-off-by: Alexey Dobriyan Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.17, 2005-03-02 12:12:54-08:00, bunk@stusta.de [PATCH] i2c-core.c: make some code static This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.16, 2005-03-02 12:10:18-08:00, shawn.starr@rogers.com [PATCH] I2C: lm80 driver improvement Description: Cleanup some cluttered macros, add error checking for fan divisor value set. Signed-off-by: Sytse Wielinga Signed-off-by: Aurelien Jarno Signed-off-by: Shawn Starr Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.15, 2005-03-02 12:10:01-08:00, mhoffman@lightlink.com [PATCH] I2C: unnecessary #includes in asb100.c * Jean Delvare [2005-01-25 10:14:49 +0100]: > Any reson why asb100.c (in linux 2.6.11-rc2) includes linux/ioport.h and > asm/io.h? As an i2c-only chip driver, I don't think it needs these. > > As a side note, I also wonder what the inclusions of linux/config.h, > linux/types.h and asm/errno.h are there for. Because they look pretty? Here's a patch Greg, please apply... Signed-off-by: Mark M. Hoffman Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.14, 2005-03-02 12:09:45-08:00, khali@linux-fr.org [PATCH] I2C: Kill unused includes in i2c-sensor-detect.c Looks to me like i2c-sensor-detect.c includes a handful of headers it doesn't need at all. This patch removes them. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.13, 2005-03-02 12:09:28-08:00, khali@linux-fr.org [PATCH] I2C: Enable w83781d and w83627hf temperature channels The chips supported by the w83781d and w83627hf drivers might come up with their temperature channels disabled. Currently, the w83781d driver does so for temp3 but omits temp2, while the w83627hf driver omits both. The following patch fixes that, and prints warning messages when the driver has to enable the channels (normally the BIOS should do it for us). We also skip this initialization step for the AS99127F chips, for which we have no documentation. This should hopefully solve the problem reported here: http://archives.andrew.net.au/lm-sensors/msg29150.html Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.12, 2005-03-02 12:04:28-08:00, aurelien@aurel32.net [PATCH] I2C: lm78 driver improvement The following patch against kernel 2.6.11-rc2-mm1 improves the lm78 driver. I used it as a model to port the sis5595 driver to the 2.6 kernel, and I then applied the changes suggested by Jean Delvare on the sis5595 driver to this one. Signed-off-by: Aurelien Jarno Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.11, 2005-03-02 12:04:12-08:00, mhoffman@lightlink.com [PATCH] I2C: i2c-dev namespace cleanup This patch is namespace cleanup for the i2c-dev module. Please apply. Signed-off-by Mark M. Hoffman Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.100.17, 2005-03-02 15:03:29-05:00, davej@redhat.com [AGPGART] Fix typo. From: Joern Heissler Signed-off-by: Dave Jones ChangeSet@1.1982.121.10, 2005-03-02 11:59:41-08:00, stefan@desire.ch [PATCH] I2C: fix for fscpos voltage values Multiplied the voltage multipliers by 10 in order to comply with the sysfs guidelines. Signed-off-by: Stefan Ott Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.9, 2005-03-02 11:58:47-08:00, greg@kroah.com [PATCH] I2C: just delete the id field, let's not delay it any longer Becides, sparse keeps complaining when it sees this attribute within a structure... Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.8, 2005-03-02 11:58:29-08:00, khali@linux-fr.org [PATCH] I2C: Kill i2c_client.id (5/5) > (5/5) Documentation update. Finally, updates are required to the i2c/writing-client and i2c/porting-client documents. Remove any reference to i2c_client id and invite porters to discard that struct member. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.7, 2005-03-02 11:52:48-08:00, khali@linux-fr.org [PATCH] I2C: Kill i2c_client.id (4/5) > (4/5) Deprecate i2c_client.id. Now that i2c_client.id has no more users in the kernel (none that I could find at least) we could remove that struct member. I however think that it's better to only deprecate it at the moment, in case I missed users or any of the other patches are delayed for some reason. We could then delete the id member definitely in a month or so. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.6, 2005-03-02 11:52:31-08:00, khali@linux-fr.org [PATCH] I2C: Kill i2c_client.id (3/5) (3/5) Stop using i2c_client.id in misc drivers. Affected drivers: * acorn/char/pcf8583 * acorn/char/i2c * i2c/i2c-dev * macintosh/therm_windtunnel * sound/oss/dmasound/dac3550a * sound/ppc/keywest The Acorn pcf8583 driver would give the i2c_client id the same value as the i2c_driver id, and later test that client id (in i2c). I changed it to test the client's driver id instead. The result is the same and the client id is then useless and can be removed. All other drivers here would allocate the client id to some value and then never use it. They are unaffected by the change. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.5, 2005-03-02 11:52:15-08:00, khali@linux-fr.org [PATCH] I2C: Kill i2c_client.id (2/5) (2/5) Stop using i2c_client.id in media/video drivers. Affected drivers: * adv7170 * adv7175 * bt819 * bt856 * bttv * cx88 * ovcamchip * saa5246a * saa5249 * saa7110 * saa7111 * saa7114 * saa7134 * saa7185 * tda7432 * tda9840 * tda9875 * tea6415c * tea6420 * tuner-3036 * vpx3220 Most drivers here would include the id as part of their i2c client name (e.g. adv7170[0]). This looks more like an habit than something really needed, so I replaced the various printf by strlcpy, which should be slightly faster. As said earlier, clients can be differenciated thanks to their bus id and address if needed, so I don't think that including this information in the client name is wise anyway. Other drivers would either set the id to -1 or to a unique value but then never use it. These drivers are unaffected by the changes. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.4, 2005-03-02 11:51:51-08:00, khali@linux-fr.org [PATCH] I2C: Kill i2c_client.id (1/5) (1/5) Stop using i2c_client.id in i2c/chips drivers (mostly hardware monitoring drivers). Drivers affected: * adm1021 * adm1025 * adm1026 * adm1031 * ds1621 * fscher * gl518sm * isp1301_omap * lm75 * lm77 * lm80 * lm83 * lm85 * lm87 * lm90 * max1619 * pcf8574 * pcf8591 * rtc8564 * smsc47m1 * w83l785ts The vast majority of these drivers simply defined the i2c_client id struct member but never used it, so they are not affected at all by the change. Exceptions are: * lm85 and rtc8564, which would at least display the id in a debug message when assigning it. Not really useful though, as the id was then never used. * adm1026, which used the assigned id in all driver messages. However, since dev_* calls will append the bus number and client address to these messages, the id information is redundant and can go away. Also, the driver would allow some GPIO reprogramming on the first client only (id=0) and removing the id doesn't allow that anymore. I would restore a similar functionality if needed, but the ADM1026 chip is found on very few motherboards and none of these has more than one ADM1026 chip AFAIK, so it doesn't seem to be worth the effort. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.3, 2005-03-02 11:51:21-08:00, greg@kroah.com [PATCH] I2C: Fix up some build warnings in the fscpos driver. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.121.2, 2005-03-02 11:50:10-08:00, khali@linux-fr.org [PATCH] I2C: Allow it87 pwm reconfiguration Quoting myself: > As soon as you will have confirmed that everything worked as expected, > Jonas and I will provide a patch adding a pwm polarity reconfiguration > module parameter for you to test. This should give you access to the > PWM features of your it87 chip again, but in a safe way for a change > ;) Here comes this patch. The new "fix_pwm_polarity" module parameter allows one to force the it87 chip reconfiguration. This is only supported in the case the original PWM configuration is suspected to be bogus, and only if we think that reconfiguring the chip is safe. I wish to thank Rudolf Marek and Jonas Munsin again for their testing and review of my code. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.119.7, 2005-03-02 19:16:04+00:00, rmk@flint.arm.linux.org.uk [ARM] Unuse scsi host->base This eliminates the final usage of deprecated elements in scsi_host by Acorn SCSI drivers. Signed-off-by: Russell King ChangeSet@1.1982.121.1, 2005-03-02 11:04:17-08:00, stefan@desire.ch [PATCH] I2C: add fscpos chip driver This patch against 2.6.11-rc1 contains a driver for fscpos sensors. Signed-off-by: Stefan Ott Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1982.119.6, 2005-03-02 18:50:36+00:00, rmk@flint.arm.linux.org.uk [ARM] SCSI: Move host->dma_channel to info->scsi.dma Signed-off-by: Russell King ChangeSet@1.1982.119.5, 2005-03-02 17:28:15+00:00, rmk@flint.arm.linux.org.uk [ARM] Don't use host->irq Signed-off-by: Russell King ChangeSet@1.1982.119.4, 2005-03-02 16:56:54+00:00, rmk@flint.arm.linux.org.uk [ARM] Acorn SCSI: Ensure iomem pointers are marked as such. Signed-off-by: Russell King ChangeSet@1.1982.119.3, 2005-03-02 16:07:18+00:00, rmk@flint.arm.linux.org.uk [ARM] Fix sparse warnings in ARM IDE drivers. Signed-off-by: Russell King ChangeSet@1.1982.119.2, 2005-03-02 15:32:02+00:00, rmk@flint.arm.linux.org.uk [ARM] Fix set_fiq_regs()/get_fiq_regs() Make these "naked" functions. This allows us to eliminate the clobbers which later gcc versions complain about. Signed-off-by: Russell King ChangeSet@1.1982.119.1, 2005-03-02 15:09:38+00:00, rmk@flint.arm.linux.org.uk [ARM] Update syscall table Add demultiplexed socket and ipc syscalls. Add key syscalls. Leave the new numbers for the demultiplexed socket and ipc syscalls commented out in asm-arm/unistd.h for the time being. Signed-off-by: Russell King ChangeSet@1.1982.117.6, 2005-03-01 23:35:15-08:00, torvalds@ppc970.osdl.org Linux 2.6.11 TAG: v2.6.11