commit 40ffbfad6bb79a99cc7627bdaca0ee22dec526f6 Author: Linus Torvalds Date: Fri Aug 31 23:08:24 2007 -0700 Linux 2.6.23-rc5 commit e89a5a43b95cdc4305b7c8e8121a380f02476636 Author: Trond Myklebust Date: Fri Aug 31 10:45:17 2007 -0400 NFS: Fix the mount regression This avoids the recent NFS mount regression (returning EBUSY when mounting the same filesystem twice with different parameters). The best I can do given the constraints appears to be to have the kernel first look for a superblock that matches both the fsid and the user-specified mount options, and then spawn off a new superblock if that search fails. Note that this is not the same as specifying nosharecache everywhere since nosharecache will never attempt to match an existing superblock. Signed-off-by: Trond Myklebust Tested-by: Hua Zhong Signed-off-by: Linus Torvalds commit 36ad4885c47c2187822f2783fb46fde2d36bf200 Author: Linus Torvalds Date: Fri Aug 31 20:18:51 2007 -0700 x86: be even more careful about checking the stack frame on dumping lguest didn't initialize the kernel stack the way a real i386 kernel does, and ended up triggering a corner-case in the stack frame checking that doesn't happen on naive i386, and that the stack dumping didn't handle quite right. This makes the frame handling more correct, and tries to clarify the code at the same time so that it's a bit more obvious what is going on. Thanks to Rusty Russell for debugging the lguest failure- Cc: Rusty Russell Signed-off-by: Linus Torvalds commit 3b2b64fd311c92f2137eb7cee7025794cd854057 Author: Linus Torvalds Date: Fri Aug 31 20:13:57 2007 -0700 Do not use the ia64 clocksource on non-ia64 architectures The HPET clocksource in drivers/char/hpet.c was written as generic code for ia64, but it is not yet ready to replace the native HPET clocksource implementations that the i386/x86-64 architectures use. On x86[-64], trying to register this clocksource results in potentially multiple hpet-based clocksources being registered, and if the ia64 one is chosen on x86_64 some users have experienced hangs. Eventually all three architectures may end up using the same code, but that is not the case right now. Cc: John Stultz Cc: Tony Luck Cc: Paolo Ornati Cc: Bob Picco Cc: Thomas Gleixner Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 5ff70cac3e98af64f9a1eaec9e762ff4927c26d1 Author: Joachim Fenkes Date: Fri Aug 31 16:03:37 2007 +0200 IB/ehca: SRQ fixes to enable IPoIB CM Fix ehca SRQ support so that IPoIB connected mode works: - Report max_srq > 0 if SRQ is supported - Report "last wqe reached" asynchronous event when base QP dies; this is required by the IB spec and IPoIB CM relies on receiving it when cleaning up. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit fecea0ab3415bfab9a1964690e53b10c5d8f2e46 Author: Stefan Roscher Date: Fri Aug 31 16:02:59 2007 +0200 IB/ehca: Fix Small QP regressions The new Small QP code had a few bugs that would also make it trigger for non-Small QPs. Fix them. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 4221d014ea04d439e6d1e65951c3b406e7c1b7ab Author: H. Peter Anvin Date: Fri Aug 31 11:30:31 2007 -0700 [x86 setup] Don't rely on the VESA BIOS being register-clean The VESA BIOS is specified to be register-clean. However, we have now found at least one system which violates that. Thus, be as paranoid about VESA calls as about everything else. Huge thanks to Will Simoneau for reporting, diagnosing, and testing this out on Dell Inspiron 5150. Cc: Will Simoneau Signed-off-by: H. Peter Anvin commit 47330077650a25d417155848516b2cba97999602 Author: Divy Le Ray Date: Wed Aug 29 19:15:52 2007 -0700 - cxgb3 engine microcode load Load the engine microcode when an interface is brought up, instead of of doing it when the module is loaded. Loosen up tight binding between the driver and the engine microcode version. There is no need for microcode update with T3A boards. Fix the file naming. Do a better job at logging the loading activity. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 5fbf816fe7d72bfdbf22bfec05b4ec3aa6849f72 Author: Divy Le Ray Date: Wed Aug 29 19:15:47 2007 -0700 cxgb3 - Fix dev->priv usage cxgb3 used netdev_priv() and dev->priv for different purposes. In 2.6.23, netdev_priv() == dev->priv, cxgb3 needs a fix. This patch is a partial backport of Dave Miller's changes in the net-2.6.24 git branch. Without this fix, cxgb3 crashes on 2.6.23. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 54d0f56e63edb1aa3901ea6389bf7ea5d43d0c22 Author: Klaus D. Wacker Date: Wed Aug 29 11:26:58 2007 +0200 qeth: Drop ARP packages on HiperSockets interface with NOARP attribute. A network interface can get ARP packets even when the interface has NOARP specified. In a HiperSockets environment this disturbs receiving systems when packets are sent on the multicast queue. (E.g. TCP/IP on z/VM issues messages reporting invalid data on the HiperSockets interface.) Qeth will no longer send ARP packets on HiperSockets interface when interface has the NOARP attribute. Signed-off-by: Klaus D. Wacker Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 6e55cab9f004e6e7a9ab5d7b27fb705ed0de838e Author: Ursula Braun Date: Wed Aug 29 11:26:57 2007 +0200 qeth: provide specific message for OSA-adapters exclusively used Exclusive usage of OSA-cards has been introduced. Even though Linux does not make use of it, qeth should be prepared to receive a bad RC for some initialization steps. A meaningful message is now given, if an OSA-device is set online, even though the OSA-adapter is already exclusively used by another host. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 6d4f3d182b1c6074b84feaadd84a0957059a5940 Author: Ursula Braun Date: Wed Aug 29 11:26:56 2007 +0200 qeth: crash during reboot after failing online setting Online setting of a qeth device may fail for instance because of: - out-of-memory condition when allocating qdio queues - IDX ACTIVATE problem - ... Such a device is still returned in a driver_for_each_device loop processed in qeth_reboot_event(), which calls qeth_clear_qdio_buffers(). Make sure qeth_clear_output_buffer() is called only, if the qdio queues have been successfully allocated during initialization of a qeth device. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 5a4b61a95a9b742d8a966950d23f386c34a733f2 Author: Frank Blaschka Date: Wed Aug 29 11:26:55 2007 +0200 qeth: Announce tx checksumming for qeth devices in TSO/EDDP mode TSO requires tx checksumming. For non GSO frames in TSO/EDDP mode we have to manually calculate the checksum. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit ecee51b755335d3ff254199fc1a2775ea451eecf Author: Heiko Carstens Date: Wed Aug 29 11:26:54 2007 +0200 qeth: dont return the return values of void functions. Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit cde46035161d677617983177e877c87d89fbb5e1 Author: Frank Blaschka Date: Wed Aug 29 11:26:53 2007 +0200 qeth: enforce a rate limit for inbound scatter gather messages under memory pressure scatter gather mode switching messages must be rate limited. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit d0a34f98d1da66a5b4e02171854e6c04c9916016 Author: Ursula Braun Date: Wed Aug 29 11:26:52 2007 +0200 qeth: ungrouping a device must not be interruptible Problem: A recovery thread must not be active when device is removed. In qeth_remove_device() an interruptible wait operation is used to wait until a qeth recovery thread is finished. If a user really interrupts the ungroup operation of a qeth device while a recovery is running, cio and qeth are out of sync (device already removed from cio, but kept in qeth). A following module unload of qeth results in a kernel OOPS here. Solution: Do not allow interruption of ungroup operation to guarantee finishing of a potentially running qeth recovery thread. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 3052246c815fe17ff3a9fcb5601c6688b523e5f5 Author: dhananjay@netxen.com Date: Tue Aug 28 17:23:26 2007 +0530 netxen: fix crashes during module unload This patch fixes two problems during driver unload. The pci_disable_device() call is before firmware reload, causing reads and writes across PCI bus after disabling device. Second problem is the register window was wrong during firmware reload Signed-off by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit b3e2d8874e8ba92bfefede645b8be2ec6c956933 Author: dhananjay@netxen.com Date: Tue Aug 28 17:23:25 2007 +0530 netxen: Avoid firmware load in PCI probe Loading firmware during PCI probe can lead to incorrect initialization, rendering the card unusable until next reboot. This was introduced a while ago as a workaround for firmware bug, a better workaround was submitted for this a while ago. So removing original hack that loads firmware during probe. Signed-off by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 14cc0a2b733cc1129676d8e01558bab32b138d63 Author: Masakazu Mokuno Date: Tue Aug 28 13:18:15 2007 +0900 PS3: fix the bug that 'ifconfig down' would hang Fix the bug that 'ifconfig eth0 down' would hang up, reported by Stefan Assmann . As we removed netif_poll_enable() from dev->open(), we should not use netif_poll_disable() in dev->stop(). Signed-off-by: Masakazu Mokuno CC: Geoff Levand Signed-off-by: Jeff Garzik commit 0491d1f3fd93f838d8bfb75b12acfba39d06a4da Author: Ralf Baechle Date: Sun Aug 26 18:51:22 2007 +0100 IOC3: Program UART predividers. The IOC3 driver's UART detection bits used to rely on the the firmware setting the UART pre-divider in a way that's apropriate for the 8250 driver which doesn't currently program this register. This happens to work for the console but not rarely for additional ports. While at it, also program the UART to RS-232 PIO mode; it the UART might have been in mac-serial and/or DMA mode though that hasn't actually been observed in practice. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 2a3103ce4357a09c2289405f969acec0edf4398f Author: Jeff Garzik Date: Fri Aug 31 04:54:06 2007 -0400 [libata] Bump driver versions Bump the versions for drivers that were modified, but had not already had a version number bump. Signed-off-by: Jeff Garzik commit 3b42d28b2a04b3c9830eb865288239d45eccc402 Author: Christoph Lameter Date: Fri Aug 31 00:12:08 2007 -0700 Page migration: Do not accept invalid nodes in the target nodeset Page migration currently does not check if the target of the move contains nodes that that are invalid (if root attempts to migrate pages) and may try to allocate from invalid nodes if these are specified leading to oopses. Return -EINVAL if an offline node is specified. Signed-off-by: Christoph Lameter Cc: Shaohua Li Cc: Andrew Morton Signed-off-by: Linus Torvalds commit dec4ad86c2fbea062e9ef9caa6d6e79f7c5e0b12 Author: David Gibson Date: Thu Aug 30 23:56:40 2007 -0700 hugepage: fix broken check for offset alignment in hugepage mappings For hugepage mappings, the file offset, like the address and size, needs to be aligned to the size of a hugepage. In commit 68589bc353037f233fe510ad9ff432338c95db66, the check for this was moved into prepare_hugepage_range() along with the address and size checks. But since BenH's rework of the get_unmapped_area() paths leading up to commit 4b1d89290b62bb2db476c94c82cf7442aab440c8, prepare_hugepage_range() is only called for MAP_FIXED mappings, not for other mappings. This means we're no longer ever checking for an aligned offset - I've confirmed that mmap() will (apparently) succeed with a misaligned offset on both powerpc and i386 at least. This patch restores the check, removing it from prepare_hugepage_range() and putting it back into hugetlbfs_file_mmap(). I'm putting it there, rather than in the get_unmapped_area() path so it only needs to go in one place, than separately in the half-dozen or so arch-specific implementations of hugetlb_get_unmapped_area(). Signed-off-by: David Gibson Cc: Adam Litke Cc: Andi Kleen Cc: "David S. Miller" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a58448b0a375f7198de34dd0d3e2881afeaf025 Author: Jiri Slaby Date: Thu Aug 30 23:56:39 2007 -0700 MAINTAINERS, order NETERION alphabetically MAINTAINERS, order NETERION alphabetically Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60693e5a9a2063b87d4dbe8029816c814b3fa84e Author: Shane Huang Date: Thu Aug 30 23:56:38 2007 -0700 i2c-piix4: Fix SB700 PCI device ID We find that SB700 and SB800 use the same SMBus device ID as SB600, which is 0x4385, instead of the already submitted 0x4395. Besides removing the wrong SB700 device ID, add SB800 support to kernel, by renaming the PCI_DEVICE_ID_ATI_IXP600_SMBUS into PCI_DEVICE_ID_ATI_SBX00_SMBUS. Signed-off-by: Shane Huang Signed-off-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4500371e050af18e606c25ee5cc8b030868d3089 Author: Randy Dunlap Date: Thu Aug 30 23:56:37 2007 -0700 MAINTAINERS: update DCO info Drop the URL for DCO (URL is invalid). Also, point to SubmittingPatches for the current DCO. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60187d2708caa870f0825d753df1612ea688eb9e Author: Oleg Nesterov Date: Thu Aug 30 23:56:35 2007 -0700 sigqueue_free: fix the race with collect_signal() Spotted by taoyue and Jeremy Katz . collect_signal: sigqueue_free: list_del_init(&first->list); if (!list_empty(&q->list)) { // not taken } q->flags &= ~SIGQUEUE_PREALLOC; __sigqueue_free(first); __sigqueue_free(q); Now, __sigqueue_free() is called twice on the same "struct sigqueue" with the obviously bad implications. In particular, this double free breaks the array_cache->avail logic, so the same sigqueue could be "allocated" twice, and the bug can manifest itself via the "impossible" BUG_ON(!SIGQUEUE_PREALLOC) in sigqueue_free/send_sigqueue. Hopefully this can explain these mysterious bug-reports, see http://marc.info/?t=118766926500003 http://marc.info/?t=118466273000005 Alexey Dobriyan reports this patch makes the difference for the testcase, but nobody has an access to the application which opened the problems originally. Also, this patch removes tasklist lock/unlock, ->siglock is enough. Signed-off-by: Oleg Nesterov Cc: taoyue Cc: Jeremy Katz Cc: Sukadev Bhattiprolu Cc: Alexey Dobriyan Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Roland McGrath Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99db67bc04af0f2e8cb710ac92aaeb9af135a7c6 Author: Alexey Dobriyan Date: Thu Aug 30 23:56:34 2007 -0700 userns: don't leak root user Signed-off-by: Alexey Dobriyan Acked-by: Cedric Le Goater Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59845b1ffd9121e5ef474ea5f27405fd7a83c85b Author: Jarek Poplawski Date: Thu Aug 30 23:56:34 2007 -0700 request_irq: fix DEBUG_SHIRQ handling Mariusz Kozlowski reported lockdep's warning: > ================================= > [ INFO: inconsistent lock state ] > 2.6.23-rc2-mm1 #7 > --------------------------------- > inconsistent {in-hardirq-W} -> {hardirq-on-W} usage. > ifconfig/5492 [HC0[0]:SC0[0]:HE1:SE1] takes: > (&tp->lock){+...}, at: [] rtl8139_interrupt+0x27/0x46b [8139too] > {in-hardirq-W} state was registered at: > [] __lock_acquire+0x949/0x11ac > [] lock_acquire+0x99/0xb2 > [] _spin_lock+0x35/0x42 > [] rtl8139_interrupt+0x27/0x46b [8139too] > [] handle_IRQ_event+0x28/0x59 > [] handle_level_irq+0xad/0x10b > [] do_IRQ+0x93/0xd0 > [] common_interrupt+0x2e/0x34 ... > other info that might help us debug this: > 1 lock held by ifconfig/5492: > #0: (rtnl_mutex){--..}, at: [] mutex_lock+0x1c/0x1f > > stack backtrace: ... > [] _spin_lock+0x35/0x42 > [] rtl8139_interrupt+0x27/0x46b [8139too] > [] free_irq+0x11b/0x146 > [] rtl8139_close+0x8a/0x14a [8139too] > [] dev_close+0x57/0x74 ... This shows that a driver's irq handler was running both in hard interrupt and process contexts with irqs enabled. The latter was done during free_irq() call and was possible only with CONFIG_DEBUG_SHIRQ enabled. This was fixed by another patch. But similar problem is possible with request_irq(): any locks taken from irq handler could be vulnerable - especially with soft interrupts. This patch fixes it by disabling local interrupts during handler's run. (It seems, disabling softirqs should be enough, but it needs more checking on possible races or other special cases). Reported-by: Mariusz Kozlowski Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2aeb3db17fc33443d21b11d7121c5627d55717c6 Author: Ryusuke Konishi Date: Thu Aug 30 23:56:33 2007 -0700 eCryptfs: fix possible fault in ecryptfs_sync_page This will avoid a possible fault in ecryptfs_sync_page(). In the function, eCryptfs calls sync_page() method of a lower filesystem without checking its existence. However, there are many filesystems that don't have this method including network filesystems such as NFS, AFS, and so forth. They may fail when an eCryptfs page is waiting for lock. Signed-off-by: Ryusuke Konishi Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85787a2bea516b76a013eea7f5f3fad12c5a6417 Author: Andrew Victor Date: Thu Aug 30 23:56:32 2007 -0700 Fix typo in atmel_spi.c Fix cut 'n paste bug in Atmel SPI driver. Signed-off-by: Andrew Victor Acked-by: David Brownell Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f79abb828e1d851387def4247eb3f9477fe03234 Author: Ralf Baechle Date: Thu Aug 30 23:56:31 2007 -0700 Fix modpost warning in serial driver This is triggered if PCI && !HOTPLUG. MODPOST vmlinux.o WARNING: vmlinux.o(.data+0xc910): Section mismatch: reference to .init.text:pci_ite887x_init (between 'pci_serial_quirks' and 'serial_pci_tbl') Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb109a0eb44cea24e83e7176473011fa41507b8b Author: Ralf Baechle Date: Thu Aug 30 23:56:30 2007 -0700 Add MAINTAINERS entry for IOC3 serial driver The IOC3 is a multifunction device but not in sense of the PCI specification. Currently its ethernet and serial functionality are supported by two separate drivers authored and maintained by different people, so MAINTAINERS should reflect that. Cc: Patrick Gefre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3de4be9d5f8551d7880a1f1f5231a30e0161b1f Author: Rafael J. Wysocki Date: Thu Aug 30 23:56:29 2007 -0700 PM: Fix dependencies of CONFIG_SUSPEND and CONFIG_HIBERNATION Dependencies of CONFIG_SUSPEND and CONFIG_HIBERNATION introduced by commit 296699de6bdc717189a331ab6bbe90e05c94db06 "Introduce CONFIG_SUSPEND for suspend-to-Ram and standby" are incorrect, as they don't cover the facts that (1) not all architectures support suspend and (2) SMP hibernation is only possible on X86 and PPC64 (if CONFIG_PPC64_SWSUSP is set). Signed-off-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b07e35f94a7b6a059f889b904529ee907dc0634d Author: Oleg Nesterov Date: Thu Aug 30 23:56:27 2007 -0700 setpgid(child) fails if the child was forked by sub-thread Spotted by Marcin Kowalczyk . sys_setpgid(child) fails if the child was forked by sub-thread. Fix the "is it our child" check. The previous commit ee0acf90d320c29916ba8c5c1b2e908d81f5057d was not complete. (this patch asks for the new same_thread_group() helper, but mainline doesn't have it yet). Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Tested-by: "Marcin 'Qrczak' Kowalczyk" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d540fb71552b9f2c542bea967200c48be2d8ef6 Author: Christoph Lameter Date: Thu Aug 30 23:56:26 2007 -0700 slub: do not fail if we cannot register a slab with sysfs Do not BUG() if we cannot register a slab with sysfs. Just print an error. The only consequence of not registering is that the slab cache is not visible via /sys/slab. A BUG() may not be visible that early during boot and we have had multiple issues here already. Signed-off-by: Christoph Lameter Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ccdb4c8727c9963c7aa0d6301df283cf1f8a731 Author: Atsushi Nemoto Date: Thu Aug 30 23:56:25 2007 -0700 spi: correct name for spi_txx9 Correct the name of the spi_txx9 driver (and their in-tree user) instead of MODULE_ALIAS workaround. This would be preferable in the long term. Signed-off-by: Atsushi Nemoto Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc3ba9525b50ea0d1670357ece21ebedcee507ae Author: David Brownell Date: Thu Aug 30 23:56:24 2007 -0700 SPI driver hotplug/coldplug fixes Update various SPI drivers so they properly support - coldplug through "modprobe $(cat /sys/devices/.../modalias)" - hotplug through "modprobe $(MODALIAS)" The basic rule for platform, SPI, and (new style) I2C drivers is just to make sure that modprobing the driver name works. In this case, all the relevant drivers are platform drivers, and this patch either (a) Changes the driver name, if no in-tree code would break; this is simpler and thus preferable in the long term. (b) Adds MODULE_ALIAS directives, when in-tree platforms declare devices using the current driver name; less desirable. Most systems will link SPI controller drivers statically, but there's no point in being needlessly broken. Signed-off-by: David Brownell Cc: Jean Delvare Acked-by: Andrei Konovalov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2ab6d8889422c1f5354f014e8bef337b1d1bade Author: Jonathan Lim Date: Thu Aug 30 23:56:23 2007 -0700 Assign task_struct.exit_code before taskstats_exit() taskstats.ac_exitcode is assigned to task_struct.exit_code in bacct_add_tsk() through the following kernel function calls: do_exit() taskstats_exit() fill_pid() bacct_add_tsk() The problem is that in do_exit(), task_struct.exit_code is set to 'code' only after taskstats_exit() has been called. So we need to move the assignment before taskstats_exit(). Signed-off-by: Jonathan Lim Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c24c55c75a0d799be07ad6c1a7ff4ccfe25da75b Author: Ralf Baechle Date: Thu Aug 30 23:56:23 2007 -0700 Fix font dependency for SGI Newport console driver We better select a font when the newport driver is a module or the user experience might suffer. Signed-off-by: Ralf Baechle Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5cc15dac55d4943176f84681f37aa48094ffa8b Author: Jan Kara Date: Thu Aug 30 23:56:22 2007 -0700 Fix possible NULL pointer dereference in udf_table_free_blocks() Fix possible NULL pointer dereference when freeing blocks in case table of free space is used. Also fix handling of the case when we need to move extent from one block to another one to make space for indirect extent. BTW: Nobody seem to have ever used this code. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcec44770cc65660369ae17b4e44be027a64a46c Author: Jan Kara Date: Thu Aug 30 23:56:22 2007 -0700 UDF: handle wrong superblock better If UDF superblock is incorrect, we can fail to find a table of free / allocated space and consequently Oops. Handle this situation more gracefully by ignoring the broken UDF partition. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 989f89c57e6361e7d16fbd9572b5da7d313b073d Author: KAMEZAWA Hiroyuki Date: Thu Aug 30 23:56:21 2007 -0700 fix rcu_read_lock() in page migraton In migration fallback path, write_page() or lock_page() will be called. This causes sleep with holding rcu_read_lock(). For avoding that, just do rcu_lock if the page is Anon.(this is enough.) Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1254b12c93e1e586137a2ffef71fd33cf273f35 Author: Jeff Dike Date: Thu Aug 30 23:56:20 2007 -0700 uml: fix x86_64 core dump crash Stop UML crashing when trying to dump a process core on x86_64. This is the minimal fix to stop the crash - more things are broken here, and patches are forthcoming. The immediate thing to do is define ELF_CORE_COPY_REGS and ELF_CORE_COPY_FPREGS. Defining ELF_CORE_COPY_FPREGS allows dump_fpu to go away. It is defined in terms of save_fp_registers, so that needs to be added. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7ec16da5adc1c1b341b2a83bde7add17dcf811a Author: Jeff Dike Date: Thu Aug 30 23:56:17 2007 -0700 uml: fix linker script alignment bugs Fix a class of bugs in the UML linker scripts which caused section boundary variables to sometimes not line up with their sections. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 641916881322a2dee5b120d509a3bdd05a502510 Author: Andrew Morton Date: Thu Aug 30 23:56:17 2007 -0700 process_zones(): fix recovery code Don't try to free memory which we didn't allocate. Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 060d11b0b35d13eb2251fd08403d900b71df5791 Author: Andrew Morton Date: Thu Aug 30 23:56:16 2007 -0700 revert "eCryptfs: fix lookup error for special files" This patch got appied twice. Cc: Ryusuke Konishi Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43a98f05d99205687ddf74089e79a8312c8c5f90 Author: Tejun Heo Date: Thu Aug 23 10:15:18 2007 +0900 ata_piix: implement IOCFG bit18 quirk Some notebooks need bit18 of IOCFG to be cleared for the drive bay to work even though the bit is NOOP according to the datasheet. This patch implement IOCFG bit18 quirk and apply it to Clevo M570U. http://bugzilla.kernel.org/show_bug.cgi?id=8051 Signed-off-by: Tejun Heo Cc: D. Angelis Signed-off-by: Jeff Garzik commit 16c55b038033d8f6f7601996dfae44399666d9ab Author: Tejun Heo Date: Wed Aug 29 11:58:33 2007 +0900 libata: implement BROKEN_HPA horkage and apply it to affected drives Some drives choke on READ_NATIVE_MAX_ADDRESS[_EXT]. Implement ATA_HORKAGE_BROKEN_HPA and apply it to affected drives. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7f9992a23190418592f0810900e4f91546ec41da Author: Mikael Pettersson Date: Wed Aug 29 10:25:37 2007 +0200 sata_promise: FastTrack TX4200 is a second-generation chip This patch corrects sata_promise to classify FastTrack TX4200 (DID 3515/3519) as a second-generation chip. Promise's partial- source FT TX4200 driver confirms this classification. Treating it as a first-generation chip causes several problems: 1. Detection failures. This is a recent regression triggered by the hotplug-enabling changes in 2.6.23-rc1. 2. Various "failed to resume link for reset" warnings. This patch fixes . Thanks to Stephen Ziemba for reporting the bug and for testing the fix. Signed-off-by: Mikael Pettersson Tested-by: Stephen Ziemba Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit aa137f9d29d30592774c727ec5cfcf9891e576fa Author: Christoph Lameter Date: Fri Aug 31 00:48:45 2007 -0700 SLUB: Force inlining for functions in slub_def.h Some compilers (especially older gcc releases) may skip inlining sometimes which will lead to link failures. Force the inlining of keyfunctions in slub_def.h to avoid these issues. Signed-off-by: Christoph Lameter Acked-by: Jan Dittmer Signed-off-by: Linus Torvalds commit d36ee189f392ea89de85124a0b58477bb0f2e0a6 Author: Alan Cox Date: Thu Aug 23 20:19:55 2007 +0100 pata_marvell: Add more identifiers This replaces the patch which incorrectly removed the 6145 Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 3cc0b9d3baeb6103d87743e4737a4b6eda30d399 Author: Tejun Heo Date: Sat Aug 25 08:31:02 2007 +0900 ata_piix: add Satellite U200 to broken suspend list Satellite U200 also shares the problem. Add it to the broken suspend list. Original patch from John Schember. Signed-off-by: Tejun Heo Cc: John Schember Signed-off-by: Jeff Garzik commit 91a6d4ed333a47003f07636b3bd143521e0bbad1 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 27 19:35:22 2007 +0200 ata: add ATA_MWDMA* and ATA_SWDMA* defines Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit c5cf0ffa71d32c03607d287b76483479afb0bcd3 Author: Jason Gaston Date: Thu Aug 30 21:36:56 2007 -0700 ata_piix: IDE mode SATA patch for Intel Tolapai Resend trying to remove 8-bit characters in the email. This patch adds the Intel Tolapai IDE mode SATA controller DID's. Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit 18b2466c3050e23c98bb69bd3f35295ff8164851 Author: Alan Cox Date: Wed Aug 8 14:28:49 2007 +0100 libata-core: Allow translation setting to fail On some early drives (pre ATA1) this feature is not supported. If it fails then we know the drive geometry is the hardware geometry and the one we tried to set anyway so just carry on. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 5f92c329364c0bf2d3a356da5e8759fbe349f9d1 Author: David S. Miller Date: Thu Aug 30 22:27:28 2007 -0700 [SPARC64]: Fix several bugs in MSI handling. 1) sun4{u,v}_build_msi() have improper return value handling. We should always return negative error codes, instead of using the magic value "0" which could in fact be a valid MSI number. 2) sun4{u,v}_build_msi() should return -ENOMEM instead of calling prom_prom() halt with kzalloc() of the interrupt data fails. 3) We 'remembered' the MSI number using a singleton in the struct device archdata area, this doesn't work for MSI-X which can cause multiple MSIs assosciated with one device. Delete that archdata member, and instead store the MSI number in the IRQ chip data area. Signed-off-by: David S. Miller commit 6e69d6068cc2aa545544189a1ee4d2e1a32ad591 Author: David S. Miller Date: Tue Aug 28 14:25:32 2007 -0700 [SPARC64]: Fix type and constant sizes wrt. sun4u IMAP/ICLR handling. Sometimes we were using 32-bit values and the top bits were getting inadvertantly chopped off. This will matter for the forthcoming Fire controller MSI support. Signed-off-by: David S. Miller commit 88282c6ecf0dacefda6090b0289d35e8a3cc6221 Author: Pavel Emelyanov Date: Thu Aug 30 22:46:36 2007 -0700 [PKTGEN]: Remove write-only variable. The pktgen_thread.pid is set to current->pid and is never used after this. So remove this at all. Found during isolating the explicit pid/tgid usage. Signed-off-by: Pavel Emelyanov Acked-by: Sukadev Bhattiprolu Signed-off-by: David S. Miller commit a289d70d74c39a8e6938619f967fc6cd70ce1798 Author: Jesper Bengtsson Date: Thu Aug 30 22:36:43 2007 -0700 [NETFILTER]: xt_tcpudp: fix wrong struct in udp_checkentry It doesn't seem to have any effect on the x86 architecture but it does have effect on the Axis CRIS architecture. Signed-off-by: Jesper Bengtsson Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dbaaa07a60edf71670b484a65e14400ab40c84f7 Author: Lucas Nussbaum Date: Thu Aug 30 22:35:46 2007 -0700 [NET_SCHED] sch_prio.c: remove duplicate call of tc_classify() When CONFIG_NET_CLS_ACT is enabled, tc_classify() is called twice in prio_classify(). This causes "interesting" behaviour: with the setup below, packets are duplicated, sent twice to ifb0, and then loop in and out of ifb0. The patch uses the previously calculated return value in the switch, which is probably what Patrick had in mind in commit bdba91ec70fb5ccbdeb1c7068319adc6ea9e1a7d -- maybe Patrick can double-check this? -- example setup -- ifconfig ifb0 up tc qdisc add dev ifb0 root netem delay 2s tc qdisc add dev $ETH root handle 1: prio tc filter add dev $ETH parent 1: protocol ip prio 10 u32 \ match ip dst 172.24.110.6/32 flowid 1:1 \ action mirred egress redirect dev ifb0 ping -c1 172.24.110.6 Signed-off-by: Lucas Nussbaum Signed-off-by: David S. Miller commit 2d8348b429b4ae5cc47449c787881221fe43af4b Author: Alexey Starikovskiy Date: Fri Aug 31 09:05:26 2007 +0400 ACPI: EC: Check if boot_ec was really found in DSDT acpi_get_devices() returns success if it did not find any device. We have to check for this case. Signed-off-by: Alexey Starikovskiy Tested-by: Daniel Ritz Tested-by: Luca Signed-off-by: Linus Torvalds commit b4a488d1824a2cc3514f9ee1298d805bd5edc893 Author: Stephen Hemminger Date: Thu Aug 30 22:16:22 2007 -0700 [BRIDGE]: Fix OOPS when bridging device without ethtool. Bridge code calls ethtool to get speed. The conversion to using only ethtool_ops broke the case of devices without ethtool_ops. This is a new regression in 2.6.23. Rearranged the switch to a logical order, and use gcc initializer. Ps: speed should have been part of the network device structure from the start rather than burying it in ethtool. Signed-off-by: Stephen Hemminger Acked-by: Matthew Wilcox Signed-off-by: David S. Miller commit df1c0b8468b34628ed12b103804a4576cd9af8bb Author: Stephen Hemminger Date: Thu Aug 30 22:15:35 2007 -0700 [BRIDGE]: Packets leaking out of disabled/blocked ports. This patch fixes some packet leakage in bridge. The bridging code was allowing forward table entries to be generated even if a device was being blocked. The fix is to not add forwarding database entries unless the port is active. The bug arose as part of the conversion to processing STP frames through normal receive path (in 2.6.17). Signed-off-by: Stephen Hemminger Acked-by: John W. Linville Signed-off-by: David S. Miller commit 05bb1fad1cde025a864a90cfeb98dcbefe78a44a Author: David S. Miller Date: Thu Aug 30 22:10:28 2007 -0700 [TCP]: Allow minimum RTO to be configurable via routing metrics. Cell phone networks do link layer retransmissions and other things that cause unnecessary timeout retransmits. So allow the minimum RTO to be inflated per-route to deal with this. Signed-off-by: David S. Miller commit 62e6f1e8bb7c48c02b8bdb3085c5f6365682149b Author: Hugh Dickins Date: Fri Aug 31 04:26:50 2007 +0100 fix maxcpus=1 oops in show_stat() Alexey Dobriyan reports that maxcpus=1 is still broken in 2.6.23-rc4: if CONFIG_HOTPLUG_CPU is not set, x86_64 bootup oopses in show_stat() - for_each_possible_cpu accesses a per-cpu area which was never set up. Alexey identified commit 61ec7567db103d537329b0db9a887db570431ff4 (ACPI: boot correctly with "nosmp" or "maxcpus=0") as the origin; but it's not really to blame, just exposes a bug in 2.6.23-rc1's commit 8b3b295502444340dd0701855ac422fbf32e161d (Especially when !CONFIG_HOTPLUG_CPU, avoid needlessy allocating resources for CPUs that can never become available). rc1's test for max_cpus < 2 in start_kernel() wasn't working because max_cpus was still NR_CPUS at that point: until rc4 moved the maxcpus parsing earlier. Now it sets cpu_possible_map to 1 before allocating all possible per-cpu areas; then smp_init() expands cpu_possible_map to cpu_present_map (0xf in my case) later on. rc1's commit has good intentions, but expects cpu_present_map to be limited by maxcpus, which is only the case on i386. cpus_and(possible, possible,present) might be good, but needs an audit of cpu_present_map uses - there may well be assumptions that any cpu present is possible. So stay safe for now and just revert those #ifndef CONFIG_HOTPLUG_CPU optimizations in rc1's commit. Signed-off-by: Hugh Dickins Cc: Alexey Dobriyan Cc: Len Brown Cc: Andrew Morton Cc: Jan Beulich Signed-off-by: Linus Torvalds commit 4ac212ad4e8fafc22fa147fc255ff5fa5435cf33 Author: Stephen Smalley Date: Wed Aug 29 08:51:50 2007 -0400 SELinux: clear parent death signal on SID transitions Clear parent death signal on SID transitions to prevent unauthorized signaling between SIDs. Signed-off-by: Stephen Smalley Acked-by: Eric Paris Signed-off-by: James Morris commit cb243a1a9fef4aaff262a5dd14f987070d37229b Author: Wei Yongjun Date: Mon Aug 6 13:55:58 2007 +0800 SCTP: Fix to handle invalid parameter length correctly If an INIT with invalid parameter length look like this: Parameter Type : 1 Parameter Length: 800 and not contain any payload, SCTP will ignore this parameter and send back a INIT-ACK. This patch is fix to handle this invalid parameter length correctly. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 609ee4679b8a0831257552dd2b0e54f509ba0c77 Author: Vlad Yasevich Date: Fri Aug 31 03:10:59 2007 +0900 SCTP: Abort on COOKIE-ECHO if backlog is exceeded. Currently we abort on the INIT chunk we our backlog is currenlty exceeded. Delay this about untill COOKIE-ECHO to give the user time to accept the socket. Also, make sure that we treat sk_max_backlog of 0 as no connections allowed. Signed-off-by: Vlad Yasevich commit 498d63071ef378e201979e441aefcc6565702ca7 Author: Vlad Yasevich Date: Thu Aug 30 14:03:58 2007 -0400 SCTP: Correctly disable listening when backlog is 0. Signed-off-by: Vlad Yasevich commit d0ce92910bc04e107b2f3f2048f07e94f570035d Author: Vlad Yasevich Date: Fri Aug 24 19:37:46 2007 +0900 SCTP: Do not retransmit chunks that are newer then rtt. When performing a retransmit, do not include the chunk if it was sent less then 1 rtt ago. The reason is that we may receive the SACK very soon and wouldn't retransmit. Suggested by Randy Stewart. Signed-off-by: Vlad Yasevich commit cc75689a4c4eb94b2fd7e3870347b9237ab39503 Author: Vlad Yasevich Date: Fri Aug 24 19:30:25 2007 +0900 SCTP: Uncomfirmed transports can't become Inactive Do not set Unconfirmed transports to Inactive state. This may result in an inactive association being destroyed since we start counting errors on "inactive" transports against the association. This was found at the SCTP interop event. Signed-off-by: Vlad Yasevich commit 2772b495efe341a02c867bc3a03d7362bd336832 Author: Vlad Yasevich Date: Tue Aug 21 14:24:30 2007 +0900 SCTP: Pick the correct port when binding to 0. sctp_bindx() allows the use of unspecified port. The problem is that every address we bind to ends up selecting a new port if the user specified port 0. This patch allows re-use of the already selected port when the port from bindx was 0. Signed-off-by: Vlad Yasevich commit d99fa42963a5ae394cf1df9d5bb739eb378a189b Author: Wei Yongjun Date: Mon Aug 27 11:19:24 2007 +0800 SCTP: Use net_ratelimit to suppress error messages print too fast When multi bundling SHUTDOWN-ACK message is received in ESTAB state, this will cause "sctp protocol violation state" message print many times. If SHUTDOWN-ACK is bundled 300 times in one packet, message will be print 300 times. The same problem also exists when received unexpected HEARTBEAT-ACK message which is bundled message times. This patch used net_ratelimit() to suppress error messages print too fast. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 00f1c2df2a1c4903f4daa1333bafeb6dcbc9591d Author: Wei Yongjun Date: Tue Aug 21 15:50:01 2007 +0800 SCTP: Fix to encode PROTOCOL VIOLATION error cause correctly PROTOCOL VIOLATION error cause in ABORT is bad encode when make abort chunk. When SCTP encode ABORT chunk with PROTOCOL VIOLATION error cause, it just add the error messages to PROTOCOL VIOLATION error cause, the rest four bytes(struct sctp_paramhdr) is just add to the chunk, not change the length of error cause. This cause the ABORT chunk to be a bad format. The chunk is like this: ABORT chunk Chunk type: ABORT (6) Chunk flags: 0x00 Chunk length: 72 (*1) Protocol violation cause Cause code: Protocol violation (0x000d) Cause length: 62 (*2) Cause information: 5468652063756D756C61746976652074736E2061636B2062... Cause padding: 0000 [Needless] 00030010 Chunk Length(*1) = 72 but Cause length(*2) only 62, not include the extend 4 bytes. ((72 - sizeof(chunk_hdr)) = 68) != (62 +3) / 4 * 4 Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit b5f281a62761887e7cb5f60fa81f7cd052fec5cb Author: Adrian Bunk Date: Thu Aug 30 01:29:33 2007 +0200 xtensa process.c must #include Another fallout from the removal of #include from mm.h Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 8057d763ed7a7365dc3402db0aed7c87d8531ecb Author: Rusty Russell Date: Thu Aug 30 06:35:08 2007 +1000 Fix lguest page-pinning logic ("lguest: bad stack page 0xc057a000") If the stack pointer is 0xc057a000, then the first stack page is at 0xc0579000 (the stack pointer is decremented before use). Not calculating this correctly caused guests with CONFIG_DEBUG_PAGEALLOC=y to be killed with a "bad stack page" message: the initial kernel stack was just proceeding the .smp_locks section which CONFIG_DEBUG_PAGEALLOC marks read-only when freeing. Thanks to Frederik Deweerdt for the bug report! Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 8d614ade511fef11f992d6a73e538d33b3b81f12 Author: Wei Yongjun Date: Mon Aug 6 13:55:47 2007 +0800 SCTP: Fix sctp_addto_chunk() to add pad with correct length At function sctp_addto_chunk(), it do pad before add payload to chunk if chunk length is not 4-byte alignment. But it do pad with a bad length. This patch fixed this probleam. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit fc43dca9e75b87d24a16d5be7b497e83837d9d31 Author: Masakazu Mokuno Date: Wed Aug 29 20:30:25 2007 +0900 [POWERPC] PS3: Fix bug where the major version part is not compared Fix the bug that the major version part of the firmware version number is ignored in the comparison done by ps3_compare_firmware_version because the difference of two 64-bit quantities is returned as an int. Signed-off-by: Masakazu Mokuno Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit a98b38b83db3d377ede6b72cebe7ed2dc4127766 Author: Pavel Pisa Date: Wed Aug 29 23:23:38 2007 +0100 [ARM] 4561/1: i.MX/MX1 GPIO parenthes omission and input setup fix During GPIO testing on PiMX1 board there has been revealed problem with some pins input functions. The GIUS bit has to be set for inputs to work reliably too. It is surprising that input worked on some inputs with incorrect setup before. DR is not mandatory, but it ensures stable constant level on internal traces. Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 13a6976afdb10d54ac5ad344aa0c588bc0bd8b0a Author: Paul Mackerras Date: Thu Aug 30 16:51:51 2007 +1000 [POWERPC] Update defconfigs Signed-off-by: Paul Mackerras commit ada83daab31c3ec35845785482124373a62f430c Author: Andre Detsch Date: Tue Aug 21 10:06:22 2007 +0800 [POWERPC] spufs: Don't call spu_run_init from spu_reacquire_runnable This fixes a major bug which was happening when a SPU thread advances its execution right after being restored to a SPU. A potentially outdated NPC value was being (re)written to the SPU. So, spu_run_init, in this case, was either not doing anything relevant, or breaking the execution of the SPU thread. This fixes a common problem of losing a mailbox write when it was done to a saved context. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 62ee68e3bcb0d056aae5b36dea0388ca25572cdf Author: Arnd Bergmann Date: Tue Aug 21 10:06:22 2007 +0800 [POWERPC] spufs: Fix update of mailbox status register during backed wbox write When a process writes into the inbound spu mailbox (wbox) while the context is saved, we accidentally break the contents of the mb_stat_R register by clearing other entries of the mailbox status register. This can cause the user side to hang. This change fixes the problem by only altering the appropriate bits of the mailbox status register during a backing-store write. Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit b3e2c70cd0d05fb6621521521fbd5debed57d753 Author: Adrian Bunk Date: Thu Aug 30 00:44:33 2007 -0400 Input: psmouse - make dummy touchkit_ps2_detect() static The dummy touchkit_ps2_detect() for the CONFIG_MOUSE_PS2_TOUCHKIT=n case shouldn't be a global function. Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 7460caf32a16866f9d8675aa7aefd7d82d1e23f7 Author: Mariusz Kozlowski Date: Thu Aug 30 00:18:00 2007 -0400 Input: gscps2 - convert to use kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit d9f03831e7dc743ae25863c59f38884f5989ab39 Author: Andrew Morton Date: Thu Aug 30 00:04:33 2007 -0400 Input: iforce - fix 'unused variable' warning drivers/input/joystick/iforce/iforce-packets.c: In function `iforce_get_id_packet': drivers/input/joystick/iforce/iforce-packets.c:249: warning: unused variable `status' Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit e3758b2ab61b3001b9db4582559bbaeba5e24a29 Author: Fernando Luis Vázquez Cao Date: Thu Aug 30 00:04:15 2007 -0400 Input: i8042 - fix retrun value of i8042_aux_test_irq We should not return IRQ_HANDLED if we didn't handle the interrupt. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Dmitry Torokhov commit aac2e68481681a362ab6f44fc515034e2a4c7f2c Author: Christian Krafft Date: Thu Aug 30 01:33:53 2007 +0200 [POWERPC] spu_manage: fix spu_unit_number for celleb device tree This fixes a regression introduced with 2.6.23-rc4 after on some confusion about the device tree interfaces. IBM QS21 device trees provide "physical-id", so we changed the code to run on that and remain compatible with all IBM machines. However, the Toshiba Celleb device tree provides the "unit-id" property, which was in the Linux code, but never used in this way on IBM hardware. Legacy device tree used the reg property for the physical id of an spe. This patch fixes find_spu_unit_number to look for the spu id in that order. The length is checked to avoid misinterpretation in case the attributes unit-id or reg do not contain the id. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Cc: Jeremy Kerr commit 5cc44e086d7a4e20035997ec612678ca91f426e7 Author: Kumar Gala Date: Tue Aug 28 21:46:53 2007 -0500 [POWERPC] Update defconfigs Signed-off-by: Kumar Gala commit ab3e5e7b65dde661f5eb86b445496c5967283333 Author: Vlad Yasevich Date: Thu Aug 2 16:51:42 2007 -0400 SCTP: Assign stream sequence numbers to the entire message Currently we only assign the sequence number to a packet that we are about to transmit. This however breaks the Partial Reliability extensions, because it's possible for us to never transmit a packet, i.e. it expires before we get to send it. In such cases, if the message contained multiple SCTP fragments, and we did manage to send the first part of the message, the Stream sequence numbers would get into invalid state and cause receiver to stall. Signed-off-by: Vlad Yasevich commit ea2dfb3733d53ac98b17756435d1f99e25490357 Author: Vlad Yasevich Date: Fri Jul 13 17:01:19 2007 -0400 SCTP: properly clean up fragment and ordering queues during FWD-TSN. When we recieve a FWD-TSN (meaning the peer has abandoned the data), we need to clean up any partially received messages that may be hanging out on the re-assembly or re-ordering queues. This is a MUST requirement that was not properly done before. Signed-off-by: Vlad Yasevich commit 0ee6c15e7ba7b36a217cdadb292eeaf32a057a59 Author: Kumar Gala Date: Tue Aug 28 21:15:53 2007 -0500 [POWERPC] Flush registers to proper task context When we flush register state for FP, Altivec, or SPE in flush_*_to_thread we need to respect the task_struct that the caller has passed to us. Most cases we are called with current, however sometimes (ptrace) we may be passed a different task_struct. This showed up when using gdbserver debugging a simple program that used floating point. When gdb tried to show the FP regs they all showed up as 0, because the child's FP registers were never properly flushed to memory. Signed-off-by: Kumar Gala commit 378be2c08314fc46e3f814fa264ff8ebdb79712f Author: Robert Olsson Date: Tue Aug 28 15:43:14 2007 -0700 [PKTGEN]: Fix multiqueue oops. Initially pkt_dev can be NULL this causes netif_subqueue_stopped to oops. The patch below should cure it. But maybe the pktgen TX logic should be reworked to better support the new multiqueue support. Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 594a9dfae7113d9601b2c353754c40d0b7e00a03 Author: Michael Chan Date: Tue Aug 28 15:39:42 2007 -0700 [BNX2]: Add write posting comment. Add comment to explain why we cannot read back after chip reset before delaying. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fd51bcc5dc4073b18308f25846aa3b421fa3c42e Author: Samuel Date: Tue Aug 28 19:56:34 2007 +0100 [ARM] 4557/1: Fix PXA irq gpio initialization As pointed out by Jrgen, we are overflowing the number of GPIOs in pxa_init_irq_gpio(). I'm seeing the same problem on my HTC Universal PXA270 based PDA. According to Eric, the function argument is the number of GPIOs, so we should keep the semantics and reduce the number of iteration by 1. Signed-off-by: Samuel Ortiz Acked-by: Jrgen Schindele Signed-off-by: Russell King commit 8e54588161577435d64dfb5cfdf40a73a5705ea0 Author: Arjan van de Ven Date: Tue Aug 28 14:34:43 2007 -0700 [BNX2]: Use msleep(). bnx2.c (incorrectly) sets current->state directly to TASK_UNINTERRUPTIBLE, without going through set_task_state(). However all the code wants to do is an msleep so just make it do that instead... Signed-off-by: Arjan van de Ven Acked-by: Michael Chan Signed-off-by: David S. Miller commit 9f508f8258e18e9333f18daf1f0860df48d49ed2 Author: Ingo Molnar Date: Tue Aug 28 12:53:24 2007 +0200 sched: clean up task_new_fair() cleanup: we have the 'se' and 'curr' entity-pointers already, no need to use p->se and current->se. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit 213c8af67f21c1dc0d50940b159d9521c95f3c89 Author: Ingo Molnar Date: Tue Aug 28 12:53:24 2007 +0200 sched: small schedstat fix small schedstat fix: the cfs_rq->wait_runtime 'sum of all runtimes' statistics counters missed newly forked tasks and thus had a constant negative skew. Fix this. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit b77d69db9f4ba03b2ed17e383c2d73ca89f5ab14 Author: Ingo Molnar Date: Tue Aug 28 12:53:24 2007 +0200 sched: fix wait_start_fair condition in update_stats_wait_end() Peter Zijlstra noticed the following bug in SCHED_FEAT_SKIP_INITIAL (which is disabled by default at the moment): it relies on se.wait_start_fair being 0 while update_stats_wait_end() did not recognize a 0 value, so instead of 'skipping' the initial interval we gave the new child a maximum boost of +runtime-limit ... (No impact on the default kernel, but nice to fix for completeness.) Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit 7109c4429af3640f79a638f177fc5d05b9807149 Author: Ting Yang Date: Tue Aug 28 12:53:24 2007 +0200 sched: call update_curr() in task_tick_fair() update the fair-clock before using it for the key value. [ mingo@elte.hu: small cleanups. ] Signed-off-by: Ting Yang Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra commit f6cf891c4d7128f9f91243fc0b9ce99e10fa1586 Author: Ingo Molnar Date: Tue Aug 28 12:53:24 2007 +0200 sched: make the scheduler converge to the ideal latency de-HZ-ification of the granularity defaults unearthed a pre-existing property of CFS: while it correctly converges to the granularity goal, it does not prevent run-time fluctuations in the range of [-gran ... 0 ... +gran]. With the increase of the granularity due to the removal of HZ dependencies, this becomes visible in chew-max output (with 5 tasks running): out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40 out: 27 . 27. 32 | flu: 0 . 0 | ran: 17 . 13 | per: 44 . 40 out: 27 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 36 . 40 out: 29 . 27. 32 | flu: 2 . 0 | ran: 17 . 13 | per: 46 . 40 out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40 out: 29 . 27. 32 | flu: 0 . 0 | ran: 18 . 13 | per: 47 . 40 out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40 average slice is the ideal 13 msecs and the period is picture-perfect 40 msecs. But the 'ran' field fluctuates around 13.33 msecs and there's no mechanism in CFS to keep that from happening: it's a perfectly valid solution that CFS finds. to fix this we add a granularity/preemption rule that knows about the "target latency", which makes tasks that run longer than the ideal latency run a bit less. The simplest approach is to simply decrease the preemption granularity when a task overruns its ideal latency. For this we have to track how much the task executed since its last preemption. ( this adds a new field to task_struct, but we can eliminate that overhead in 2.6.24 by putting all the scheduler timestamps into an anonymous union. ) with this change in place, chew-max output is fluctuation-less all around: out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 1 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 1 | ran: 13 . 13 | per: 41 . 40 this patch has no impact on any fastpath or on any globally observable scheduling property. (unless you have sharp enough eyes to see millisecond-level ruckles in glxgears smoothness :-) Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit 5f01d519e60a6ca1a7d9be9f2d73c5f521383992 Author: Mike Galbraith Date: Tue Aug 28 12:53:24 2007 +0200 sched: fix sleeper bonus limit There is an Amarok song switch time increase (regression) under hefty load. What is happening is that sleeper_bonus is never consumed, and only rarely goes below runtime_limit, so for the most part, Amarok isn't getting any bonus at all. We're keeping sleeper_bonus right at runtime_limit (sched_latency == sched_runtime_limit == 40ms) forever, ie we don't consume if we're lower that that, and don't add if we're above it. One Amarok thread waking (or anybody else) will push us past the threshold, so the next thread waking gets nada, but will reap pain from the previous thread waking until we drop back to runtime_limit. It looks to me like under load, some random task gets a bonus, and everybody else pays, whether deserving or not. This diff fixed the regression for me at any load rate. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 9d84588bdb72b6ec9d891fbdaa4305023e16ee3a Author: Krzysztof Helt Date: Sat Aug 18 22:23:57 2007 +0100 [ARM] 4551/1: s3c24xx: fix wrong virtual address offsets This patch reduces 36-bit offset to 32-bit offsets. The 36-bit offsets makes virtual addresses wraps when added to 32-bit base. Signed-off-by: Krzysztof Helt Acked-by: Ben Dooks Signed-off-by: Russell King commit a228d6e7ed8e3624b6c1497a550d8d0e2cac889f Author: Pavel Pisa Date: Mon Aug 20 21:39:41 2007 +0100 [ARM] 4552/1: i.MX/MX1 GPIO output setup fix The pins for GPIO should be provided as plain number build as (GPIO_PORTx + pin_number). But to setup the output GPIO_GIUS and GPIO_DR have to be specified in mode to route right value to the pin. This is a fix, it should go to 2.6.23 Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 7b1bc03e803f772bf71245eaba461651f32481b4 Author: Karl Olsen Date: Mon Aug 20 22:35:04 2007 +0100 [ARM] 4553/1: ARM at91: define FIQ_START For ARM at91, the FIQ_START #define is required if you use a driver that enables FIQ support. Signed-off-by: Karl Olsen Acked-by: Andrew Victor Signed-off-by: Russell King commit 90833fdab89da02fc0276224167f0a42e5176f41 Author: Jared Hulbert Date: Wed Aug 22 17:38:25 2007 +0100 [ARM] 4554/1: replace consistent_sync() with flush_ioremap_region() This fixes a regression from around 2.6.18, consistent_sync() will now BUG() under these circumstances. The use of consistent_sync() was a hack, replacing it's usage here with a new function, flush_ioremap_region(). Signed-off-by: Jared Hulbert Acked-by: Pavel Pisa Signed-off-by: Russell King commit 671c7235ccd537f828986ef5a4071bf477541dc0 Author: Juha Yrjola Date: Wed Dec 6 17:13:49 2006 -0800 ARM: OMAP: Enable serial idling and wakeup features Enable serial idling and wakeup features Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren commit 1abc70fcd81b920dd7a1091ba8863dfe5463b130 Author: Juha Yrjola Date: Wed Dec 6 17:13:47 2006 -0800 ARM: OMAP2: Force APLLs always active The APLLs are most efficiently idled by hardware. Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren commit 666cd174c451c172dd115b9d94f150efe627b609 Author: Dirk Behme Date: Thu Jan 25 16:26:46 2007 -0800 ARM: OMAP: H3 workqueue fixes Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit eebdf7d7c478682756fd29d376223f350311f105 Author: David Brownell Date: Mon Apr 2 12:48:10 2007 -0700 ARM: OMAP: OSK led fixes Bugfixes for the OSK led support: - Fix Kconfig merge glitches: Mistral handles idle and timer leds just fine - Fix pm_suspend() runtime botch: can't sleep, so can't touch tps65010 leds Improvements: - Switch sense of Mistral idle led, so idle == off Probably the TPS65010 leds should be handled only by the "new led" API. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 4e63915cbe4525beb9c0281f8e22945d88acc9bc Author: David Brownell Date: Mon Apr 2 12:45:50 2007 -0700 ARM: OMAP: fix OMAP1 dmtimer build warning Remove the OMAP1 version of omap_dm_timer_get_fclk(), and its associated compile-time warning. It would only BUG() if called, while it's only called on OMAP2. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 5c5dccad31670faa716cbc9d8a6f918487f60a09 Author: Kevin Hilman Date: Wed May 16 08:52:05 2007 -0700 ARM: OMAP: Fix 32k timer unsupported one-shot mode Fix unsupported one-shot mode in set_mode hook. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 29e8277defa1013f8f5367aec58161d3a81de8f7 Author: Jesper Juhl Date: Mon Jul 23 20:39:13 2007 -0400 Input: gpio_keys - remove duplicate includes Signed-off-by: Jesper Juhl Signed-off-by: Dmitry Torokhov