commit ae99a78af33f00565a05dbbc6ca9b247fed002c5 Author: Linus Torvalds Date: Mon Oct 30 19:37:36 2006 -0800 Linux 2.6.19-rc4 Not halloween. Not scary. Just a regular -rc release. commit df6c0cd9a872ebf2298f5d66d8c789f62dbe35fc Author: Jun'ichi Nomura Date: Mon Oct 30 16:23:56 2006 -0500 [PATCH] clean up add_bd_holder() add_bd_holder() is called from bd_claim_by_kobject to put a given struct bd_holder in the list if there is no matching entry. There are 3 possible results of add_bd_holder(): 1. there is no matching entry and add the given one to the list 2. there is matching entry, so just increment reference count of the existing one 3. something failed during its course 1 and 2 are successful cases. But for case 2, someone has to free the unused struct bd_holder. The current code frees it inside of add_bd_holder and returns same value 0 for both cases 1 and 2. However, it's natural and less error-prone if caller frees it since it's allocated by the caller. Signed-off-by: Jun'ichi Nomura Signed-off-by: Linus Torvalds commit bcb55165d3d1ae3ec95807d118fd6d5956cd127b Author: Jun'ichi Nomura Date: Mon Oct 30 16:23:45 2006 -0500 [PATCH] fix bd_claim_by_kobject error handling This fixes bd_claim_by_kobject to release bdev correctly in case that bd_claim succeeds but following add_bd_holder fails. Signed-off-by: Jun'ichi Nomura Signed-off-by: Linus Torvalds commit 21e9ac7b2dd96dfca997313bae6d9a8f642635c7 Author: Ralf Baechle Date: Mon Oct 30 21:38:22 2006 +0000 [MIPS] MIPS doesn't need compat_sys_getdents. Signed-off-by: Ralf Baechle commit e52331845784daeefb78ab3b13efce51af3255bc Author: Ralf Baechle Date: Mon Oct 30 15:32:27 2006 +0000 [MIPS] JMR3927: Fixup another victim of the irq pt_regs cleanup. Signed-off-by: Ralf Baechle commit 77aec99906367276afedf6f5583671de2ff609be Author: Ralf Baechle Date: Mon Oct 30 14:59:54 2006 +0000 [MIPS] EMMA 2 / Markeins: struct resource takes physical addresses. Signed-off-by: Ralf Baechle commit 4aad7b726996a2d453d210cd5691730aca087b83 Author: Ralf Baechle Date: Mon Oct 30 14:47:21 2006 +0000 [MIPS] EMMA 2 / Markeins: Convert to name struct resource initialization. This fixes the wreckage caused by shuffeling the order of struct resource members. Signed-off-by: Ralf Baechle commit e30e66becaa237d1753d148703cf8f1301ab27f0 Author: Ralf Baechle Date: Mon Oct 30 14:30:07 2006 +0000 [MIPS] EMMA 2 / Markeins: Formitting fixes split from actual address fixes. Signed-off-by: Ralf Baechle commit 408d3258f99458f2dabcb1aa33918250e4864f00 Author: Ralf Baechle Date: Mon Oct 30 14:19:37 2006 +0000 [MIPS] EMMA 2 / Markeins: Fix build wreckage due to genirq wreckage. I wonder if the original contributor still cares ... Signed-off-by: Ralf Baechle commit 6ceb6d3ab2d402cea326320a4143db90a66fd216 Author: Ralf Baechle Date: Mon Oct 30 12:52:16 2006 +0000 [MIPS] Ocelot G: Fix build error and numerous warnings. The cause of the build errors was a 64-bit kernel being configured in ocelot_g_defconfig without the code being 64-bit proof. Fixed for now by limiting 64-bit selection to SYS_SUPPORTS_64BIT_KERNEL if BROKEN. Signed-off-by: Ralf Baechle commit c39c30da2dad1aa3fb61862039634e9480a16fde Author: Yoichi Yuasa Date: Sun Oct 29 23:37:55 2006 +0900 [MIPS] Fix return value of TXX9 SPI interrupt handler Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit a597a473b422f5a69b1f567f12e04db39fa01f39 Author: Yoichi Yuasa Date: Sun Oct 29 23:37:40 2006 +0900 [MIPS] Au1000: Fix warning about unused variable. arch/mips/au1000/common/time.c: In function `mips_timer_interrupt': arch/mips/au1000/common/time.c:82: warning: unused variable `count' Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 991ea26dcbc2524a054f37911ea375e631cb8891 Author: Ralf Baechle Date: Sun Oct 29 21:07:40 2006 +0000 [MIPS] Wire up getcpu(2) and epoll_wait(2) syscalls. Signed-off-by: Ralf Baechle commit 9448b8f6a014f46450ef65d81c0be2ca5a81c867 Author: Manish Lachwani Date: Thu Oct 5 16:30:44 2006 -0700 [MIPS] Make SB1 cache flushes not to use on_each_cpu This fixes the start_kernel(): bug: interrupts were enabled early messages. Signed-off-by: Manish Lachwani Signed-off-by: Ralf Baechle commit f0ec69e52989986e861a352099803cbb77ca53ba Author: Yoichi Yuasa Date: Sat Oct 28 00:42:24 2006 +0900 [MIPS] Fix warning about unused definition in c-sb1.c arch/mips/mm/c-sb1.c: In function `sb1_cache_init': arch/mips/mm/c-sb1.c:447: warning: unused variable `handle_vec2_sb1' Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 8cde4a3162fdcccaf0ecbf3c21cdb13df422936d Author: Ralf Baechle Date: Thu Oct 26 14:29:01 2006 +0100 [MIPS] SMTC: Make 8 the default number of processors. 8 is the next larger power of two of the currently 5 supported TCs. Signed-off-by: Ralf Baechle commit ea3df4ac7d4adad915e2d0431a9407b10617114c Author: Ralf Baechle Date: Mon Oct 23 23:21:21 2006 +0100 [MIPS] Oprofile: Fix MIPSxx counter number detection. Signed-off-by: Ralf Baechle commit 53c1b192ece077e1c3892e6afb453ab6f009af81 Author: Sergei Shtylyov Date: Sun Sep 3 22:17:10 2006 +0400 [MIPS] Au1xx0 code sets incorrect mips_hpt_frequency Alchemy CPU counter ticks at the full CPU clock speed. Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit be609f3546d3dd96afd7df8856a91fa2b8825fbc Author: Ralf Baechle Date: Mon Oct 23 13:22:06 2006 +0100 [MIPS] Oprofile: fix on non-VSMP / non-SMTC SMP configurations. Signed-off-by: Ralf Baechle commit a7aacdf9ea45bf6139cfd750e558a3dcbc6f16c3 Author: Albert Cahalan Date: Sun Oct 29 22:26:17 2006 -0500 [PATCH] fix i386 regparm=3 RT signal handlers on x86_64 The recent change to make x86_64 support i386 binaries compiled with -mregparm=3 only covered signal handlers without SA_SIGINFO. (the 3-arg "real-time" ones) This is useful for klibc at least. Signed-off-by: Albert Cahalan Signed-off-by: Linus Torvalds commit 202dd450246cd658e298a86dddca5592fcb898cd Author: Andrew Morton Date: Sun Oct 29 22:57:57 2006 -0800 [PATCH] fix "sunrpc: fix refcounting problems in rpc servers" - printk should remain dprintk - fix coding-style. Cc: Neil Brown Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f4b23e9833f0816b57d07401eac5e184b627fd7 Author: Kristian Mueller Date: Sun Oct 29 22:46:46 2006 -0800 [PATCH] APM: URL of APM 1.2 specs has changed APM BIOS Interface Secification can now be found at http://www.microsoft.com/whdc/archive/amp_12.mspx Signed-off-by: Kristian Mueller Acked-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6740df98e12a8e49ef3a699dcc1e2913f22c51b Author: Neil Brown Date: Sun Oct 29 22:46:45 2006 -0800 [PATCH] sunrpc: fix refcounting problems in rpc servers A recent patch fixed a problem which would occur when the refcount on an auth_domain reached zero. This problem has not been reported in practice despite existing in two major kernel releases because the refcount can never reach zero. This patch fixes the problems that stop the refcount reaching zero. 1/ We were adding to the refcount when inserting in the hash table, but only removing from the hashtable when the refcount reached zero. Obviously it never would. So don't count the implied reference of being in the hash table. 2/ There are two paths on which a socket can be destroyed. One called svcauth_unix_info_release(). The other didn't. So when the other was taken, we can lose a reference to an ip_map which in-turn holds a reference to an auth_domain So unify the exit paths into svc_sock_put. This highlights the fact that svc_delete_socket has slightly odd semantics - it does not drop a reference but probably should. Fixing this need a bit more thought and testing. Signed-off-by: Neil Brown Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b52c9590d5ad2fb67b720ec12018dd2cf061480 Author: Sergey Vlasov Date: Sun Oct 29 22:46:44 2006 -0800 [PATCH] drivers/ide/pci/generic.c: add missing newline to the all-generic-ide message Signed-off-by: Sergey Vlasov Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0ec1aaf54caddd21c259aea8b2ecfbde4ee4fb9 Author: Oleg Nesterov Date: Sun Oct 29 22:46:43 2006 -0800 [PATCH] xacct_add_tsk: fix pure theoretical ->mm use-after-free Paranoid fix. The task can free its ->mm after the 'if (p->mm)' check. Signed-off-by: Oleg Nesterov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d45e44d4be60ef508579001792f33753b5cb6d36 Author: akpm@osdl.org Date: Sun Oct 29 22:46:42 2006 -0800 [PATCH] uml: fix compilation options for USER_OBJS From: Jeff Dike , Paolo Giarrusso Make sure that when compiling USER_OBJS the correct compilation options are passed; since they are compiled with USER_CFLAGS which is derived from CFLAGS, make sure it is a recursively evaluated variable, so that changes to CFLAGS done afterwards the inclusion of arch/$(ARCH)/Makefile are reflected in USER_CFLAGS. For instance, without this patch userspace objects are never compiled with debug info active. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b428b51ed9a4ff8445ea50769961f948480c1d36 Author: Paolo 'Blaisorblade' Giarrusso Date: Sun Oct 29 22:46:41 2006 -0800 [PATCH] Fix "Remove the use of _syscallX macros in UML" Fix commit 5f4c6bc1f369f20807a8e753c2308d1629478c61: it spits out warnings about missing syscall prototype (it is in ) and it does not recognize that two uses of _syscallX are to be resolved against kernel headers in the source tree, not against _syscallX; they in fact do not compile and would not work anyway. If _syscallX macros will be removed from the kernel tree altogether, the only reasonable solution for that piece of code is switching to open-coded inline assembly (it's remapping the whole executable from memory, except the page containing this code). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbb5bbb037812ba36d638014a93134148a568684 Author: Randy Dunlap Date: Sun Oct 29 22:46:40 2006 -0800 [PATCH] docbook: make a filesystems book Make a filesystems DocBook book/file by moving all filesystems info from kernel-api.tmpl. Will also merge journal-api.tmpl into it soon (with permission from Roger Gammans). Localizes filesystem info and reduces size of the huge (produced) kernel-api output files. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 351edd240d0ba8620789ca9e24f5a38b62157f23 Author: Randy Dunlap Date: Sun Oct 29 22:46:40 2006 -0800 [PATCH] MTD: fix last kernel-doc warning Fix the last current kernel-doc warning: Warning(/var/linsrc/linux-2619-rc3g5//include/linux/mtd/nand.h:416): No description found for parameter 'write_page' Signed-off-by: Randy Dunlap Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8da1f746588ba997734274b4aadc5ae501fbd88 Author: Alexey Dobriyan Date: Sun Oct 29 22:46:39 2006 -0800 [PATCH] cryptocop: double spin_lock_irqsave() Signed-off-by: Alexey Dobriyan Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7259f0d05d595b73ef312a082e628627c6414969 Author: Peter Zijlstra Date: Sun Oct 29 22:46:36 2006 -0800 [PATCH] lockdep: annotate DECLARE_WAIT_QUEUE_HEAD kernel: INFO: trying to register non-static key. kernel: the code is fine but needs lockdep annotation. kernel: turning off the locking correctness validator. kernel: [] show_trace_log_lvl+0x58/0x16a kernel: [] show_trace+0xd/0x10 kernel: [] dump_stack+0x19/0x1b kernel: [] __lock_acquire+0xf0/0x90d kernel: [] lock_acquire+0x4b/0x6b kernel: [] _spin_lock_irqsave+0x22/0x32 kernel: [] prepare_to_wait+0x17/0x4b kernel: [] lpfc_do_work+0xdd/0xcc2 [lpfc] kernel: [] kthread+0xc3/0xf2 kernel: [] kernel_thread_helper+0x5/0xb Another case of non-static lockdep keys; duplicate the paradigm set by DECLARE_COMPLETION_ONSTACK and introduce DECLARE_WAIT_QUEUE_HEAD_ONSTACK. Signed-off-by: Peter Zijlstra Cc: Greg KH Cc: Markus Lidel Acked-by: Ingo Molnar Cc: Arjan van de Ven Cc: James Bottomley Cc: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70812522b847bdb8fabee963191734f5fa3143f3 Author: Akinobu Mita Date: Sun Oct 29 22:46:35 2006 -0800 [PATCH] isdn/gigaset: avoid cs->dev null pointer dereference When gigaset_initbcs() is called, cs->dev is not initialized yet. If dev_alloc_skb() failed in this function, NULL poinster dereference will happen at dev_warn(). Cc: Kai Germaschewski Cc: Hansjoerg Lipp Cc: Tilman Schmidt Acked-by: Karsten Keil Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e2d57fc6e7dabdbfdd4f26c861e7e6c75d5bdcf Author: Randy Dunlap Date: Sun Oct 29 22:46:34 2006 -0800 [PATCH] ndiswrapper: don't set the module->taints flags For ndiswrapper, don't set the module->taints flags, just set the kernel global tainted flag. This should allow ndiswrapper to continue to use GPL symbols. Signed-off-by: Randy Dunlap Cc: Florin Malita Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5a89bae0449634fdb7aa7cdb1c5ba154e4a789b Author: Andrew Morton Date: Sun Oct 29 22:46:33 2006 -0800 [PATCH] ioc4_serial: irq flags fix Use the correct type for the CPU flags. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37af6560f7978c60791b5f3df17ce8b3e97f2d6e Author: Christophe Saout Date: Mon Oct 30 20:39:08 2006 +0100 [PATCH] Fix dmsetup table output change Fix dm-crypt after the block cipher API changes to correctly return the backwards compatible cipher-chainmode[-ivmode] format for "dmsetup table". Signed-off-by: Christophe Saout Cc: Alasdair G Kergon Cc: Herbert Xu Signed-off-by: Linus Torvalds diff linux-2.6.19-rc3.orig/drivers/md/dm-crypt.c linux-2.6.19-rc3/drivers/md/dm-crypt.c commit c1b707d253fe918b92882cff1dbd926b47e14fd2 Author: Jens Axboe Date: Mon Oct 30 19:54:23 2006 +0100 [PATCH] CFQ: bad locking in changed_ioprio() When the ioprio code recently got juggled a bit, a bug was introduced. changed_ioprio() is no longer called with interrupts disabled, so using plain spin_lock() on the queue_lock is a bug. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 0261d6886eb5822867a5310dc1e4479b940a1942 Author: Jens Axboe Date: Mon Oct 30 19:07:48 2006 +0100 [PATCH] CFQ: use irq safe locking in cfq_cic_link() If cfq_set_request() is called for a new process AND a non-fs io request (so that __GFP_WAIT may not be set), cfq_cic_link() may use spin_lock_irq() and spin_unlock_irq() with interrupts already disabled. Fix is to always use irq safe locking in cfq_cic_link() Acked-By: Arjan van de Ven Acked-by: Ingo Molnar Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 209ad53bc19667a128d9c51beba873a5c62bff6e Author: Linus Torvalds Date: Sun Oct 29 17:31:49 2006 -0800 Revert "r8169: mac address change support" This reverts commit a2b98a697fa4e7564f78905b83db122824916cf9. As per Guennadi Liakhovetski, the mac address change support code breaks some normal uses (_without_ any address changes), and until it's all sorted out, we're better off without it. Says Francois: "Go revert it. Despite what I claimed, I can not find a third-party confirmation by email that it works elsewhere. It would probably be enough to remove the call to __rtl8169_set_mac_addr() in rtl8169_hw_start() though." See also http://bugzilla.kernel.org/show_bug.cgi?id=6032 Cc: Guennadi Liakhovetski Acked-by: Francois Romieu Signed-off-by: Linus Torvalds commit 9f0f9313cec8c76c89bc8a68653f928fa12fab96 Author: Kristoffer Ericson Date: Sun Oct 29 22:38:08 2006 +0100 [ARM] 3914/1: [Jornada7xx] - Typo Fix in cpu-sa1110.c (b != B) "K4S281632b-1H" should read "K4S281632B-1H" (As it does everywhere else). No more coffe! Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 150ed8ed63b96d7f93ef7e6081797aa0df2b1abd Author: Akinobu Mita Date: Sun Oct 29 03:43:19 2006 +0900 [WATCHDOG] sc1200wdt.c pnp unregister fix. If no devices found or invalid parameter is specified, scl200wdt_pnp_driver is left unregistered. It breaks global list of pnp drivers. Signed-off-by: Akinobu Mita Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 5fdb51a10f3ab4320c3170b79d66ce34a6e65a67 Author: Geert Uytterhoeven Date: Sun Oct 29 11:21:51 2006 +0100 [PATCH] m68k: consolidate initcall sections Commit 61ce1efe6e40233663d27ab8ac9ba9710eebcaad missed the m68k initcall sections. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3d8334def5cf831d2ed438aae021696a2faa4ddd Author: Oleg Nesterov Date: Sun Oct 29 18:57:16 2006 +0300 [PATCH] taskstats: fix sk_buff size calculation prepare_reply() adds GENL_HDRLEN to the payload (genlmsg_total_size()), but then it does genlmsg_put()->nlmsg_put(). This means we forget to reserve a room for 'struct nlmsghdr'. Signed-off-by: Oleg Nesterov Cc: Thomas Graf Cc: Andrew Morton Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Linus Torvalds commit d46a3d0d07ba539aea5b0e1ad30e568f0cb03576 Author: Oleg Nesterov Date: Sun Oct 29 16:45:58 2006 +0300 [PATCH] taskstats: fix sk_buff leak 'return genlmsg_cancel()' in taskstats_user_cmd/taskstats_exit_send potentially leaks a skb. Unless we pass 'rep_skb' to the netlink layer we own sk_buff. This means we should always do kfree_skb() on failure. [ Thomas acked and pointed out missing return value in original version ] Signed-off-by: Oleg Nesterov Acked-by: Thomas Graf Cc: Andrew Morton Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Linus Torvalds commit 346f5c7ee7fa4ebee0e4c96415a7e59716bfa1d0 Author: Stefan Richter Date: Sun Oct 29 19:52:49 2006 +0100 ieee1394: ohci1394: revert fail on error in suspend Some errors during preparation for suspended state can be skipped with a warning instead of a failure of the whole suspend transition, notably an error in pci_set_power_state. Signed-off-by: Stefan Richter commit 811c9a4b618ffc7de097490f8dc61b43b8464b9c Author: Lennert Buytenhek Date: Sun Oct 29 14:15:10 2006 +0100 [ARM] 3913/1: n2100: fix IRQ routing for second ethernet port The second ethernet port on the Thecus n2100 was incorrectly assigned to XINT1 instead of the correct XINT3 (PCI INTB instead of INTD), which caused that port to be non-functional. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 5211e6e6c671f0d4b1e1a1023384d20227d8ee65 Author: Giridhar Pemmasani Date: Sun Oct 29 04:46:55 2006 -0800 [PATCH] Fix GFP_HIGHMEM slab panic As reported by Martin J. Bligh , we let through some non-slab bits to slab allocation through __get_vm_area_node when doing a vmalloc. I haven't been able to reproduce this, although I understand why it happens: vmalloc allocates memory with GFP_KERNEL | __GFP_HIGHMEM and commit 52fd24ca1db3a741f144bbc229beefe044202cac resulted in the same flags are passed down to cache_alloc_refill, causing the BUG. The following patch fixes it. Note that when calling kmalloc_node, I am masking off __GFP_HIGHMEM with GFP_LEVEL_MASK, whereas __vmalloc_area_node does the same with ~(__GFP_HIGHMEM | __GFP_ZERO). IMHO, using GFP_LEVEL_MASK is preferable, but either should fix this problem. Signed-off-by: Giridhar Pemmasani (pgiri@yahoo.com) Cc: Martin J. Bligh Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 51342d7126342e1f1a40cd96a5798a3cfd6136eb Author: Russell King Date: Sun Oct 29 12:51:05 2006 +0000 [ARM] Add KBUILD_IMAGE target support Add support for KBUILD_IMAGE on ARM. This takes the usual target specifiers (zImage/Image/etc) in the same way that powerpc does (iow, without the arch/arm/boot prefix). Signed-off-by: Russell King commit 9468613b2bb0a386af563953b613efc6c77bd8c1 Author: Russell King Date: Sat Oct 28 22:42:56 2006 +0100 [ARM] Fix suspend oops caused by PXA2xx PCMCIA driver The PXA2xx PCMCIA driver was registering a device_driver with the platform_bus_type. Unfortunately, this causes data outside the device_driver structure to be dereferenced as if it were a platform_driver structure, causing an oops. Convert the PXA2xx core driver to use the proper platform_driver structure. Signed-off-by: Russell King commit 84b5abe69ff600a559e1a1fa29f1edad707d4e2f Author: Russell King Date: Sat Oct 28 22:30:17 2006 +0100 [ARM] Fix i2c-pxa slave mode support i2c-pxa times out when trying to enable slave mode due to an incorrect test. Also, check that i2c->slave is non-NULL before dereferencing it. Signed-off-by: Russell King commit 0c6cb974636dd29681b03f8eb0ae227decab01fb Author: Mel Gorman Date: Sat Oct 28 10:38:59 2006 -0700 [PATCH] Calculation fix for memory holes beyong the end of physical memory absent_pages_in_range() made the assumption that users of the arch-independent zone-sizing API would not care about holes beyound the end of physical memory. This was not the case and was "fixed" in a patch called "Account for holes that are outside the range of physical memory". However, when given a range that started before a hole in "real" memory and ended beyond the end of memory, it would get the result wrong. The bug is in mainline but a patch is below. It has been tested successfully on a number of machines and architectures. Additional credit to Keith Mannthey for discovering the problem, helping identify the correct fix and confirming it Worked For Him. Signed-off-by: Mel Gorman Cc: keith mannthey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 057647fc47b3a5fbcfa997041db3f483d506603c Author: Alan Stern Date: Sat Oct 28 10:38:58 2006 -0700 [PATCH] workqueue: update kerneldoc This patch (as812) changes the kerneldoc comments explaining the return values from queue_work(), queue_delayed_work(), and queue_delayed_work_on(). The updated comments explain more accurately the meaning of the return code and avoid suggesting that a 0 value means the routine was unsuccessful. Signed-off-by: Alan Stern Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c333526f489044be2b93085720eb898f0037b346 Author: Alan Cox Date: Sat Oct 28 10:38:57 2006 -0700 [PATCH] JMB 368 PATA detection The Jmicron JMB368 is PATA only so has the PATA on function zero. Don't therefore skip function zero on this device when probing Signed-off-by: Alan Cox Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fa1d7d3b2c51594c0f3aa151983dd51f605e07d Author: Satoru Takeuchi Date: Sat Oct 28 10:38:57 2006 -0700 [PATCH] cpu-hotplug: release `workqueue_mutex' properly on CPU hot-remove _cpu_down() acquires `workqueue_mutex' on its process, but doen't release it if __cpu_disable() fails. Signed-off-by: Satoru Takeuchi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb1d860551c4307b1a7ee9a21b120319075e987e Author: Jim Houston Date: Sat Oct 28 10:38:56 2006 -0700 [PATCH] time_adjust cleared before use I notice that the code which implements adjtime clears the time_adjust value before using it. The attached patch makes the obvious fix. Acked-by: Roman Zippel Signed-off-by: Jim Houston Cc: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eba6cd671427df295c10b54ee69cd5de419d38fe Author: Randy Dunlap Date: Sat Oct 28 10:38:55 2006 -0700 [PATCH] move SYS_HYPERVISOR inside the Generic Driver menu Put SYS_HYPERVISOR inside the Generic Driver Config menu where it should be. Otherwise xconfig displays it as a dangling (lost) menu item under Device Drivers, all by itself (when all options are displayed). Signed-off-by: Randy Dunlap Cc: Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7c3f5f231c60d7e6ada5770b536df2b3ec1bd08 Author: Oleg Nesterov Date: Sat Oct 28 10:38:54 2006 -0700 [PATCH] fill_tgid: cleanup delays accounting fill_tgid() should skip not only an already exited group leader. If the task has ->exit_state != 0 it already did exit_notify(), so it also did fill_tgid_exit()->delayacct_add_tsk(->signal->stats) and we should skip it to avoid a double accounting. This patch doesn't close the race completely, but it cleanups the code. Signed-off-by: Oleg Nesterov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a98b6094261c0112e9c455c96995972181bff049 Author: Oleg Nesterov Date: Sat Oct 28 10:38:54 2006 -0700 [PATCH] taskstats: don't use tasklist_lock Remove tasklist_lock from taskstats.c. find_task_by_pid() is rcu-safe. ->siglock allows us to traverse subthread without tasklist. Q: delay accounting looks wrong to me. If sub-thread has already called taskstats_exit_send() but didn't call release_task(self) yet it will be accounted twice. The window is big. No? Signed-off-by: Oleg Nesterov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8534d7bd89df0cd41cd47bcd6733a05ea9a691a Author: Oleg Nesterov Date: Sat Oct 28 10:38:53 2006 -0700 [PATCH] taskstats: kill ->taskstats_lock in favor of ->siglock signal_struct is (mostly) protected by ->sighand->siglock, I think we don't need ->taskstats_lock to protect ->stats. This also allows us to simplify the locking in fill_tgid(). Signed-off-by: Oleg Nesterov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17b02695b254aa2ef0e53df9c8e6548f86e66a9d Author: Oleg Nesterov Date: Sat Oct 28 10:38:52 2006 -0700 [PATCH] taskstats_tgid_alloc: optimization Every subthread (except first) does unneeded kmem_cache_alloc/kmem_cache_free. Signed-off-by: Oleg Nesterov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 093a8e8aecd77b2799934996a55a6838e1e2b8f3 Author: Oleg Nesterov Date: Sat Oct 28 10:38:51 2006 -0700 [PATCH] taskstats_tgid_free: fix usage taskstats_tgid_free() is called on copy_process's error path. This is wrong. IF (clone_flags & CLONE_THREAD) We should not clear ->signal->taskstats, current uses it, it probably has a valid accumulated info. ELSE taskstats_tgid_init() set ->signal->taskstats = NULL, there is nothing to free. Move the callsite to __exit_signal(). We don't need any locking, entire thread group is exiting, nobody should have a reference to soon to be released ->signal. Signed-off-by: Oleg Nesterov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05d5bcd60e8202e5c7b28cf61186043a4d612623 Author: Oleg Nesterov Date: Sat Oct 28 10:38:50 2006 -0700 [PATCH] bacct_add_tsk: fix unsafe and wrong parent/group_leader dereference 1. ts = timespec_sub(uptime, current->group_leader->start_time); It is possible that current != tsk. Probably it was supposed to be 'tsk->group_leader->start_time. But why we are reading group_leader's start_time ? This accounting is per thread, not per procees, I changed this to 'tsk->start_time. Please corect me. 2. stats->ac_ppid = (tsk->parent) ? tsk->parent->pid : 0; tsk->parent never == NULL, and it is unsafe to dereference it. Both the task and it's parent may exit after the caller unlocks tasklist_lock, the memory could be unmapped (DEBUG_SLAB). (And we should use ->real_parent->tgid in fact). Q: I don't understand the 'if (thread_group_leader(tsk))' check. Why it is needed ? Signed-off-by: Oleg Nesterov Cc: Shailabh Nagar Cc: Balbir Singh Acked-by: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fca178c0c6e8d52a1875be36b070f30884ebfae9 Author: Oleg Nesterov Date: Sat Oct 28 10:38:49 2006 -0700 [PATCH] fill_tgid: fix task_struct leak and possible oops 1. fill_tgid() forgets to do put_task_struct(first). 2. release_task(first) can happen after fill_tgid() drops tasklist_lock, it is unsafe to dereference first->signal. This is a temporary fix, imho the locking should be reworked. Signed-off-by: Oleg Nesterov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e6d9fa6f95e382bb2d5725dda18b9e811418e79 Author: Michael Holzheu Date: Sat Oct 28 10:38:47 2006 -0700 [PATCH] strstrip remove last blank fix strstrip() does not remove the last blank from strings which only consist of blanks. Example: char string[] = " "; strstrip(string); results in " ", but should produce an empty string! The following patch solves this problem: Acked-by: Martin Schwidefsky Signed-off-by: Michael Holzheu Acked-by: Pekka Enberg Acked-by Joern Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fa3839a64203b2ab727dcb37da9b2d7079fca28 Author: Stephen Rothwell Date: Sat Oct 28 10:38:46 2006 -0700 [PATCH] Constify compat_get_bitmap argument This means we can call it when the bitmap we want to fetch is declared const. Signed-off-by: Stephen Rothwell Cc: Christoph Lameter Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f87135762de4328c6f17897e803e6909bc056feb Author: David Howells Date: Sat Oct 28 10:38:46 2006 -0700 [PATCH] VFS: Fix an error in unused dentry counting With Vasily Averin Fix an error in unused dentry counting in shrink_dcache_for_umount_subtree() in which the count is modified without the dcache_lock held. Signed-off-by: David Howells Cc: Vasily Averin Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6eac3f93f5e6b7256fb20b7608d62ec192da12be Author: Vasily Averin Date: Sat Oct 28 10:38:44 2006 -0700 [PATCH] missing unused dentry in prune_dcache()? On the the following patch: http://linux.bkbits.net:8080/linux-2.6/gnupatch@449b144ecSF1rYskg3q-SeR2vf88zg # ChangeSet # 2006/06/22 15:05:57-07:00 neilb@suse.de # [PATCH] Fix dcache race during umount # If prune_dcache finds a dentry that it cannot free, it leaves it where it # is (at the tail of the list) and exits, on the assumption that some other # thread will be removing that dentry soon. However as far as I see this comment is not correct: when we cannot take s_umount rw_semaphore (for example because it was taken in do_remount) this dentry is already extracted from dentry_unused list and we do not add it into the list again. Therefore dentry will not be found by prune_dcache() and shrink_dcache_sb() and will leave in memory very long time until the partition will be unmounted. The patch adds this dentry into tail of the dentry_unused list. Signed-off-by: Vasily Averin Cc: Neil Brown Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebed4bfc8da8df5b6b0bc4a5064a949f04683509 Author: Hugh Dickins Date: Sat Oct 28 10:38:43 2006 -0700 [PATCH] hugetlb: fix absurd HugePages_Rsvd If you truncated an mmap'ed hugetlbfs file, then faulted on the truncated area, /proc/meminfo's HugePages_Rsvd wrapped hugely "negative". Reinstate my preliminary i_size check before attempting to allocate the page (though this only fixes the most obvious case: more work will be needed here). Signed-off-by: Hugh Dickins Cc: Adam Litke Cc: David Gibson Cc: "Chen, Kenneth W" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 856fc29505556cf263f3dcda2533cf3766c14ab6 Author: Hugh Dickins Date: Sat Oct 28 10:38:43 2006 -0700 [PATCH] hugetlb: fix prio_tree unit hugetlb_vmtruncate_list was misconverted to prio_tree: its prio_tree is in units of PAGE_SIZE (PAGE_CACHE_SIZE) like any other, not HPAGE_SIZE (whereas its radix_tree is kept in units of HPAGE_SIZE, otherwise slots would be absurdly sparse). At first I thought the error benign, just calling __unmap_hugepage_range on more vmas than necessary; but on 32-bit machines, when the prio_tree is searched correctly, it happens to ensure the v_offset calculation won't overflow. As it stood, when truncating at or beyond 4GB, it was liable to discard pages COWed from lower offsets; or even to clear pmd entries of preceding vmas, triggering exit_mmap's BUG_ON(nr_ptes). Signed-off-by: Hugh Dickins Cc: Adam Litke Cc: David Gibson Cc: "Chen, Kenneth W" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9d7e6ae82da124dc9c579fe1061264ef2a69407 Author: Hugh Dickins Date: Sat Oct 28 10:38:41 2006 -0700 [PATCH] hugetlb: fix size=4G parsing On 32-bit machines, mount -t hugetlbfs -o size=4G gave a 0GB filesystem, size=5G gave a 1GB filesystem etc: there's no point in masking size with HPAGE_MASK just before shifting its lower bits away, and since HPAGE_MASK is a UL, that removed all the higher bits of the unsigned long long size. Signed-off-by: Hugh Dickins Cc: Adam Litke Cc: David Gibson Cc: "Chen, Kenneth W" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b92aadfdae85ef837db343be38d4172115be72b Author: Randy Dunlap Date: Sat Oct 28 10:38:40 2006 -0700 [PATCH] cciss: fix printk format warning Fix printk format warnings: drivers/block/cciss.c:2000: warning: long long int format, long unsigned int arg (arg 2) drivers/block/cciss.c:2035: warning: long long int format, long unsigned int arg (arg 2) Signed-off-by: Randy Dunlap Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 760fe9ad1692361770bb56fa5c69cf6b3354858c Author: Randy Dunlap Date: Sat Oct 28 10:38:39 2006 -0700 [PATCH] ioc4: fix printk format warning Fix printk format warning: drivers/misc/ioc4.c:213: warning: long long int format, u64 arg (arg 3) Signed-off-by: Randy Dunlap Acked-by: Brent Casavant Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d4d262769cd1894a0306b9c57e72f005cd9e75a Author: Jan Dittmer Date: Sat Oct 28 10:38:38 2006 -0700 [PATCH] Add missing space in module.c for taintskernel Obvious fix. Signed-off-by: Jan Dittmer Acked-by: Florin Malita Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08d892f11aae7125fe078cf93ec5cf6af288c5e7 Author: Andrey Panin Date: Sat Oct 28 10:38:35 2006 -0700 [PATCH] visws build fix Fix this: > Subject : CONFIG_X86_VISWS=3Dy, CONFIG_SMP=3Dn compile error > References : http://lkml.org/lkml/2006/10/7/51 > Submitter : Jesper Juhl > Caused-By : David Howells > commit 7d12e780e003f93433d49ce78cfedf4b4c52adc5 > Status : unknown Via undescribed means. Signed-off-by: Andrey Panin Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52fd24ca1db3a741f144bbc229beefe044202cac Author: Giridhar Pemmasani Date: Sat Oct 28 10:38:34 2006 -0700 [PATCH] __vmalloc with GFP_ATOMIC causes 'sleeping from invalid context' If __vmalloc is called to allocate memory with GFP_ATOMIC in atomic context, the chain of calls results in __get_vm_area_node allocating memory for vm_struct with GFP_KERNEL, causing the 'sleeping from invalid context' warning. This patch fixes it by passing the gfp flags along so __get_vm_area_node allocates memory for vm_struct with the same flags. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a2aae06cc1e87e9712a26a639f6a2f3442e2027 Author: Pavel Emelianov Date: Sat Oct 28 10:38:33 2006 -0700 [PATCH] Fix potential OOPs in blkdev_open() blkdev_open() calls bc_acquire() to get a struct block_device. Since bc_acquire() may return NULL when system is out of memory an appropriate check is required. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2d0aa5bf8d4f7ae4cb1a7feebf5b1afddd0b9b0 Author: Yasunori Goto Date: Sat Oct 28 10:38:32 2006 -0700 [PATCH] memory hotplug: __GFP_NOWARN is better for __kmalloc_section_memmap() Add __GFP_NOWARN flag to calling of __alloc_pages() in __kmalloc_section_memmap(). It can reduce noisy failure message. In ia64, section size is 1 GB, this means that order 8 pages are necessary for each section's memmap. It is often very hard requirement under heavy memory pressure as you know. So, __alloc_pages() gives up allocation and shows many noisy stack traces which means no page for each sections. (Current my environment shows 32 times of stack trace....) But, __kmalloc_section_memmap() calls vmalloc() after failure of it, and it can succeed allocation of memmap. So, its stack trace warning becomes just noisy. I suppose it shouldn't be shown. Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 969b755aadf7bcf3df5991a127a103acd0145a52 Author: Randy Dunlap Date: Sat Oct 28 10:38:32 2006 -0700 [PATCH] md: fix printk format warnings, seen on powerpc64: drivers/md/raid1.c:1479: warning: long long unsigned int format, long unsigned int arg (arg 4) drivers/md/raid10.c:1475: warning: long long unsigned int format, long unsigned int arg (arg 4) Signed-off-by: Randy Dunlap Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 750a8f3e8f64654a584e54038c2c8db380813c79 Author: NeilBrown Date: Sat Oct 28 10:38:31 2006 -0700 [PATCH] md: fix up maintenance of ->degraded in multipath A recent fix which made sure ->degraded was initialised properly exposed a second bug - ->degraded wasn't been updated when drives failed or were hot-added. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01ab5662f573fe3a6bcefa200f15ab3069cec8a3 Author: NeilBrown Date: Sat Oct 28 10:38:30 2006 -0700 [PATCH] md: simplify checking of available size when resizing an array When "mdadm --grow --size=xxx" is used to resize an array (use more or less of each device), we check the new siza against the available space in each device. We already have that number recorded in rdev->size, so calculating it is pointless (and wrong in one obscure case). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b6e845986347ef86729e8651908af3e8a8441f5 Author: NeilBrown Date: Sat Oct 28 10:38:30 2006 -0700 [PATCH] md: fix bug where spares don't always get rebuilt properly when they become live If save_raid_disk is >= 0, then the device could be a device that is already in sync that is being re-added. So we need to default this value to -1. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae74589cb381cc2838107f92d4e0e1f178c6825d Author: bibo,mao Date: Sat Oct 28 10:38:29 2006 -0700 [PATCH] fix efi_memory_present_wrapper() efi_memory_present_wrapper() parameter start/end is physical address, but function memory_present parameter is PFN, this patch converts physical address to PFN. Signed-off-by: bibo, mao Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b57988db9b2c81794546cb792133f0cfd064ea8 Author: Eric Sandeen Date: Sat Oct 28 10:38:28 2006 -0700 [PATCH] jbd2: journal_dirty_data re-check for unmapped buffers When running several fsx's and other filesystem stress tests, we found cases where an unmapped buffer was still being sent to submit_bh by the ext3 dirty data journaling code. I saw this happen in two ways, both related to another thread doing a truncate which would unmap the buffer in question. Either we would get into journal_dirty_data with a bh which was already unmapped (although journal_dirty_data_fn had checked for this earlier, the state was not locked at that point), or it would get unmapped in the middle of journal_dirty_data when we dropped locks to call sync_dirty_buffer. By re-checking for mapped state after we've acquired the bh state lock, we should avoid these races. If we find a buffer which is no longer mapped, we essentially ignore it, because journal_unmap_buffer has already decided that this buffer can go away. I've also added tracepoints in these two cases, and made a couple other tracepoint changes that I found useful in debugging this. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f58a74dca88d48b0669609b4957f3dd757bdc898 Author: Eric Sandeen Date: Sat Oct 28 10:38:27 2006 -0700 [PATCH] jbd: journal_dirty_data re-check for unmapped buffers When running several fsx's and other filesystem stress tests, we found cases where an unmapped buffer was still being sent to submit_bh by the ext3 dirty data journaling code. I saw this happen in two ways, both related to another thread doing a truncate which would unmap the buffer in question. Either we would get into journal_dirty_data with a bh which was already unmapped (although journal_dirty_data_fn had checked for this earlier, the state was not locked at that point), or it would get unmapped in the middle of journal_dirty_data when we dropped locks to call sync_dirty_buffer. By re-checking for mapped state after we've acquired the bh state lock, we should avoid these races. If we find a buffer which is no longer mapped, we essentially ignore it, because journal_unmap_buffer has already decided that this buffer can go away. I've also added tracepoints in these two cases, and made a couple other tracepoint changes that I found useful in debugging this. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1939e49a0cb9d73785857bf312f4f65661b4b513 Author: Randy Dunlap Date: Sat Oct 28 10:38:26 2006 -0700 [PATCH] ext4: fix printk format warnings fs/ext4/resize.c:72: warning: long long unsigned int format, __u64 arg (arg 4) fs/ext4/resize.c:76: warning: long long unsigned int format, __u64 arg (arg 4) fs/ext4/resize.c:81: warning: long long unsigned int format, __u64 arg (arg 4) fs/ext4/resize.c:85: warning: long long unsigned int format, __u64 arg (arg 4) fs/ext4/resize.c:89: warning: long long unsigned int format, __u64 arg (arg 4) fs/ext4/resize.c:89: warning: long long unsigned int format, __u64 arg (arg 5) fs/ext4/resize.c:93: warning: long long unsigned int format, __u64 arg (arg 4) fs/ext4/resize.c:93: warning: long long unsigned int format, __u64 arg (arg 5) fs/ext4/resize.c:98: warning: long long unsigned int format, __u64 arg (arg 4) fs/ext4/resize.c:103: warning: long long unsigned int format, __u64 arg (arg 4) fs/ext4/resize.c:109: warning: long long unsigned int format, __u64 arg (arg 4) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbdb396a60b2ebf7de3b717991e5d3e28c8b7bbd Author: Martin Bligh Date: Sat Oct 28 10:38:25 2006 -0700 [PATCH] Use min of two prio settings in calculating distress for reclaim If try_to_free_pages / balance_pgdat are called with a gfp_mask specifying GFP_IO and/or GFP_FS, they will reclaim the requisite number of pages, and the reset prev_priority to DEF_PRIORITY (or to some other high (ie: unurgent) value). However, another reclaimer without those gfp_mask flags set (say, GFP_NOIO) may still be struggling to reclaim pages. The concurrent overwrite of zone->prev_priority will cause this GFP_NOIO thread to unexpectedly cease deactivating mapped pages, thus causing reclaim difficulties. Fix this is to key the distress calculation not off zone->prev_priority, but also take into account the local caller's priority by using min(zone->prev_priority, sc->priority) Signed-off-by: Martin J. Bligh Cc: Nick Piggin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3bb1a852ab6c9cdf211a2f4a2f502340c8c38eca Author: Martin Bligh Date: Sat Oct 28 10:38:24 2006 -0700 [PATCH] vmscan: Fix temp_priority race The temp_priority field in zone is racy, as we can walk through a reclaim path, and just before we copy it into prev_priority, it can be overwritten (say with DEF_PRIORITY) by another reclaimer. The same bug is contained in both try_to_free_pages and balance_pgdat, but it is fixed slightly differently. In balance_pgdat, we keep a separate priority record per zone in a local array. In try_to_free_pages there is no need to do this, as the priority level is the same for all zones that we reclaim from. Impact of this bug is that temp_priority is copied into prev_priority, and setting this artificially high causes reclaimers to set distress artificially low. They then fail to reclaim mapped pages, when they are, in fact, under severe memory pressure (their priority may be as low as 0). This causes the OOM killer to fire incorrectly. From: Andrew Morton __zone_reclaim() isn't modifying zone->prev_priority. But zone->prev_priority is used in the decision whether or not to bring mapped pages onto the inactive list. Hence there's a risk here that __zone_reclaim() will fail because zone->prev_priority ir large (ie: low urgency) and lots of mapped pages end up stuck on the active list. Fix that up by decreasing (ie making more urgent) zone->prev_priority as __zone_reclaim() scans the zone's pages. This bug perhaps explains why ZONE_RECLAIM_PRIORITY was created. It should be possible to remove that now, and to just start out at DEF_PRIORITY? Cc: Nick Piggin Cc: Christoph Lameter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ae88149a27cadf2840e0ab8155bef13be285c03 Author: Nick Piggin Date: Sat Oct 28 10:38:23 2006 -0700 [PATCH] mm: clean up pagecache allocation - Consolidate page_cache_alloc - Fix splice: only the pagecache pages and filesystem data need to use mapping_gfp_mask. - Fix grab_cache_page_nowait: same as splice, also honour NUMA placement. Signed-off-by: Nick Piggin Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0f205d9c656da9dad6340f75e33a96014b7d23f Author: Takashi Ohmasa Date: Mon Oct 23 11:19:40 2006 +0100 [ARM] 3900/1: Fix VFP Division by Zero exception handling. The SIGFPE signal should be generated if Division by Zero exception is detected. Signed-off-by: Takashi Ohmasa Signed-off-by: Russell King commit e816d71a50a714b532e3965364f3f53c23a53d42 Author: Takashi Ohmasa Date: Mon Oct 23 08:30:35 2006 +0100 [ARM] 3899/1: Fix the normalization of the denormal double precision number. The significand should be shifted until the value of bit [62] is 1 to normalize the denormal double number. Signed-off-by: Takashi Ohmasa Signed-off-by: Russell King commit 75e31aaaf43b53517fd2b36cedc08bd4e4af14d5 Author: Kevin Hilman Date: Wed Oct 25 23:07:50 2006 +0100 [ARM] 3909/1: Disable UWIND_INFO for ARM (again) According to Daniel Jacobowitz, UNWIND_INFO is not useful on ARM, and in fact doesn't even compile. This patch disables the option for ARM. Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit 9957329800b8b554b1af669bcc6878282338c34e Author: Russell King Date: Thu Oct 26 10:27:42 2006 +0100 [ARM] Add __must_check to uaccess functions Signed-off-by: Russell King commit a233bf9ee819c726c581af48010e0c0f1cdde245 Author: Russell King Date: Wed Oct 25 14:25:52 2006 +0100 [ARM] Add realview SMP default configuration Signed-off-by: Russell King commit c97d4869a23c439d2bc23cb26c1147c099f9ff78 Author: Russell King Date: Wed Oct 25 13:59:16 2006 +0100 [ARM] Fix SMP irqflags support The IRQ changes a while back broke the build for SMP machines. Fix up the SMP code to use set_irq_regs/get_irq_regs as appropriate. Also, fix a warning in arch/arm/kernel/time.c where 'regs' becomes unused for SMP builds. Signed-off-by: Russell King commit efbfe96c5d839c367249bf1cd53249716450c0a2 Author: Jesper Juhl Date: Fri Oct 27 23:24:47 2006 +0200 [PATCH] silence 'make xmldocs' warning by adding missing description of 'raw' in nand_base.c:1485 Add description of 'raw' in comments for drivers/mtd/nand/nand_base.c::nand_write_page_syndrome() so 'make xmldocs' will not spew a warning at us. Signed-off-by: Jesper Juhl Acked-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 735a7ffb739b6efeaeb1e720306ba308eaaeb20e Author: Andrew Morton Date: Fri Oct 27 11:42:37 2006 -0700 [PATCH] drivers: wait for threaded probes between initcall levels The multithreaded-probing code has a problem: after one initcall level (eg, core_initcall) has been processed, we will then start processing the next level (postcore_initcall) while the kernel threads which are handling core_initcall are still executing. This breaks the guarantees which the layered initcalls previously gave us. IOW, we want to be multithreaded _within_ an initcall level, but not between different levels. Fix that up by causing the probing code to wait for all outstanding probes at one level to complete before we start processing the next level. Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61ce1efe6e40233663d27ab8ac9ba9710eebcaad Author: Andrew Morton Date: Fri Oct 27 11:41:44 2006 -0700 [PATCH] vmlinux.lds: consolidate initcall sections Add a vmlinux.lds.h helper macro for defining the eight-level initcall table, teach all the architectures to use it. This is a prerequisite for a patch which performs initcall synchronisation for multithreaded-probing. Cc: Greg KH Signed-off-by: Andrew Morton [ Added AVR32 as well ] Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit 3560cc5ec3488b20d927f7160a21a0df1d1fda20 Author: Karsten Wiese Date: Fri Oct 20 14:45:36 2006 -0700 PCI: Remove quirk_via_abnormal_poweroff My K8T800 mobo resumes fine from suspend to ram with and without patch applied against 2.6.18. quirk_via_abnormal_poweroff makes some boards not boot 2.6.18, so IMO patch should go to head, 2.6.18.2 and everywhere "ACPI: ACPICA 20060623" has been applied. Remove quirk_via_abnormal_poweroff Obsoleted by "ACPI: ACPICA 20060623": Implemented support for "ignored" bits in the ACPI registers. According to the ACPI specification, these bits should be preserved when writing the registers via a read/modify/write cycle. There are 3 bits preserved in this manner: PM1_CONTROL[0] (SCI_EN), PM1_CONTROL[9], and PM1_STATUS[11]. http://bugzilla.kernel.org/show_bug.cgi?id=3691 Signed-off-by: Karsten Wiese Cc: Bob Moore Cc: "Brown, Len" Acked-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 2449e06a5696b7af1c8a369b04c97f3b139cf3bb Author: Shaohua Li Date: Fri Oct 20 14:45:32 2006 -0700 PCI: reset pci device state to unknown state for resume Considering below scenario: 1.Unload a PCI device's driver, the device ->current remains in PCI_D0. 2.Do suspend/resume circle. After that, BIOS puts the device to D3. 3.Reload the device driver. The calling pci_set_power_state in the driver can't change the state to D0, as set_power_state thinks the device is already in D0. A bug is reported at http://bugzilla.kernel.org/show_bug.cgi?id=6024 Pat attached a patch at http://marc.theaimsgroup.com/?l=linux-pci&m=114049761428561&w=2 for this issue, but it's lost. As pci_set_power_state can handle D3 -> D0 correctly (restore config space), I simplified Patrick's patch. Signed-off-by: Shaohua Li Cc: Patrick Mochel Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3095fc0c9772b4afb3c81f76664f341ef716d380 Author: Dave Jones Date: Fri Oct 20 14:45:33 2006 -0700 PCI: x86-64: mmconfig missing printk levels Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6b5c76b8e2ff204fa8d7201acce461188873bf2b Author: Eiichiro Oiwa Date: Mon Oct 23 15:14:07 2006 +0900 PCI: fix pci_fixup_video as it blows up on sparc64 This reverts much of the original pci_fixup_video change and makes it work for all arches that need it. fixed, and tested on x86, x86_64 and IA64 dig. Signed-off-by: Eiichiro Oiwa Acked-by: David Miller Signed-off-by: Greg Kroah-Hartman commit 35ae61a0f43ebbabc3cb4345136ca529fc4d6700 Author: MUNEDA Takahiro Date: Wed Oct 25 11:44:57 2006 -0700 acpiphp: fix latch status pci_hotplug.h says: * @latch_status: if the latch (if any) is open or closed (1/0) However, acpiphp returns opposite value. This patch fixes this issue. I tested this patch on my ia64 machine that has some apciphp based hotplug slots. Signed-off-by: MUNEDA Takahiro Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 3c9da7ba049d11caccc219576a3a23404aa2fc50 Author: Cornelia Huck Date: Fri Oct 27 12:39:33 2006 +0200 [S390] cio: Make ccw_device_register() static. ccw_device_register() is only called from io_subchannel_register() and io_subchannel_probe() and will never be called for possible non-io subchannels. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit f3b017d8c9915cbaa8bab178dde1bd9dbbf5012c Author: Ralph Wuerthner Date: Fri Oct 27 12:39:26 2006 +0200 [S390] Improve AP bus device removal. Added a call to device_unregister() in ap_scan_bus() to actively remove unavailable AP bus devices with every bus scan. Previously devices were only removed in ap_queue_message() or __ap_poll_all(). Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 12bae23507129a7337378e6433bff6f8696bdb45 Author: Heiko Carstens Date: Fri Oct 27 12:39:22 2006 +0200 [S390] uaccess error handling. Consider return values for all user space access function and return -EFAULT on error. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c2b1449bd1fd73103ed5ff1a28d8f7cbc8a01b52 Author: Cornelia Huck Date: Fri Oct 27 12:39:17 2006 +0200 [S390] cio: css_probe_device() must be called enabled. Move css_probe_device() behind giving up the lock for the old subchannel in css_evaluate_known_subchannel() so we aren't disabled when we call it. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 95425f19beed99cb9b0a79f69731eda907d9db99 Author: Gerald Schaefer Date: Fri Oct 27 12:39:13 2006 +0200 [S390] Initialize interval value to 0. sscanf() could leave the interval value unchanged in which case it would be used uninitialized. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit f4880391860f2e38bb6ff400a0bd6c85443c5b9e Author: Paul Mundt Date: Fri Oct 27 12:39:10 2006 +0200 [S390] sys_getcpu compat wrapper. Looking at the new syscall additions, I noticed that sys_getcpu_wrapper wraps in to sys_tee, in what appears to be a copy and paste error. Switch it to point to sys_getcpu.. Signed-off-by: Paul Mundt Signed-off-by: Martin Schwidefsky commit f5ef9d11fd255b30b455d18f8d721bc44cd1296b Author: David S. Miller Date: Fri Oct 27 01:03:31 2006 -0700 [SPARC]: Fix bus_id[] string overflow. dp->path_component_name can be larger than ->bus_id[] so use a different naming scheme for this stuff. Noticed by Jurij Smakov. Signed-off-by: David S. Miller commit 1842c4bef61f985fbec6df7150041b85d8b52b1a Author: Randy Dunlap Date: Wed Oct 25 23:07:37 2006 -0700 [BRIDGE]: correct print message typo Correct message typo/spello. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 2a272f98619f188efe22119b0415aac6bc34a13f Author: Gavin McCullagh Date: Wed Oct 25 23:05:52 2006 -0700 [TCP] H-TCP: fix integer overflow When using H-TCP with a single flow on a 500Mbit connection (or less actually), alpha can exceed 65000, so alpha needs to be a u32. Signed-off-by: Gavin McCullagh Signed-off-by: Doug Leith Signed-off-by: David S. Miller commit 22119240b1c8f64eebb6ffb368c927b2f8be4136 Author: Stephen Hemminger Date: Wed Oct 25 23:04:12 2006 -0700 [TCP] cubic: scaling error Doug Leith observed a discrepancy between the version of CUBIC described in the papers and the version in 2.6.18. A math error related to scaling causes Cubic to grow too slowly. Patch is from "Sangtae Ha" . I validated that it does fix the problems. See the following to show behavior over 500ms 100 Mbit link. Sender (2.6.19-rc3) --- Bridge (2.6.18-rt7) ------- Receiver (2.6.19-rc3) 1G [netem] 100M http://developer.osdl.org/shemminger/tcp/2.6.19-rc3/cubic-orig.png http://developer.osdl.org/shemminger/tcp/2.6.19-rc3/cubic-fix.png Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 012d64ff68f304df1c35ce5902f5023dc14b643f Author: David S. Miller Date: Wed Oct 25 22:33:07 2006 -0700 [SPARC64]: Fix memory corruption in pci_4u_free_consistent(). The second argument to free_npages() was being incorrectly calculated, which would thus access far past the end of the arena->map[] bitmap. Signed-off-by: David S. Miller commit 4130a4b206e7c628482aa12ec30949382c8cdc5e Author: David S. Miller Date: Wed Oct 25 22:31:06 2006 -0700 [SPARC64]: Fix central/FHC bus handling on Ex000 systems. 1) probe_other_fhcs() wants to see only non-central FHC busses, so skip FHCs that don't sit off the root 2) Like SBUS, FHC can lack the appropriate address and size cell count properties, so add an of_busses[] entry and handlers for that. 3) Central FHC irq translator probing was buggy. We were trying to use dp->child in irq_trans_init but that linkage is not setup at this point. So instead, pass in the parent of "dp" and look for the child "fhc" with parent "central". Thanks to the tireless assistence of Ben Collins in tracking down these problems and testing out these fixes. Signed-off-by: David S. Miller commit 291b58d663862c3d42d2e8092f8b0dd3f15a94f8 Author: Haavard Skinnemoen Date: Tue Oct 24 10:12:46 2006 +0200 [PATCH] AVR32: Update defconfig Sync atstk1002_defconfig with latest git, turn off non-existent drivers and enable a few more userspace-visible options like SysV IPC and inotify support. Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit 452976b29864f9adcdd6d4ea81001aa5483592c2 Author: Haavard Skinnemoen Date: Tue Oct 24 10:12:45 2006 +0200 [PATCH] AVR32: Use __raw MMIO access for internal peripherals The read[bwl] and write[bwl] functions are meant for accessing PCI devices. How this is achieved on AVR32 is unknown, as there are no systems with a PCI bridge available yet. On-chip peripheral access, however, should not depend on how we end up implementing PCI access, so using __raw_read[bwl]/__raw_write[bwl] is the right thing to do for on-chip peripherals. This patch converts the drivers for the static memory controller, interrupt controller, PIO controller and system manager to use __raw MMIO access. Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit d68041cc9fde550fe6b6a6de1d7a110daff3cb60 Author: Haavard Skinnemoen Date: Tue Oct 24 10:12:44 2006 +0200 [PATCH] AVR32: Implement and export __raw_{read,write}s[bwl] Implement __raw_readsb and __raw_writesb. Export __raw_reads[bwl] and __raw_writes[bwl] for use by modules. Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit 065834ab3988fece5608088e83724891c8190a2f Author: Ben Nizette Date: Tue Oct 24 10:12:43 2006 +0200 [PATCH] AVR32: add io{read,write}{8,16,32}{be,} support A number of new drivers require io{read,write}{8,16,32}{be,} family of io operations. These are provided for the AVR32 by this patch in the form of a series of macros. Access to the (memory mapped) io space through these macros is defined to be little endian only as little endian devices (such as PCI) are the main consumer of IO access. If high speed access is required, io{read,write}{16,32}be macros are supplied to perform native big endian access to this io space. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit fa3522407f01ead1ec14bdd6b785ea08d17d500d Author: Haavard Skinnemoen Date: Tue Oct 24 10:12:42 2006 +0200 [PATCH] AVR32: Fix oversize immediates in atomic.h When calling e.g. atomic_sub_return with a large constant, the compiler may output an immediate that is too large for the sub instruction in the middle of the loop. Fix this by explicitly specifying the number of bits allowed in the constraint. Also stop atomic_add_return() and friends from falling back to their respective "sub" variants if the constant is too large to fit in an immediate. Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit bee8ce809fb1c877388be032b468574a1cfff9ef Author: Haavard Skinnemoen Date: Tue Oct 24 10:12:41 2006 +0200 [PATCH] AVR32: Don't try to iounmap P2 segment addresses While ioremap() will happily map a physical address through the P2 (uncached) segment when appropriate, iounmap() doesn't know how to handle those mappings. This patch makes iounmap() do the right thing, i.e. nothing, for such mappings. Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit 6ea850b5eb17f6d21ac1b3d99406d213a10c64e9 Author: Haavard Skinnemoen Date: Tue Oct 24 10:12:40 2006 +0200 [PATCH] AVR32: Silence some compile warnings Silence a few compile warnings which are basically harmless, but easy to fix. Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit 0430fb20a2a9f06262cb5ccc98869d54cdaa3963 Author: Haavard Skinnemoen Date: Tue Oct 24 10:12:39 2006 +0200 [PATCH] AVR32: Minor Makefile cleanup Don't generate listing by default, remove unused LIBGCC variable and rename generated disassembly and listing files to vmlinux.{s,lst}. Also make sure that files generated during the build are actually removed with make clean. Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit f901b8c46fa9748b9d6836e9b158cf7be89447f1 Author: Dominik Brodowski Date: Wed Oct 25 19:56:55 2006 -0400 [PATCH] PCMCIA: fix __must_check warnings Fix the remaining __must_check warnings in the PCMCIA core. Signed-off-by: Dominik Brodowski commit 4deb7c1ed2b622b565c5330b475adc5a6cea30da Author: Jeff Garzik Date: Fri Oct 20 14:44:23 2006 -0700 [PATCH] PCMCIA: handle sysfs, PCI errors Handle sysfs and PCI errors correctly. Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 26aaa3c202fb3bec8d6c6619122442d476f55658 Author: Jonathan McDowell Date: Fri Oct 20 14:44:19 2006 -0700 [PATCH] Export soc_common_drv_pcmcia_remove to allow modular PCMCIA. Allow a modular sa1100_cs. Signed-off-by: Jonathan McDowell Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 3efa9970bd0ac731302224ab9243693e91bc4bea Author: Amol Lad Date: Fri Oct 20 14:44:18 2006 -0700 [PATCH] ioremap balanced with iounmap for drivers/pcmcia ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit a230a6785dd5af84b8b043a64d8df8adc81f3724 Author: Om Narasimhan Date: Fri Oct 20 14:44:15 2006 -0700 [PATCH] pcmcia: au1000_generic fix The previous code did something like, if (error) goto out_err; .... do { struct au1000_pcmcia_socket *skt = PCMCIA_SOCKET(i); del_timer_sync(&skt->poll_timer); pcmcia_unregister_socket(&skt->socket); out_err: flush_scheduled_work(); ops->hw_shutdown(skt); i--; } while (i > 0) ..... - On the error path, skt would not contain a valid value for the first iteration (skt is masked by uninitialized automatic skt) - Does not do hw_shutdown() for 0th element of PCMCIA_SOCKET Signed-off-by: Om Narasimhan Cc: "Yoichi Yuasa" Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit f465ce176fb2f1778a04fc3fcb2b8aa564901419 Author: Alexey Dobriyan Date: Fri Oct 20 14:44:13 2006 -0700 [PATCH] i82092: wire up errors from pci_register_driver() debugging goo removed to not leave assymetry in it after possible "leave" removal. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit f237de58b13bf65ba2f7fab896daacb92ae7ddef Author: Alexey Dobriyan Date: Fri Oct 20 14:44:13 2006 -0700 [PATCH] CONFIG_PM=n slim: drivers/pcmcia/* Remove some code which is unneeded if CONFIG_PM=n. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit ace7d4772cf056d9b13b51bd496a8be968774592 Author: Randy Dunlap Date: Fri Oct 20 14:44:12 2006 -0700 [PATCH] pcmcia/ds: driver layer error checking Check driver layer return values in pcmcia/ds.c Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 4708b5faf7c53bb4128d34267bdfe4b8c74b488a Author: Kaustav Majumdar Date: Fri Oct 20 14:44:09 2006 -0700 [PATCH] pcmcia: update alloc_io_space for conflict checking for multifunction PC card Some PCMCIA cards do not mention specific IO addresses in the CIS. In that case, inside the alloc_io_space function, conflicts are detected (the function returns 1) for the second function of a multifunction card unless the length of IO address range required is greater than 0x100. The following patch will remove this conflict checking for a PCMCIA function which had not mentioned any specific IO address to be mapped from. The patch is tested for Linux kernel 2.6.15.4 and works fine in the above case and is as suggested by Dave Hinds. Signed-off-by: Kaustav Majumdar Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 01918d16c837485ceba92d48fb734cf520e61144 Author: Dominik Brodowski Date: Sun Jul 2 21:21:51 2006 +0200 [PATCH] pcmcia: add more IDs to hostap_cs.c As a replacement for the broad manufactor/card ID match we commented out because of conflicts with pcnet_cs, add two product ID matches. Signed-off-by: Dominik Brodowski commit 1fbece150a230d0ab447cfb2fc4df10fb89f0d8c Author: David Brownell Date: Sat Jul 1 13:39:55 2006 -0700 [PATCH] pcmcia: at91_cf update More correct AT91 CF wakeup logic ... only enable/disable the IRQ wakeup capability, not the IRQ itself. That way the we know that the IRQ will be disabled correctly, in suspend/resume logic instead of ARM IRQ code. Most of the pin multiplexing setup has moved to the devices.c setup code. Signed-off-by: David Brownell Signed-off-by: Andrew Victor Signed-off-by: Dominik Brodowski commit 190a24f5605d95b786c92280bf7a51ebef43f29f Author: Olof Johansson Date: Wed Oct 25 17:32:40 2006 -0500 [POWERPC] Make sure __cpu_preinit_ppc970 gets called on 970GX processors Add check for 970GX for __cpu_preinit_ppc970. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit d6b9ccbbeb625674891f797119f06512d27fc905 Author: Hannes Reinecke Date: Mon Oct 23 15:26:37 2006 +0200 [SCSI] aic79xx: Print out signalling This is a cross-port of a similar patch for aic7xxx; only it's a bit simpler here as we don't support HVD and all controller actually implement this register. I hope. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 9080063f523b09af63234a21816c825133d48c44 Author: Hannes Reinecke Date: Mon Oct 23 15:25:36 2006 +0200 [SCSI] aic7xxx: Remove slave_destroy This is a cross-port from aic79xx; we still hit the occasional BUG_ON in slave_destroy. And again we don't really need the slave_destroy callback nor the ahc_linux_target structure at all. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 843822ad631889596d67716e6edbcde608aeba81 Author: Hannes Reinecke Date: Mon Oct 23 15:24:23 2006 +0200 [SCSI] aic79xx: set precompensation aic79xx has a special 'iocell' chip which handles the precompensation. If it's set via DV we should make sure to set the chip correctly, too. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 8883c1f182fa88d2b8e0adb6ae90a42f67e5353e Author: Hannes Reinecke Date: Mon Oct 23 15:22:37 2006 +0200 [SCSI] aic79xx: Fixup external device reset Whenever an external device is resetted we really have to take care to keep the channel in sync. Just notifying SCSI-ML and retry is not enough as we have to make sure the SCSI bus is not getting confused, either. So whenever we detect an external reset we rewrite the command to TUR, disable packetized command and notify the internal engine that an abort has happened. This way we trigger a proper bus reset sequence and all devices will be renegotiated properly. Kudos to Justin Gibbs and Luben Tuikov for this idea. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 4a531e8c79fe459e922347461ccc0f0c13de20d5 Author: FUJITA Tomonori Date: Fri Oct 20 09:08:18 2006 +0900 [SCSI] replace u8 and u32 with __u8 and __u32 in scsi.h for user space Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit afc071e6281e4f2af4748b5ddc594334726a37cf Author: Randy Dunlap Date: Mon Oct 23 21:47:13 2006 -0700 [SCSI] lpfc: fix printk format warning Fix printk format warning: drivers/scsi/lpfc/lpfc_attr.c:597: warning: long long unsigned int format, uint64_t arg (arg 4) Signed-off-by: Randy Dunlap Acked-by: James Smart Signed-off-by: James Bottomley commit ca3c3323931ef925497a9ffcb61c5eebe55f8e2b Author: Adrian Bunk Date: Fri Oct 20 14:48:07 2006 -0700 [SCSI] aic79xx: make ahd_set_tags() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit 289fe5b1f99c5e61ed32796cbed0a1ecc3589041 Author: Adrian Bunk Date: Fri Oct 20 14:47:57 2006 -0700 [SCSI] aic7xxx: cleanups - make needlessly global code static - #if 0 the following unused global functions: - aic79xx_core.c: ahd_print_scb - aic79xx_core.c: ahd_suspend - aic79xx_core.c: ahd_resume - aic79xx_core.c: ahd_dump_scbs - aic79xx_osm.c: ahd_softc_comp Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit 6d07cb71fdacc710fd9816cddb5c2df0f7bd96b4 Author: Amol Lad Date: Fri Oct 20 14:48:40 2006 -0700 [SCSI] drivers/scsi: Handcrafted MIN/MAX macro removal Cleanups done to use min/max macros from kernel.h. Handcrafted MIN/MAX macros are changed to use macros in kernel.h [akpm@osdl.org: fix warning] Signed-off-by: Amol Lad Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 5a09e39810ae0465016c380962e12dd115779b87 Author: Hannes Reinecke Date: Fri Oct 20 09:58:47 2006 +0200 [SCSI] scsi_debug: support REPORT TARGET PORT GROUPS This patch adds support for REPORT TARGET PORT GROUPS. This is used eg for the multipathing priority callout to determine the path priority. With this patch multipath-tools can use the existing mpath_prio_alua callout to exercise the path priority grouping. Signed-off-by: Hannes Reinecke Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley commit cd00b7f5d814ba87b36371f122ce36ba4a88ba69 Author: Jes Sorensen Date: Tue Oct 17 09:32:06 2006 -0400 [SCSI] qla1280 bus reset typo Fix typo in check of return value of qla1280_bus_reset() which would result in an adapter reset in addition to the bus reset. Signed-off-by: Jes Sorensen Signed-off-by: James Bottomley commit b5072ea0910e5c8c79b8313e0ef70ca763983dbf Author: Mike Christie Date: Mon Oct 16 18:09:42 2006 -0400 [SCSI] libiscsi: fix logout pdu processing According to the iscsi RFC, we cannot send other requests if we have sent a logout pdu. This patch enforces this requirement by blocking the session and suspending the send thread. Userspace decides if we restart the connection or if we just free everything. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5831c737f724aa6a655a908d202221f079f30036 Author: Mike Christie Date: Mon Oct 16 18:09:41 2006 -0400 [SCSI] libiscsi: fix aen support We have been dropping the pdu. We should just send it to userspace and let it handle it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit cd529a46e17b43976d05c1e2ece2676ec7941cc8 Author: Mike Christie Date: Mon Oct 16 18:09:40 2006 -0400 [SCSI] libiscsi: fix missed iscsi_task_put in xmit error path from bhalevy@gmail.com: It looks like change 652 to libiscsi.c added some dead code around line 670 if (rc) { spin_unlock_bh(&conn->session->lock); goto again; } since 5 lines above we goto again if (rc). It looks like the previous if (rc) should go away if we want to put the ctask before breaking out of the while loop with "goto again" (see following patch). Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 98644047916c24258fb47c3dab2bed8a44f53b83 Author: Mike Christie Date: Mon Oct 16 18:09:39 2006 -0400 [SCSI] libiscsi: fix oops in connection create failure path If connection creation fails we end up calling list_del on a invalid struct. This then causes an oops. We are not acutally using the lists (old MCS code we thought might be useful elsewhere) so this patch just removes that code. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 43a145a3440c5c5f24ff2888801e40e2242187e6 Author: Mike Christie Date: Mon Oct 16 18:09:38 2006 -0400 [SCSI] iscsi class: fix slab corruption during restart The transport class recv mempools are causing slab corruption. We could hack around netlink's lack of mempool support like dm, but it is just too ulgy (dm's hack is ugly enough :) when you need to support broadcast. This patch removes the recv pools. We have not used them even when we were allocting 20 MB per session and the system only had 64 MBs. And we have no pools on the send side and have been ok there. When Peter's work gets merged we can use that since the network guys are in favor of that approach and are not going to add mempools everywhere. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 47bcd3546d5141e54f15e40a20dc01d7c5f5a473 Author: Alan Cox Date: Mon Oct 16 16:55:46 2006 +0100 [SCSI] Switch fdomain to the pci_get API Doesn't make the hardware hot pluggable but does ensure the driver won't crash when another device is hot-unplugged at the wrong moment. Soon I propose to deprecate pci_find_device() and some of its friends. Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit ed632da84c51a39fd9c982991e0f26120a035761 Author: James Bottomley Date: Mon Oct 16 10:06:27 2006 -0500 [SCSI] add can_queue to host parameters Debugging TCQ issues has shown me this is a very useful parameter to be able to view. Add it to he host class parameters. Signed-off-by: James Bottomley commit 031280f6e73d9177c93333c96e37eb05f2522faa Author: Andrey Mirkin <(amirkin@sw.ru)> Date: Mon Oct 16 12:08:43 2006 +0400 [SCSI] megaraid_{mm,mbox}: 64-bit DMA capability fix It is known that 2 LSI Logic MegaRAID SATA RAID Controllers (150-4 and 150-6) don't support 64-bit DMA. Unfortunately currently this check is wrong and driver sets 64-bit DMA mode for these devices. Signed-off-by: Andrey Mirkin Acked-by: "Ju, Seokmann" Signed-off-by: James Bottomley commit 3fc2aef5227dda464560a3fdafc9f4c7ce10210f Author: Sergey Kononenko Date: Sun Oct 15 03:12:08 2006 +0300 [SCSI] aic94xx: Supermicro motherboards support Add PCI id. Plus correct for possibly missing resistor that can cause FLASHEX to have the wrong value. Signed-off-by: Sergey Kononenko Signed-off-by: James Bottomley commit 9c3121feef7e1fba86f74b2677e6f54e7153d149 Author: Santiago Leon Date: Fri Oct 13 10:22:50 2006 -0500 [SCSI] ibmvscsi: correctly reenable CRQ The "ibmvscsi: treat busy and error conditions separately" patch submitted by Dave Boutcher back in June incorrectly reenables the CRQ. The broken logic causes the adapter to get disabled if the CRQ connection happens to close temporarily. This patch "fixes that obviously wrong logic check" (Dave's words). Signed-off-by: Santiago Leon Signed-off-by: David Boutcher Signed-off-by: James Bottomley commit 7c83a3ceb6d06e7cb908f5102687c9661e7d4d0a Author: Andrew Vasquez Date: Fri Oct 13 09:33:40 2006 -0700 [SCSI] qla2xxx: Update version number to 8.01.07-k3. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit df7baa506c2db1c2d12abd6f05c43f911da55a2e Author: Andrew Vasquez Date: Fri Oct 13 09:33:39 2006 -0700 [SCSI] qla2xxx: Correct QUEUE_FULL handling. - Drop queue-depths across all luns for a given fcport during TASK_SET_FULL statuses. - Ramp-up I/Os after throttling. - Consolidate completion-status handling of CS_QUEUE_FULL with CS_COMPLETE as ISP24xx firmware no longer reports CS_QUEUE_FULL. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 18c6c12759813c988bb05796d1b3352e98ae77de Author: Andrew Vasquez Date: Fri Oct 13 09:33:38 2006 -0700 [SCSI] qla2xxx: Workaround D3 power-management issues. Early ISP2432 parts have a known hardware issue when coming out of a D3 hot state. This issue can result in a hung PCIe link. Recent firmwares contain a workaround whereby the stop-firmware mailbox command prevents the ISP from entering the D3 hot state. In order to ensure that the workaround succeeded the driver must verify that the stop-firmware mailbox command completes successfully. In the event of a failure, the driver attempts a shutdown-retry after resetting the ISP and re-executing firmware. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f1663ad5dbb801e03c4c99c24d698ad5dba9aaff Author: Andrew Vasquez Date: Fri Oct 13 09:33:37 2006 -0700 [SCSI] qla2xxx: Check return value of sysfs_create_bin_file() usage. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8d1a006049ff1c084d57fbea1106ecad3455bd27 Author: Swen Schillig Date: Thu Oct 12 11:43:44 2006 +0200 [SCSI] zfcp: initialize scsi_host_template.max_sectors with appropriate value Define ZFCP_MAX_SECTORS and initialize scsi_host_template.max_sectors with appropriate value. Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 9531c330f14c02d9f4eff7345071f485dc62dab1 Author: Henrik Kretzschmar Date: Tue Oct 10 14:41:42 2006 -0700 [SCSI] fc4: Conversion to struct scsi_cmnd in fc4 Changes the obsolete Scsi_Cmnd to struct scsi_cmnd in the Fibre Channel driver (fc4). Signed-off-by: Henrik Kretzschmar Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 0fc82d5e84825ab43006f40935633120d23c2e15 Author: Henrik Kretzschmar Date: Tue Oct 10 14:41:41 2006 -0700 [SCSI] convert ninja driver to struct scsi_cmnd Changes the obsolete typedefd Scsi_Cmnd to struct scsi_cmnd in the ninja scsi pcmcia driver. Signed-off-by: Henrik Kretzschmar Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit c543a3739c2a3034c80d77a189bd187c43a00feb Author: Henrik Kretzschmar Date: Tue Oct 10 14:41:45 2006 -0700 [SCSI] Scsi_Cmnd conversion in psi240i driver Changes the obsolete Scsi_Cmnd to struct scsi_cmnd in psi240i-driver. Signed-off-by: Henrik Kretzschmar Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 0b3a82d391563da15df2b3a0d245d41748822489 Author: Eric Sesterhenn Date: Tue Oct 10 14:41:43 2006 -0700 [SCSI] lpfc: check before dereference in lpfc_ct.c If we fail to allocate mp->virt during the first while loop iteration, mlist is still uninitialized, therefore we should check if before dereferencing. Signed-off-by: Eric Sesterhenn Acked-by: James Smart Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 46c43db1eabcdc46ad9a3d711edff1d698ecd21f Author: Alexey Dobriyan Date: Sun Oct 8 15:55:55 2006 +0400 [SCSI] scsi_lib.c: use BUILD_BUG_ON Signed-off-by: Alexey Dobriyan Signed-off-by: James Bottomley commit 8e394aec14f24e3b41a315a2dc53537024190c8a Author: Henne Date: Mon Oct 9 15:38:34 2006 +0200 [SCSI] fix typo in previous Scsi_Cmnd convertion in aic7xxx_old.c Fixes a typo in the aic7xxx_old.c. Signed-off-by: Olaf Hering Signed-off-by: Henrik Kretzschmar Signed-off-by: James Bottomley commit 35508e46aae4b57bd07d095eb11533e296b254dc Author: Michael Reed Date: Fri Oct 6 15:39:25 2006 -0500 [SCSI] mptfc: stall eh handlers if resetting while rport blocked Thanks to James Smart for the inspiration. Stall error handler if attempting recovery while an rport is blocked. This avoids device offline scenarios due to errors in the error handler. Also verify that VirtDevice is available before issuing scsi command. VirtDevice is removed when fc transport removes a target. See James Smart's patch of 08/17/2006 for greater detail. http://marc.theaimsgroup.com/?l=linux-scsi&m=115583213624803&w=2 Also bump version number per Eric's request. Signed-off-by: Michael Reed Acked-by: Eric Moore Signed-off-by: James Bottomley commit 11010fecd2a1fdae684237b61709367ae6a93289 Author: Andrew Vasquez Date: Fri Oct 6 09:54:59 2006 -0700 [SCSI] Maintain module-parameter name consistency with qla2xxx/qla4xxx. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 80f1443c66de3ec42e28d151bd43a80de398877e Author: Hannes Reinecke Date: Fri Oct 6 09:22:41 2006 +0200 [SCSI] aic7xxx: Adjust .max_sectors According to the adaptec sources aic7xxx / aic79xx really can do 4MB transfers. So we should adjust .max_sectors. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 5ae16db36988e811410494fb5d07c81e14453e7b Author: Doug Maxey Date: Thu Oct 5 23:50:07 2006 -0500 [SCSI] qla4xxx: fix double printk on load There is a dup printk at the tail of qla4xxx_module_init(). Remove the first instance as it's before the complete success of the function. Signed-off-by: James Bottomley commit 75c28851c9eee889ef4347ff6f55b2dd1e1ceb81 Author: Guennadi Liakhovetski Date: Fri Oct 6 00:11:17 2006 +0200 [SCSI] tmscsim: set max_sectors AM53C974A's Start Transfer Counter register has 24 bits, thus maximum transfer length is 16MiB. But the maximum I can test is 8MiB, so use that until somebody tests 16MiB. Signed-off-by: Guennadi Liakhovetski Signed-off-by: James Bottomley commit 413f73272090a69e35a03c938272ec661b1d3d4c Author: Kai Makisara Date: Thu Oct 5 22:59:46 2006 +0300 [SCSI] st: Fixup -ENOMEDIUM Based on the original patch from Hannes Reinecke Fix st_open() to return -ENOMEDIUM instead of -EIO if no medium is found. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit a24342b90c9c829fc5fea9ee01b127f81bca18ef Author: Henne Date: Tue Oct 3 21:31:14 2006 +0200 [SCSI] Scsi_Cmnd conversion in qlogicfas408 driver Change obsolete Scsi_Cmnd to struct scsi_cmnd in the Qlocic FAS408 driver. Signed-off-by: Henrik Kretzschmar rejections fixed and Signed-off-by: James Bottomley commit 811c93666c3f4a0e99382c24a84480b03c7262f6 Author: Henne Date: Tue Oct 3 19:51:59 2006 +0200 [SCSI] Scsi_Cmnd convertion in sun3-driver Change the obsolete Scsi_Cmnd to struct scsi_cmnd in the sun3-driver. Signed-off-by: Henrik Kretzschmar Signed-off-by: James Bottomley commit f84fcb06a1f7ab4ac0444ece82b25b0701369641 Author: Eric Sesterhenn Date: Fri Oct 20 14:35:59 2006 -0700 Remove unnecessary check in drivers/video/intelfb/intelfbhw.c All callers and the function itself dereference dinfo, so we can remove the check. (coverity id #1371) Signed-off-by: Eric Sesterhenn Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit a77b8950019289611f836c8fc19f91592822efcd Author: Alan Cox Date: Fri Oct 20 14:36:00 2006 -0700 intel fb: switch to pci_get API Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 85abb3f95010b277a6efbc9b8031a7854af87e10 Author: Amol Lad Date: Wed Oct 25 09:55:34 2006 -0700 drm: ioremap balanced with iounmap for drivers/char/drm ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only) to make sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad Signed-off-by: Dave Airlie commit 24f73c92a990ecd3d1bb846267780a264d830065 Author: Jeff Garzik Date: Tue Oct 10 14:23:37 2006 -0700 drm: fix error returns, sysfs error handling - callers of drm_sysfs_create() and drm_sysfs_device_add() looked for errors using IS_ERR(), but the functions themselves only ever returned NULL on error. Fixed. - unwind from, and propagate sysfs errors Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 0d960d26c42888cf327df7faa1a8aa62bab53fa4 Author: Dave Jones Date: Wed Oct 18 00:26:39 2006 -0400 fix return code in error case. The other failure returns in this function are negative, so make this one do the same. Signed-off-by: Dave Jones Signed-off-by: Dave Airlie commit bcbaecbb9968750d4bfb2686a97e396f681f88ef Author: Patrick McHardy Date: Wed Oct 25 16:49:36 2006 +1000 [CRYPTO] users: Select ECB/CBC where needed CRYPTO_MANAGER is selected automatically by CONFIG_ECB and CONFIG_CBC. config CRYPTO_ECB tristate "ECB support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER I've added CONFIG_ECB to the ones you mentioned and CONFIG_CBC to gssapi. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 2099c99e3b24f86b131566aa9854249189ae9ea2 Author: Al Viro Date: Tue Oct 24 11:17:06 2006 +0100 [PATCH] missing includes of io.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 016002312d50004908a79df37174b336e3682e18 Author: Al Viro Date: Tue Oct 24 11:17:37 2006 +0100 [PATCH] missing include of dma-mapping.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit aa6c2e62bbe7a20ccc85906f75bc63465d899227 Author: Al Viro Date: Tue Oct 24 11:16:29 2006 +0100 [PATCH] IOC4 should depend on PCI Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 3a51237dc11efe283b40ea0248f4e26ab935dbd1 Author: Al Viro Date: Tue Oct 24 11:15:29 2006 +0100 [PATCH] uml: mconsole fixes * when we have stop/sysrq/go, we get pt_regs of whatever executes mc_work_proc(). Would be better to see what we had at the time of interrupt that got us stop. * stop/stop/stop..... will give stack overflow. Shouldn't allow stop from mconsole_stop(). * stop/stop/go leaves us inside mconsole_stop() with os_set_fd_block(req->originating_fd, 0); reactivate_fd(req->originating_fd, MCONSOLE_IRQ); just done by nested mconsole_stop(). Ditto. * once we'd seen stop, there's a period when INTR commands are executed out of order (as they should; we might have the things stuck badly enough to never reach mconsole_stop(), but still not badly enough to block mconsole_interrupt(); in that situation we _want_ things like "cad" to be executed immediately). Once we enter monsole_stop(), all INTR commands will be executed in order, mixed with PROC ones. We'd better let user see that such change of behaviour has happened. (Suggested by lennert). * stack footprint of monsole_interrupt() is an atrocity; AFAICS we can safely make struct mc_request req; static in function there. Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Linus Torvalds commit 6c50444723f2e6487b3377450f90d813a88e6c31 Author: Keith Packard Date: Tue Oct 24 13:34:11 2006 -0700 [PATCH] Merge headphone and speaker volume controls for Panasonic R4 laptop Signed-off-by: Keith Packard Signed-off-by: Linus Torvalds commit f4d4c354bca18210296cc0a8f592c0cdb720bf20 Author: Benjamin Herrenschmidt Date: Wed Oct 25 13:22:27 2006 +1000 [POWERPC] Fix CHRP platforms with only 8259 On CHRP platforms with only a 8259 controller, we should set the default IRQ host to the 8259 driver's one for the IRQ probing fallbacks to work in case the IRQ tree is incorrect (like on Pegasos for example). Without this fix, we get a bunch of WARN_ON's during boot. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f49196a5f53aa62a964b08ffa2c59699a0c8eb53 Author: Scott Wood Date: Mon Oct 23 11:35:22 2006 -0500 [POWERPC] IPIC: Fix spinlock recursion in set_irq_handler This causes ipic_set_irq_type to set the handler directly rather than call set_irq_handler, which causes spinlock recursion because the lock is already held when ipic_set_irq_type is called. I'm also not convinced that ipic_set_irq_type should be changing the handler at all. There seem to be several controllers that don't and several that do. Those that do would break what appears to be a common usage of calling set_irq_chip_and_handler followed by set_irq_type, if a non-standard handler were to be used. OTOH, irq_create_of_mapping() doesn't set the handler, but only calls set_irq_type(). This patch gets things working in the spinlock-debugging-enabled case, but I'm curious as to where the handler setting is ideally supposed to be done. I don't see any documentation on set_irq_type() that clarifies what the semantics are supposed to be. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit f84c39da766b4c8f13872282f58286a57ad05b3e Author: Liu Dave-r63238 Date: Wed Oct 18 16:36:56 2006 +0800 [POWERPC] Fix the UCC rx/tx clock of QE MPC8323EMDS board ethernet interface with RMII uses the CLK16 divisor for the rx and tx clock, but the ucc_set_qe_mux_rxtx() function doesn't handle the CLK16 setting of the CMXUCR3 and CMXUCR4 registers. This fixes it. Signed-off-by: Dave Liu Signed-off-by: Paul Mackerras commit b910ecf6bf221bb06f37e44765307c42b20db205 Author: Arnd Bergmann Date: Tue Oct 24 18:01:43 2006 +0200 [POWERPC] cell: update defconfig =================================================================== Signed-off-by: Paul Mackerras commit 274cef5e9d0e494ad84dbc28513b0bb6e3d847ae Author: Arnd Bergmann Date: Tue Oct 24 18:01:42 2006 +0200 [POWERPC] spufs: fix another off-by-one bug in spufs_mbox_read Currently, spufs_mbox_read transfers more bytes than requested on a read. If you ask for four bytes, you get eight. This fixes it to transfer the largest multiple of four bytes that is less than or equal to the number you asked for. Note: one nasty property of this file in spufs is that you can only read multiples of four bytes in the first place, since there is no way to atomically put back a few bytes into the hardware register. Thus, reading less than four bytes returns -EINVAL. Asking for more than four returns the largest possible multiple of four. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit f6b301b89b7bf0bb872da4f37dc28240413cbae7 Author: Dwayne Grant Mcconnell Date: Tue Oct 24 18:27:30 2006 +0200 [POWERPC] spufs: fix signal2 file to report signal2 This fixes the /signal2 file to actually give signal2 data. Signed-off-by: Dwayne Grant Mcconnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit e2100efb266c9335925191afe79f81f8d0a5807e Author: Benjamin Herrenschmidt Date: Fri Oct 20 11:49:54 2006 +1000 [POWERPC] Fix device_is_compatible() const warning Fix a const'ification related warning with device_is_compatible() and friends related to get_property() not properly having const on it's input device node argument. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 859deea949c382d9ccb6397fe33df3703ecef45d Author: Benjamin Herrenschmidt Date: Fri Oct 20 14:37:05 2006 +1000 [POWERPC] Cell timebase bug workaround The Cell CPU timebase has an erratum. When reading the entire 64 bits of the timebase with one mftb instruction, there is a handful of cycles window during which one might read a value with the low order 32 bits already reset to 0x00000000 but the high order bits not yet incremeted by one. This fixes it by reading the timebase again until the low order 32 bits is no longer 0. That might introduce occasional latencies if hitting mftb just at the wrong time, but no more than 70ns on a cell blade, and that was considered acceptable. Signed-off-by: Benjamin Herrenschmidt Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 21c4ff80cba5e24932f3ef79c8482c0491630b2b Author: Benjamin Herrenschmidt Date: Fri Oct 20 11:47:19 2006 +1000 [POWERPC] Support feature fixups in modules This patch adds support for feature fixups in modules. This involves adding support for R_PPC64_REL64 relocs to the 64 bits module loader. It also modifies modpost.c to ignore the powerpc fixup sections (or it would warn when used in .init.text). Signed-off-by: Benjamin Herrenschmidt Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 0909c8c2d547e45ca50e2492b08ec93a37b35237 Author: Benjamin Herrenschmidt Date: Fri Oct 20 11:47:18 2006 +1000 [POWERPC] Support feature fixups in vdso's This patch reworks the feature fixup mecanism so vdso's can be fixed up. The main issue was that the construct: .long label (or .llong on 64 bits) will not work in the case of a shared library like the vdso. It will generate an empty placeholder in the fixup table along with a reloc, which is not something we can deal with in the vdso. The idea here (thanks Alan Modra !) is to instead use something like: 1: .long label - 1b That is, the feature fixup tables no longer contain addresses of bits of code to patch, but offsets of such code from the fixup table entry itself. That is properly resolved by ld when building the .so's. I've modified the fixup mecanism generically to use that method for the rest of the kernel as well. Another trick is that the 32 bits vDSO included in the 64 bits kernel need to have a table in the 64 bits format. However, gas does not support 32 bits code with a statement of the form: .llong label - 1b (Or even just .llong label) That is, it cannot emit the right fixup/relocation for the linker to use to assign a 32 bits address to an .llong field. Thus, in the specific case of the 32 bits vdso built as part of the 64 bits kernel, we are using a modified macro that generates: .long 0xffffffff .llong label - 1b Note that is assumes that the value is negative which is enforced by the .lds (those offsets are always negative as the .text is always before the fixup table and gas doesn't support emiting the reloc the other way around). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7aeb732428fc8e2ecae6d432873770c12f04a979 Author: Benjamin Herrenschmidt Date: Fri Oct 20 11:47:16 2006 +1000 [POWERPC] Support nested cpu feature sections This patch adds some macros that can be used with an explicit label in order to nest cpu features. This should be used very careful but is necessary for the upcoming cell TB fixup. Signed-off-by: Benjamin Herrenschmidt Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 42c4aaadb737e0e672b3fb86b2c41ff59f0fb8bc Author: Benjamin Herrenschmidt Date: Tue Oct 24 16:42:40 2006 +1000 [POWERPC] Consolidate feature fixup code There are currently two versions of the functions for applying the feature fixups, one for CPU features and one for firmware features. In addition, they are both in assembly and with separate implementations for 32 and 64 bits. identify_cpu() is also implemented in assembly and separately for 32 and 64 bits. This patch replaces them with a pair of C functions. The call sites are slightly moved on ppc64 as well to be called from C instead of from assembly, though it's a very small change, and thus shouldn't cause any problem. Signed-off-by: Benjamin Herrenschmidt Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit fb20f65a01a97bdf4bb746eecfc24a08561e2648 Author: Olaf Hering Date: Fri Oct 20 15:57:15 2006 +0200 [POWERPC] Fix hang in start_ldr if _end or _edata is unaligned Quick fix for lack of memset(__bss_start, 0, _end-__bss_start) in load_kernel(). If edata is unaligned, the loop will overwrite all memory because r3 and r4 will never be equal. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 0e64e94e477f8ed04e9295b11a5898d443c28a47 Author: Gerrit Renker Date: Tue Oct 24 16:17:51 2006 -0700 [DCCP]: Update documentation references. Updates the references to spec documents throughout the code, taking into account that * the DCCP, CCID 2, and CCID 3 drafts all became RFCs in March this year * RFC 1063 was obsoleted by RFC 1191 * draft-ietf-tcpimpl-pmtud-0x.txt was published as an Informational RFC, RFC 2923 on 2000-09-22. All references verified. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 977a415f2b70b5693aaa23b1a16ad57ea20a1dce Author: David S. Miller Date: Tue Oct 24 16:16:39 2006 -0700 [ATM] horizon: read_bia() needs to be __devinit Thanks to Randy Dunlap. Signed-off-by: David S. Miller commit 6d381634d213580d40d431e7664dfb45f641b884 Author: Patrick McHardy Date: Tue Oct 24 16:15:10 2006 -0700 [NETFILTER]: Fix ip6_tables extension header bypass bug As reported by Mark Dowd , ip6_tables is susceptible to a fragmentation attack causing false negatives on extension header matches. When extension headers occur in the non-first fragment after the fragment header (possibly with an incorrect nexthdr value in the fragment header) a rule looking for this extension header will never match. Drop fragments that are at offset 0 and don't contain the final protocol header regardless of the ruleset, since this should not happen normally. Since all extension headers are before the protocol header this makes sure an extension header is either not present or in the first fragment, where we can properly parse it. With help from Yasuyuki KOZAKAI . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 51d8b1a65291a6956b79374b6adbbadc2263bcf6 Author: Patrick McHardy Date: Tue Oct 24 16:14:04 2006 -0700 [NETFILTER]: Fix ip6_tables protocol bypass bug As reported by Mark Dowd , ip6_tables is susceptible to a fragmentation attack causing false negatives on protocol matches. When the protocol header doesn't follow the fragment header immediately, the fragment header contains the protocol number of the next extension header. When the extension header and the protocol header are sent in a second fragment a rule like "ip6tables .. -p udp -j DROP" will never match. Drop fragments that are at offset 0 and don't contain the final protocol header regardless of the ruleset, since this should not happen normally. With help from Yasuyuki KOZAKAI . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 70a0a5357db20c291d46c04011d646d5d84c868c Author: Eric W. Biederman Date: Wed Oct 25 01:00:23 2006 +0200 [PATCH] x86-64: Only look at per_cpu data for online cpus. When I generalized __assign_irq_vector I failed to pay attention to what happens when you access a per cpu data structure for a cpu that is not online. It is an undefined case making any code that does it have undefined behavior as well. The code still needs to be able to allocate a vector across cpus that are not online to properly handle combinations like lowest priority interrupt delivery and cpu_hotplug. Not that we can do that today but the infrastructure shouldn't prevent it. So this patch updates the places where we touch per cpu data to only touch online cpus, it makes cpu vector allocation an atomic operation with respect to cpu hotplug, and it updates the cpu start code to properly initialize vector_irq so we don't have inconsistencies. Signed-off-by: Eric W. Biederman Signed-off-by: Andi Kleen commit d1752aa884ec0ac3027c1a3d456bf69bf765c8b8 Author: Eric W. Biederman Date: Wed Oct 25 01:00:22 2006 +0200 [PATCH] x86-64: Simplify the vector allocator. There is no reason to remember a per cpu position of which vector to try. Keeping a global position is simpler and more likely to result in a global vector allocation even if I don't need or require it. For level triggered interrupts this means we are less likely to acknowledge another cpus irq, and cause the level triggered irq to harmlessly refire. This simplification makes it easier to only access data structures of online cpus, by having fewer special cases to deal with. Signed-off-by: Eric W. Biederman Signed-off-by: Andi Kleen commit 2fab22f2d3290ff7c602fe62f22e825c48e97a06 Author: Patrick McHardy Date: Tue Oct 24 15:34:00 2006 -0700 [XFRM]: Fix xfrm_state accounting xfrm_state_num needs to be increased for XFRM_STATE_ACQ states created by xfrm_state_find() to prevent the counter from going negative when the state is destroyed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 82571026b9771c4035b0c62abbbe588fe73373ea Author: Al Viro Date: Tue Oct 24 15:18:36 2006 -0700 [IPV4] ipconfig: fix RARP ic_servaddr breakage memcpy 4 bytes to address of auto unsigned long variable followed by comparison with u32 is a bloody bad idea. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 824545e7031541f83245d254caca012bf6bdc6cd Author: Auke Kok Date: Tue Oct 24 14:49:44 2006 -0700 e100: account for closed interface when shutting down Account for the interface being closed before disabling polling on a device, to fix shutdown on some systems that explcitly close the netdevice before calling shutdown. Signed-off-by: Auke Kok commit ff1e55b078676d3c449ace6b99d95c0e22c905d6 Author: Auke Kok Date: Tue Oct 24 14:46:09 2006 -0700 e1000: Increment version to 7.2.9-k4 Significant fixes -> increment driver version. Signed-off-by: Auke Kok commit d2a1e2131aee7b3feb815636dc7917a96e49fd8e Author: Jesse Brandeburg Date: Tue Oct 24 14:46:06 2006 -0700 e1000: FIX: move length adjustment due to crc stripping disabled. Move the length (rx_bytes counter) adjustment of 4 bytes down to after the TBI_ACCEPT workaround. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok commit 032fe6e9e253ebb37a0df0893844674dea9210fd Author: Jesse Brandeburg Date: Tue Oct 24 14:46:04 2006 -0700 e1000: FIX: Don't limit descriptor size to 4kb for PCI-E adapters 82571 and newer chispets don't need to limit desc. length to 4kb and can handle 8kb sizes. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok commit e64d7d02090e475cfd7efbc830146d0c6dd579bc Author: Jesse Brandeburg Date: Tue Oct 24 14:46:01 2006 -0700 e1000: FIX: Disable Packet Split for non jumbo frames Allocations using alloc_page are taking too long for normal MTU, so use LPE only for jumbo frames. Signed-off-bu: Jesse Brandeburg Signed-off-by: Auke Kok commit 225a5dbd68f5271b7425f2f783ae64a1f6863b51 Author: Bruce Allan Date: Tue Oct 24 14:45:58 2006 -0700 e1000: FIX: fix wrong txdctl threshold bitmasks Threshold bitmasks for prefetch, host and writeback were clearing bits that they were not supposed to. The leftmost 2 bits in the byte for each threshold are reserved. Signed-off-by: Bruce Allan Signed-off-by: Auke Kok commit dc1f71f6b30c258704885cd488582eb3d68b3e8e Author: Auke Kok Date: Tue Oct 24 14:45:55 2006 -0700 e1000: FIX: 82542 doesn't support WoL Exclude 82542 when setting up WoL. This card does not do WoL at all. Signed-off-by: Auke Kok commit 4ccc12aeece8ab14ad96461c4db269aea080715d Author: Jesse Brandeburg Date: Tue Oct 24 14:45:53 2006 -0700 e1000: FIX: don't poke at manageability registers for incompatible adapters The MANC register should not be read for PCI-E adapters at all, as well as 82543 and older where 82543 would master abort when this register was accessed. Signed-off-by: Auke Kok commit 64271c4d909a15bc588f053a739db2e6df336d7d Author: Craig Hughes Date: Tue Oct 24 00:47:35 2006 +0100 [ARM] 3902/1: Enable GPIO81-84 on PXA255 The PXA255 has 84 GPIO lines available. This patch allows access to 81-84 Signed-off-by: Craig Hughes Signed-off-by: Russell King commit 52f0c67340ca306d5802b52140a186fcfa4b340e Author: Russell King Date: Sun Oct 22 16:04:29 2006 +0100 [ARM] Comment out missing configuration symbols HAS_TOUCHSCREEN_ADS7843_LH7 and HAS_TOUCHSCREEN_ADC_LH7 are referenced but not defined in the LH7A40x configuration. Comment them out to prevent them causing warnings. Marc Singer said: Feel free to remove the Kconfig lines. I'll add it back with the rest of the config entries. Signed-off-by: Russell King commit 62c877b9b7c463aa16ffbc9a322cb094fdb5827a Author: Anton Vorontsov Date: Fri Oct 20 00:58:49 2006 +0100 [ARM] 3898/1: corgi_bl fix module loading Fix module loading: corgi_bl: module license 'GPLv2' taints kernel. corgi_bl: Unknown symbol platform_driver_unregister corgi_bl: Unknown symbol __symbol_get corgi_bl: Unknown symbol platform_driver_register Cc: Richard Purdie Signed-off-by: pHilipp Zabel Signed-off-by: Anton Vorontsov Signed-off-by: Russell King commit f586fbd0ef273a80d88a07f911d9f2f2a8ac1679 Author: Anton Vorontsov Date: Fri Oct 20 00:56:28 2006 +0100 [ARM] 3897/1: corgi_bl fix module compiling Fix module compiling: WARNING: drivers/video/backlight/corgi_bl.o - Section mismatch: reference to .init.text: from .data between '$d' (at offset 0x0) and 'bl_mutex' Cc: Richard Purdie Signed-off-by: Anton Vorontsov Signed-off-by: Russell King commit cf610ca226a484f3182a59f168402cb27dcc1c53 Author: Russell King Date: Fri Oct 20 20:16:24 2006 +0100 [ARM] Fix breakage in 7281c248f797723f66244b7ecef204620f664648 A couple of missing semicolons. Signed-off-by: Russell King commit 958de71b1ab01c20c1b385035235746c9227b24f Author: Tilman Sauerbeck Date: Tue Oct 24 21:52:23 2006 +1000 drm: mga: set dev_priv_size fd.o bug 1746 Signed-off-by: Dave Airlie commit 10eee0fe9114694401c7ae154e8cfb2ab2f59c10 Author: Michael Karcher Date: Tue Oct 24 21:46:55 2006 +1000 drm: savage: dev->agp_buffer_map is not initialized for AGP DMA on savages fd.o bug 8662 Signed-off-by: Dave Airlie commit a1aa28970316d7fb606321d5ab7fb3873641ab54 Author: Roland Scheidegger Date: Tue Oct 24 21:45:00 2006 +1000 drm: radeon: only allow specific type-3 packetss through verifier only allow specific type-3 packets to pass the verifier instead of all for r100/r200 as others might be unsafe (r300 already does this), and add checking for these we need but aren't safe. Check the RADEON_CP_INDX_BUFFER packet on both r200 and r300 as it isn't safe neither. Signed-off-by: Dave Airlie commit aa7a32cbdac50bb46a75722faa359993dab07c61 Author: Timur Tabi Date: Wed Oct 18 17:27:32 2006 -0500 [POWERPC] Fix spelling errors in ucc_fast.c and ucc_slow.c In ucc_fast.c and ucc_slow.c, "illegal" is twice spelled "illagal". Signed-off-by: Timur Tabi Signed-off-by: Paul Mackerras commit 3688a0f484e980771c078ab90f74a2656c339106 Author: Mark A. Greer Date: Wed Oct 18 14:38:09 2006 -0700 [POWERPC] Don't require execute perms on wrapper when building zImage.initrd Don't require that the wrapper script be executable when building zImage.initrds. This has already been fixed for zImages. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 362ff7b2ac0234152b4a334dd006b77f4fa2ab23 Author: Jake Moilanen Date: Wed Oct 18 10:47:22 2006 -0500 [POWERPC] Add 970GX cputable entry 970GX cputable entry from Steve Winiecki. Signed-off-by: Jake Moilanen arch/powerpc/kernel/cputable.c | 15 +++++++++++++++ arch/powerpc/oprofile/op_model_power4.c | 2 +- include/asm-powerpc/reg.h | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) Signed-off-by: Paul Mackerras commit 7f8c4c50bda13d27afc03679d25aa1fcac8df551 Author: Srinivasa Ds Date: Wed Oct 18 17:34:49 2006 +0530 [POWERPC] Fix build breakage with CONFIG_PPC32 low_cpu_die is called from the CPU hotplug code on 32-bit powermacs, but it is only defined if CONFIG_PM || CONFIG_CPU_FREQ_PMAC. This changes the ifdef so it is defined for CONFIG_HOTPLUG_CPU on 32-bit machines. Signed-off-by: Srinivasa DS Signed-off-by: Paul Mackerras commit c3386e40142e9d0c077460c2a548c4653fecaf15 Author: Zang Roy-r61911 Date: Wed Oct 18 11:18:58 2006 +0800 [POWERPC] Fix compiler warning message on get_property call This fixes the warning message from the return value of function get_property(), by making sure that the variable that receives the value is marked as const. Signed-off-by: Roy Zang -- Signed-off-by: Paul Mackerras commit cbcdb93d4443568f17e93610d240043ec5ac067b Author: Stephen Rothwell Date: Tue Oct 17 23:08:35 2006 +1000 [POWERPC] Simplify stolen time calculation In calculating stolen time, we were trying to actually account for time spent in the hypervisor. We don't really have enough information to do that accurately, so don't try. Instead, we now calculate stolen time as time that the current cpu thread is not actually dispatching instructions. On chips without a PURR, we cannot do this, so stolen time will always be zero. On chips with a PURR, this is merely the difference between the elapsed PURR values and the elapsed TB values. This gives us much more sane vaules from tools such as mpstat, even if they are still a bit strange e.g. 2 busy threads on one cpu will both appear to have 50% user time and 50% stolen time while 1 busy thread on a cpu will look like 100% user on one of them and 100% idle on the other. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras