commit cbd9c883696da72b2b1f03f909dbacc04bbf8b58 Author: Linus Torvalds Date: Tue Jan 15 20:22:48 2008 -0800 Linux 2.6.24-rc8 commit 1a499150e4ec1299232e24389f648d059ce5617a Author: Luck, Tony Date: Mon Jan 14 09:59:24 2008 -0800 [IA64] Fix unaligned handler for floating point instructions with base update The compiler team did the hard work for this distilling a problem in large fortran application which showed up when applied to a 290MB input data set down to this instruction: ldfd f34=[r17],-8 Which they noticed incremented r17 by 0x10 rather than decrementing it by 8 when the value in r17 caused an unaligned data fault. I tracked it down to some bad instruction decoding in unaligned.c. The code assumes that the 'x' bit can determine whether the instruction is an "ldf" or "ldfp" ... which it is for opcode=6 (see table 4-29 on page 3:302 of the SDM). But for opcode=7 the 'x' bit is irrelevent, all variants are "ldf" instructions (see table 4-36 on page 3:306). Note also that interpreting the instruction as "ldfp" means that the "paired" floating point register (f35 in the example here) will also be corrupted. Signed-off-by: Tony Luck commit 121a09e590d54be840289c6feac840453aa999d9 Author: Alan Cox Date: Mon Jan 14 01:06:40 2008 -0800 libata: correct handling of TSS DVD Devices that misreport the validity bit for word 93 look like SATA. If they are on the blacklist then we must not test for SATA but assume 40 wire in the 40 wire case (The TSSCorp reports 80 wire on SATA it seems!) Signed-off-by: Alan Cox Cc: Tejun Heo Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0f7577434bcdf99456757b44d8911dc6e51c3178 Author: Andrew Morton Date: Thu Jan 10 14:33:09 2008 -0800 [libata] core checkpatch fix Cc: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ed722d3d3eb2e9ea87d9f8109c291337e79d584a Author: Andrew Morton Date: Thu Jan 10 14:33:08 2008 -0800 [libata] pata_bf54x: checkpatch fixes WARNING: line over 80 characters #36: FILE: drivers/ata/pata_bf54x.c:1512: + while (bfin_port_info[board_idx].udma_mask>0 && udma_fsclk[udma_mode] > fsclk) { ERROR: need spaces around that '>' (ctx:VxV) #36: FILE: drivers/ata/pata_bf54x.c:1512: + while (bfin_port_info[board_idx].udma_mask>0 && udma_fsclk[udma_mode] > fsclk) { ^ total: 1 errors, 1 warnings, 19 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Jeff Garzik Cc: Sonic Zhang Cc: Tejun Heo Cc: sonic zhang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b50e56d81e0df964e9b28001d792021b109cf4f1 Author: Al Viro Date: Sat Jan 12 14:16:14 2008 +0000 libata fixes for sparse-found problems In pata_legacy and pata_winbond we've got bugs - cpu_to_le16() instead of cpu_to_le32(). Fortunately, both affected suckers are VLB, thus l-e-only, so we might get away with that unless we hit it with slop == 3 (hadn't checked if playing with badly aligned sg could trigger that). Still buggy... Moreover, pata_legacy, pata_winbond and pata_qdi forgot to initialize pad on the write side of 32bit case in their ->data_xfer(). Hopefully the hardware does't care, but still, sending uninitialized data to it... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7d2284b09fd967b5cad6f03c6d4a5c064f37b855 Author: Mathieu Desnoyers Date: Tue Jan 15 12:42:02 2008 -0500 Fix Blackfin HARDWARE_PM support This patch restores the blackfin Hardware Performance Monitor Profiling support that was killed by the combining of instrumentation menus in commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9. Since there seems to be no good reason to behave differently from other architectures, it now automatically selects the hardware performance counters whenever the profiling is activated. mach-common/irqpanic.c: pm_overflow calls pm_overflow_handler which is in oprofile/op_model_bf533.c. I doubt that setting HARDWARE_PM as "m" will work at all, since the pm_overflow_handler should be in the core kernel image because it is called by irqpanic.c. Therefore, I change HARDWARE_PM from a tristate to a bool. The whole arch/$(ARCH)/oprofile/ is built depending on CONFIG_OPROFILE. Since part of the HARDWARE_PM support files sits in this directory, it makes sense to also depend on OPROFILE, not only PROFILING. Since OPROFILE already depends on PROFILING, it is correct to only depend on OPROFILE only. Thanks to Adrian Bunk for finding this bug and providing an initial patch. Signed-off-by: Mathieu Desnoyers CC: Adrian Bunk CC: Randy Dunlap CC: bryan.wu@analog.com Acked-by: Robin Getz Signed-off-by: Linus Torvalds commit 38ad9aebe70dc72df08851bbd1620d89329129ba Author: Linus Torvalds Date: Tue Jan 15 09:23:51 2008 -0800 Fix ARM profiling/instrumentation configuration Commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 ("Combine instrumentation menus in kernel/Kconfig.instrumentation") broke ARM profiling support, since ARM has some extra Kconfig options and doesn't just use the common OPROFILE/KPROBES config options. Rather than just revert the thing outright, or add ARM-specific knowledge to the generic Kconfig.instrumentation file (where the only and whole point was to be generic, not too architecture-specific), this just makes ARM not use the generic version, since it doesn't suit it. So create an arm-specific version of Kconfig.instrumentation instead, and use that. Acked-by: Ingo Molnar Acked-by: Russell King Signed-off-by: Linus Torvalds commit 8ee291f87c5dcebcf9c3a0ee4e021586897db364 Author: Bernhard Walle Date: Tue Jan 15 16:44:38 2008 +0100 x86: fix RTC_AIE with CONFIG_HPET_EMULATE_RTC In the current code, RTC_AIE doesn't work if the RTC relies on CONFIG_HPET_EMULATE_RTC because the code sets the RTC_AIE flag in hpet_set_rtc_irq_bit(). The interrupt handles does accidentally check for RTC_PIE and not RTC_AIE when comparing the time which was set in hpet_set_alarm_time(). I now verified on a test system here that without the patch applied, the attached test program fails on a system that has HPET with 2.6.24-rc7-default. That's not critical since I guess the problem has been there for several kernel releases, but as the fix is quite obvious. Configuration is CONFIG_RTC=y and CONFIG_HPET_EMULATE_RTC=y. Signed-off-by: Bernhard Walle Acked-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d43a3312c77eb6bbf71fbadefb1683f6d197bf91 Author: Mike Frysinger Date: Tue Jan 15 16:44:38 2008 +0100 x86: asm-x86/msr.h: pull in linux/types.h Since the msr.h header uses types like __u32, it should pull in linux/types.h. [ mingo@elte.hu: affects user-space that includes this header. We dont actually like user-space including raw kernel headers but it's a longstanding practice and it's easy for the kernel to be nice about this. ] Signed-off-by: Mike Frysinger Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 23be8c7ddf4fd31a14579a2109c89845f7a0fbb6 Author: Ingo Molnar Date: Tue Jan 15 16:44:37 2008 +0100 x86: fix boot crash on HIGHMEM4G && SPARSEMEM Denys Fedoryshchenko reported a bootup crash when he upgraded his system from 3GB to 4GB RAM: http://lkml.org/lkml/2008/1/7/9 the bug is due to HIGHMEM4G && SPARSEMEM kernels making pfn_to_page() to return an invalid pointer when the pfn is in a memory hole. The 256 MB PCI aperture at the end of RAM was not mapped by sparsemem, and hence the pfn was not valid. But set_highmem_pages_init() iterated this range without checking the pfn's validity first. this bug was probably present in the sparsemem code ever since sparsemem has been introduced in v2.6.13. It was masked due to HIGHMEM64G using larger memory regions in sparsemem_32.h: #ifdef CONFIG_X86_PAE #define SECTION_SIZE_BITS 30 #define MAX_PHYSADDR_BITS 36 #define MAX_PHYSMEM_BITS 36 #else #define SECTION_SIZE_BITS 26 #define MAX_PHYSADDR_BITS 32 #define MAX_PHYSMEM_BITS 32 #endif which creates 1GB sparsemem regions instead of 64MB sparsemem regions. So in practice we only ever created true sparsemem holes on x86 with HIGHMEM4G - but that was rarely used by distros. ( btw., we could probably save 2MB of mem_map[]s on X86_PAE if we reduced the sparsemem region size to 256 MB. ) Signed-off-by: Ingo Molnar Acked-by: Thomas Gleixner commit dfbe0d3b6be52596b5694b1bb75b19562e769021 Author: Paul Mackerras Date: Tue Jan 15 17:29:33 2008 +1100 [POWERPC] Fix boot failure on POWER6 Commit 473980a99316c0e788bca50996375a2815124ce1 added a call to clear the SLB shadow buffer before registering it. Unfortunately this means that we clear out the entries that slb_initialize has previously set in there. On POWER6, the hypervisor uses the SLB shadow buffer when doing partition switches, and that means that after the next partition switch, each non-boot CPU has no SLB entries to map the kernel text and data, which causes it to crash. This fixes it by reverting most of 473980a9 and instead clearing the 3rd entry explicitly in slb_initialize. This fixes the problem that 473980a9 was trying to solve, but without breaking POWER6. Signed-off-by: Paul Mackerras commit c23f72cae9523d29ff94eec8f30ccbdaf234b20e Author: Linus Torvalds Date: Mon Jan 14 21:21:29 2008 -0800 Revert "writeback: introduce writeback_control.more_io to indicate more io" This reverts commit 2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b, as requested by Fengguang Wu. It's not quite fully baked yet, and while there are patches around to fix the problems it caused, they should get more testing. Says Fengguang: "I'll resend them both for -mm later on, in a more complete patchset". See http://bugzilla.kernel.org/show_bug.cgi?id=9738 for some of this discussion. Requested-by: Fengguang Wu Cc: Andrew Morton Cc: Peter Zijlstra Signed-off-by: Linus Torvalds commit d262c32a4bcc3e5fda0325a64e53c25fe1e999d7 Author: Benjamin Herrenschmidt Date: Tue Jan 8 10:34:22 2008 +1100 [POWERPC] Workaround for iommu page alignment Commit 5d2efba64b231a1733c4048d1708d77e07f26426 changed our iommu code so that it always uses an iommu page size of 4kB. That means with our current code, drivers may do a dma_map_sg() of a 64kB page and obtain a dma_addr_t that is only 4k aligned. This works fine in most cases except for some infiniband HW it seems, where they tell the HW about the page size and it ignores the low bits of the DMA address. This works around it by making our IOMMU code enforce a PAGE_SIZE alignment for mappings of objects that are page aligned in the first place and whose size is larger or equal to a page. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d8cf5389bd9d1f0ac9fea51796c274ba64b83d80 Author: Tejun Heo Date: Tue Jan 15 08:46:59 2008 +0900 libata: relocate sdev->manage_start_stop configuration After 9b8e8de7, manage_start_stop configuration depends on valid ATA device. Move it into ata_scsi_dev_config(). This was detected by the coverity checker. Signed-off-by: Tejun Heo Cc: Adrian Bunk Signed-off-by: Jeff Garzik commit c2e14f11120bbef0c883e795da8180b58f3cddae Author: Tejun Heo Date: Sun Jan 13 14:04:16 2008 +0900 sata_sil24: freeze on non-dev errors reported via CERR CERR reports errors detected during executing a command. This doesn't mean the error is tied to the command and can be recovered by just issuing it again. Many of the errors are fatal port-wide connditions including HSM violation, host bus error and ATA bus error and require freezing and port reset. The freezing part wasn't implemented previously. This used to be okay because port resets were scheduled anyway and EH eventually resets and recovers the port. With PMP support added, this is no longer true. The error condition and recover actions are attributed to the fan-out port and the host port condition isn't properly recovered leading to EH failures. This patch makes CERR errors which require resets to freeze the port. This will force host port reset and proper recovery. Signed-off-by: Tejun Heo Cc: Andrew Ryder Signed-off-by: Jeff Garzik commit 7293fa8fb74f17077a2ac7ccd5b58ae3225317d0 Author: Tejun Heo Date: Sun Jan 13 13:49:22 2008 +0900 sata_sil24: fix stupid typo Fix stupid typo. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 25f98131a292f4c81e4619bdf48f00a991386f73 Author: Tejun Heo Date: Mon Jan 7 19:38:53 2008 +0900 ata_piix: ignore ATA_DMA_ERR on vmware ich4 VMware ich4 emulation incorrectly sets DMA_ERR on TF error. Ignore it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2e4f95822cc17cb7095d50babe2d2fc4c043fa25 Author: Ralf Baechle Date: Mon Jan 14 14:46:31 2008 +0000 [MIPS] Cacheops.h: Fix typo. Signed-off-by: Ralf Baechle commit c43756da94863395d5ee088659676029b3ae7191 Author: Thomas Bogendoerfer Date: Sat Jan 12 00:25:17 2008 +0100 [MIPS] Cobalt: Qube1 has no serial port so don't use it Because Qube1 doesn't have a serial chip waiting for transmit fifo empty takes forever, which isn't a good idea. No prom_putchar/early console for Qube1 fixes this. Signed-off-by: Thomas Bogendoerfer Acked-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f6c0f32ee8d21e800097fc35ba8ab2b5a3b9bdfa Author: Thomas Bogendoerfer Date: Sat Jan 12 00:25:14 2008 +0100 [MIPS] Cobalt: Fix ethernet interrupts for RaQ1 RAQ1 uses the same interrupt routing as Qube2. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 2f02c15a5d963007bd721d76f644c9491f6fec06 Author: Aurelien Jarno Date: Tue Dec 11 11:30:34 2007 +0100 [MIPS] Kconfig fixes for BCM47XX platform The patch below fixes two problems for Kconfig on the BCM47xx platform: - arch/mips/bcm47xx/gpio.c uses ssb_extif_* functions. Selecting SSB_DRIVER_EXTIF makes sure those functions are available. - arch/mips/pci/pci.c needs, when enabled, platform specific functions, which are defined when SSB_PCICORE_HOSTMODE is enabled. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit a98fdcef941e107eeabae622d85a1f476f25a160 Author: Oleg Nesterov Date: Tue Jan 15 00:02:37 2008 +0300 fix the "remove task_ppid_nr_ns" commit Commit 84427eaef1fb91704c7112bdb598c810003b99f3 (remove task_ppid_nr_ns) moved the task_tgid_nr_ns(task->real_parent) outside of lock_task_sighand(). This is wrong, ->real_parent could be freed/reused. Both ->parent/real_parent point to nothing after __exit_signal() because we remove the child from ->children list, and thus the child can't be reparented when its parent exits. rcu_read_lock() protects ->parent/real_parent, but _only_ if we know it was valid before we take rcu lock. Revert this part of the patch. Signed-off-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit 5cd6e675f862568ad73c061665ee5080cfd952c5 Author: Jean Delvare Date: Mon Jan 14 21:53:31 2008 +0100 i2c-sibyte: Fix an error path If the registration of the second I2C channel fails, we really want to unregister the first one before we return with an error. While we're here, fix the printk right above so that it displays the real driver name. Signed-off-by: Jean Delvare Cc: Ralf Baechle commit f9dd0194ff23d612e463be764d73da7825da4aa1 Author: Jean Delvare Date: Mon Jan 14 21:53:31 2008 +0100 i2c: Driver IDs are optional Document the fact that I2C driver IDs are optional. Signed-off-by: Jean Delvare commit 96acafe05fad2c9429ca2c39af47efc5db2d8042 Author: Joe Perches Date: Mon Jan 14 21:53:30 2008 +0100 i2c: Spelling fixes [JD: One more fix in i2c-dev.] Signed-off-by: Joe Perches Signed-off-by: Jean Delvare commit 3e39752d5367f9087e058abe768708165e1ec373 Author: Tony Lindgren Date: Mon Jan 14 21:53:30 2008 +0100 i2c-omap: Fix NULL pointer dereferencing This patch fixes bug #9581 reported by Marcio Buss. If kzalloc fails, omap_i2c_write_reg() tries to reset an unallocated I2C controller. Cc: Marcio Buss Signed-off-by: Tony Lindgren Signed-off-by: Jean Delvare commit ea8e1652c5f4202fa90cfae49f2ca8485423d263 Author: Adrian Bunk Date: Mon Jan 14 00:55:25 2008 -0800 OSS msnd: fix array overflows Fix array overflows in the OSS msnd driver spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbde25b1257c169c119601590d011b9b3aaf77f8 Author: Jesper Nilsson Date: Mon Jan 14 00:55:24 2008 -0800 CRIS v10: driver for ds1302 needs to include cris-specific i2c.h This fixes compilation error where i2c_init wasn't defined. Also, remove the CVS log and version tags, they are no longer useful. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27b526a09086d563d61cf0e0fdd5c8e3f3c295d4 Author: Randy Dunlap Date: Mon Jan 14 00:55:24 2008 -0800 uvesafb: fix section mismatch warnings Mark uvesafb_init_mtrr() as __devinit since its caller is __devinit and since it accesses __devinitdata. WARNING: vmlinux.o(.text+0x4df80e): Section mismatch: reference to .init.data: (between 'uvesafb_init_mtrr' and 'uvesafb_show_vbe_ver') Variable 'blank' cannot be __devinitdata since it is referenced in an fb_ops method that could be called at any time. WARNING: vmlinux.o(.text+0x4dfc1e): Section mismatch: reference to .init.data:blank (between 'param_set_scroll' and 'vesa_setpalette') WARNING: vmlinux.o(.text+0x4dfc24): Section mismatch: reference to .init.data:blank (between 'param_set_scroll' and 'vesa_setpalette') Signed-off-by: Randy Dunlap Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2d159dbd51a99abdd4ae02fecc68cd1e0b0558e Author: Jesper Nilsson Date: Mon Jan 14 00:55:23 2008 -0800 CRIS v10: kernel/time.c needs to include linux/vmstat.h to compile This fixes compile error when nr_free_pages() from linux/swap.h expands to global_page_state(NR_FREE_PAGES), but linux/vmstat.h isn't included to declare global_page_state(). Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4858d4dab4580ec8b1fb7576f91522b6962502c Author: Jesper Nilsson Date: Mon Jan 14 00:55:22 2008 -0800 CRIS v10: correct do_signal to fix oops and clean up signal handling in general This fixes a kernel panic on boot due to do_signal not being compatible with it's callers. - do_signal now returns void, and does not have the previous signal set as a parameter. - Remove sys_rt_sigsuspend, we can use the common one instead. - Change sys_sigsuspend to be more like x86, don't call do_signal here. - handle_signal, setup_frame and setup_rt_frame now return -EFAULT if we've delivered a segfault, which is used by callers to perform necessary cleanup. - Break long lines, correct whitespace and formatting errors. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ea0345be38555c6a1a04ed7e9c015a42e76bd0e Author: Jesper Nilsson Date: Mon Jan 14 00:55:22 2008 -0800 CRIS: define __ARCH_WANT_SYS_RT_SIGSUSPEND in unistd.h for CRIS This allows us to use the commong sys_rt_sigsuspend instead of having our own. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0466441492dc17d0749ef0cce9831fc7e4a7a5d Author: Krzysztof Helt Date: Mon Jan 14 00:55:20 2008 -0800 s3c2410fb: fix incorrect argument type in resume function Fix wrong pointer type passed into the s3c2410fb_init_registers() function. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68842c9b94560e647e8e7cc75cbb3dbe59f6fcb5 Author: Ken Chen Date: Mon Jan 14 00:55:19 2008 -0800 hugetlbfs: fix quota leak In the error path of both shared and private hugetlb page allocation, the file system quota is never undone, leading to fs quota leak. Fix them up. [akpm@linux-foundation.org: cleanup, micro-optimise] Signed-off-by: Ken Chen Acked-by: Adam Litke Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 747d016e7e25e216b31022fe2b012508d99fb682 Author: Randy Dunlap Date: Mon Jan 14 00:55:18 2008 -0800 advansys: fix section mismatch warning Fix section mismatch warning: WARNING: vmlinux.o(.exit.text+0x152a): Section mismatch: reference to .init.data:_asc_def_iop_base (between 'advansys_isa_remove' and 'advansys_exit') Signed-off-by: Randy Dunlap Cc: Matthew Wilcox Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d1fd970e4b2e84a624b3274669fa642fcd19c98 Author: Randy Dunlap Date: Mon Jan 14 00:55:17 2008 -0800 cciss: section mismatch Mark cciss_pci_init() as __devinit, to fix section mismatch warning. WARNING: vmlinux.o(.text+0x601fc9): Section mismatch: reference to .init.text: (between 'cciss_pci_init' and 'cciss_getgeometry') Signed-off-by: Randy Dunlap Cc: Acked-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c993f76698bcee594f081a295f1b8f48f58062a Author: Adrian Bunk Date: Mon Jan 14 00:55:16 2008 -0800 scsi/qla2xxx/qla_os.c section fix WARNING: vmlinux.o(.text+0x2a4462): Section mismatch: reference to .exit.text:qla2x00_remove_one (between 'qla2xxx_pci_error_detected' and 'qla2x00_stop_timer') qla2x00_remove_one() mustn't be __devexit since it's called from qla2xxx_pci_error_detected(). Signed-off-by: Adrian Bunk Acked-by: Seokmann Ju Acked-by: Andrew Vasquez Cc: Randy Dunlap Cc: James Bottomley Acked-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f31c05ea0f5690d002ae30710fc0fbe0f0c201f Author: Andy Wingo Date: Mon Jan 14 00:55:15 2008 -0800 macintosh: fix fabrication of caplock key events If the user has turned on the "restore_caplock_events" parameter, the code mangles the capslock events correctly, then erroneously ignores those events. Fix logic to allow correct fallthrough. Signed-off-by: Andy Wingo Acked-by: Andrew McNabb Cc: Dmitry Torokhov Cc: Benjamin Herrenschmidt cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96990a4ae979df9e235d01097d6175759331e88c Author: Christoph Lameter Date: Mon Jan 14 00:55:14 2008 -0800 quicklists: Only consider memory that can be used with GFP_KERNEL Quicklists calculates the size of the quicklists based on the number of free pages. This must be the number of free pages that can be allocated with GFP_KERNEL. node_page_state() includes the pages in ZONE_HIGHMEM and ZONE_MOVABLE which may lead the quicklists to become too large causing OOM. Signed-off-by: Christoph Lameter Tested-by: Dhaval Giani Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f4c79ce79d1552014af3c115d03e13092443905 Author: Nicolas Ferre Date: Mon Jan 14 00:55:13 2008 -0800 MAINTAINERS: email update and add missing entry - MAINTAINERS email update - add atmel_lcdfb entry Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2490c681ea3d7f5ac3fb876f14567bf1a9e0aa87 Author: David Smith Date: Mon Jan 14 00:55:12 2008 -0800 TPM: fix suspend and resume failure The savestate command structure was being overwritten by the result of running the TPM_SaveState command after one run, so make it a local variable to the function instead of a global variable that gets overwritten. Acked-by: Pavel Machek Cc: Kent Yoder Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40d6a146629b98d8e322b6f9332b182c7cbff3df Author: Steven Rostedt Date: Mon Jan 14 00:55:10 2008 -0800 Kick CPUS that might be sleeping in cpus_idle_wait Sometimes cpu_idle_wait gets stuck because it might miss CPUS that are already in idle, have no tasks waiting to run and have no interrupts going to them. This is common on bootup when switching cpu idle governors. This patch gives those CPUS that don't check in an IPI kick. Background: ----------- I notice this while developing the mcount patches, that every once in a while the system would hang. Looking deeper, the hang was always at boot up when registering init_menu of the cpu_idle menu governor. Talking with Thomas Gliexner, we discovered that one of the CPUS had no timer events scheduled for it and it was in idle (running with NO_HZ). So the CPU would not set the cpu_idle_state bit. Hitting sysrq-t a few times would eventually route the interrupt to the stuck CPU and the system would continue. Note, I would have used the PDA isidle but that is set after the cpu_idle_state bit is cleared, and would leave a window open where we may miss being kicked. hmm, looking closer at this, we still have a small race window between clearing the cpu_idle_state and disabling interrupts (hence the RFC). CPU0: CPU 1: --------- --------- cpu_idle_wait(): cpu_idle(): | __cpu_cpu_var(is_idle) = 1; | if (__get_cpu_var(cpu_idle_state)) /* == 0 */ per_cpu(cpu_idle_state, 1) = 1; | if (per_cpu(is_idle, 1)) /* == 1 */ | smp_call_function(1) | | receives ipi and runs do_nothing. wait on map == empty idle(); /* waits forever */ So really we need interrupts off for most of this then. One might think that we could simply clear the cpu_idle_state from do_nothing, but I'm assuming that cpu_idle governors can be removed, and this might cause a race that a governor might be used after the module was removed. Venki said: I think your RFC patch is the right solution here. As I see it, there is no race with your RFC patch. As long as you call a dummy smp_call_function on all CPUs, we should be OK. We can get rid of cpu_idle_state and the current wait forever logic altogether with dummy smp_call_function. And so there wont be any wait forever scenario. The whole point of cpu_idle_wait() is to make all CPUs come out of idle loop atleast once. The caller will use cpu_idle_wait something like this. // Want to change idle handler - Switch global idle handler to always present default_idle - call cpu_idle_wait so that all cpus come out of idle for an instant and stop using old idle pointer and start using default idle - Change the idle handler to a new handler - optional cpu_idle_wait if you want all cpus to start using the new handler immediately. Maybe the below 1s patch is safe bet for .24. But for .25, I would say we just replace all complicated logic by simple dummy smp_call_function and remove cpu_idle_state altogether. Signed-off-by: Steven Rostedt Cc: Venkatesh Pallipadi Acked-by: Ingo Molnar Acked-by: Thomas Gleixner Cc: Andi Kleen Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2a6c74d34c3ae9de6825767a30ab17f709b59ce Author: Evgeniy Polyakov Date: Mon Jan 14 00:55:08 2008 -0800 w1: decrement slave counter only in ->release() callback Decrement the slave counter only in ->release() callback instead of both in ->release() and w1 control. Patch is based on debug work and preliminary patch made by Henri Laakso. Henri noticed in debug that this counter becomes negative after w1 slave device is physically removed. Signed-off-by: Evgeniy Polyakov Cc: Henri Laakso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb2a52052cebe4716e83b9d2e53682ba00f67de6 Author: Rusty Russell Date: Mon Jan 14 00:55:03 2008 -0800 modules: de-mutex more symbol lookup paths in the module code Kyle McMartin reports sysrq_timer_list_show() can hit the module mutex from hard interrupt context. These paths don't need to though, since we long ago changed all the module list manipulation to occur via stop_machine(). Disabling preemption is enough. Signed-off-by: Rusty Russell Cc: Ingo Molnar Cc: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b310fca30ac9851f79337ca72b1cf6a0f58064a Author: Eric Dumazet Date: Sun Jan 13 22:32:49 2008 -0800 [TOKENRING]: rif_timer not initialized properly Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4ff891eb3d3dd6854f11d616c6397a0e403f4e88 Author: Kristoffer Ericson Date: Mon Jan 14 00:54:23 2008 -0500 Input: improve Kconfig help entries for HP Jornada devices Signed-off-by: Kristoffer Ericson Signed-off-by: Dmitry Torokhov commit ba67a39efde8312e386c6f603054f8945433d91f Author: NeilBrown Date: Fri Jan 11 17:06:52 2008 -0500 knfsd: Allow NFSv2/3 WRITE calls to succeed when krb5i etc is used. When RPCSEC/GSS and krb5i is used, requests are padded, typically to a multiple of 8 bytes. This can make the request look slightly longer than it really is. As of f34b95689d2ce001c "The NFSv2/NFSv3 server does not handle zero length WRITE request correctly", the xdr decode routines for NFSv2 and NFSv3 reject requests that aren't the right length, so krb5i (for example) WRITE requests can get lost. This patch relaxes the appropriate test and enhances the related comment. Signed-off-by: Neil Brown Signed-off-by: J. Bruce Fields Cc: Peter Staubach Signed-off-by: Linus Torvalds commit 84427eaef1fb91704c7112bdb598c810003b99f3 Author: Roland McGrath Date: Thu Jan 10 12:52:04 2008 -0800 remove task_ppid_nr_ns task_ppid_nr_ns is called in three places. One of these should never have called it. In the other two, using it broke the existing semantics. This was presumably accidental. If the function had not been there, it would have been much more obvious to the eye that those patches were changing the behavior. We don't need this function. In task_state, the pid of the ptracer is not the ppid of the ptracer. In do_task_stat, ppid is the tgid of the real_parent, not its pid. I also moved the call outside of lock_task_sighand, since it doesn't need it. In sys_getppid, ppid is the tgid of the real_parent, not its pid. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit bf4a7972d638741bbb0672653c1fa10e4480c385 Author: David S. Miller Date: Thu Jan 10 21:10:54 2008 -0800 [SPARC64]: Fix build with SPARSEMEM_VMEMMAP disabled. Signed-off-by: David S. Miller commit 000775c50a19fa899121115f57f355c7f26e4346 Author: David S. Miller Date: Wed Jan 9 05:09:06 2008 -0800 [SPARC]: Make gettimeofday() monotonic again. When we switched away from the optimized C version things stopped being monotonic. The problem is that if we run this with interrupts disabled, we can see the interrupt pending because the counter reached the limit value. When this happens the counter has bit 31 set, and the low bits start counting again from zero. Reported by Martin Habets. Signed-off-by: David S. Miller commit 66a21736defda339cd93a0e70c1120ab813640f6 Author: Len Brown Date: Sat Jan 12 17:56:36 2008 -0500 pnpacpi: print resource shortage message only once pnpacpi: exceeded the max number of IO resources: 40 While this message is a real error and should thus remain KERN_ERR (even a new dmesg line is seen as a regression by some, since it was not printed in 2.6.23...) it is certainly impolite to print this warning 50 times should you happen to have the oddball system with 90 io resources under a device... So print the warning just once. In 2.6.25 we'll get rid of the limits altogether and these warnings will vanish with them. http://bugzilla.kernel.org/show_bug.cgi?id=9535 Signed-off-by: Len Brown commit cb8da8a38015ded1df319a39b7298e69f89036ac Author: Jens Osterkamp Date: Fri Jan 11 13:44:35 2008 +0100 spidernet MAINTAINERship update Acked-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 84cd2dfb04d23a961c5f537baa243fa54d0987ac Author: Stephen Hemminger Date: Thu Jan 10 16:14:13 2008 -0800 sky2: remove check for PCI wakeup setting from BIOS The driver checks status of PCI power management to mark default setting of Wake On Lan. On some systems this works, but often it reports a that WOL is disabled when it isn't. This patch gets rid of that check and just reports the wake on lan status based on the hardware capablity. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 86c6887e6fea0b395dc939174ac80ad0ae88288c Author: Stephen Hemminger Date: Thu Jan 10 16:14:12 2008 -0800 sky2: large memory workaround. This patch might fix problems with 4G or more of memory. It stops the driver from doing a small optimization for Tx and Rx, and instead always sets the high-page on tx/rx descriptors. Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=9725 Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 974a9f0b47da74e28f68b9c8645c3786aa5ace1a Author: Linus Torvalds Date: Sat Jan 12 14:06:34 2008 -0800 Use access mode instead of open flags to determine needed permissions Way back when (in commit 834f2a4a1554dc5b2598038b3fe8703defcbe467, aka "VFS: Allow the filesystem to return a full file pointer on open intent" to be exact), Trond changed the open logic to keep track of the original flags to a file open, in order to pass down the the intent of a dentry lookup to the low-level filesystem. However, when doing that reorganization, it changed the meaning of namei_flags, and thus inadvertently changed the test of access mode for directories (and RO filesystem) to use the wrong flag. So fix those test back to use access mode ("acc_mode") rather than the open flag ("flag"). Issue noticed by Bill Roman at Datalight. Reported-and-tested-by: Bill Roman Acked-by: Trond Myklebust Acked-by: Al Viro Cc: Christoph Hellwig Cc: Andrew Morton Signed-off-by: Linus Torvalds commit dfd9a421bed2325059fae04f810769b648fa1302 Author: Anton Vorontsov Date: Tue Jan 8 22:05:55 2008 +0300 fs_enet: check for phydev existence in the ethtool handlers Otherwise oops will happen if ethernet device has not been opened: Unable to handle kernel paging request for data at address 0x0000014c Faulting instruction address: 0xc016f7f0 Oops: Kernel access of bad area, sig: 11 [#1] MPC85xx NIP: c016f7f0 LR: c01722a0 CTR: 00000000 REGS: c79ddc70 TRAP: 0300 Not tainted (2.6.24-rc3-g820a386b) MSR: 00029000 CR: 20004428 XER: 20000000 DEAR: 0000014c, ESR: 00000000 TASK = c789f5e0[999] 'snmpd' THREAD: c79dc000 GPR00: c01aceb8 c79ddd20 c789f5e0 00000000 c79ddd3c 00000000 c79ddd64 00000000 GPR08: 00000000 c7845b60 c79dde3c c01ace80 20004422 200249fc 000002a0 100da728 GPR16: 100c0000 00000000 00000000 00000000 20022078 00000009 200220e0 bfc85558 GPR24: c79ddd3c 00000000 00000000 c02e0e70 c022fc64 ffffffff c7845800 bfc85498 NIP [c016f7f0] phy_ethtool_gset+0x0/0x4c LR [c01722a0] fs_get_settings+0x18/0x28 Call Trace: [c79ddd20] [c79dde38] 0xc79dde38 (unreliable) [c79ddd30] [c01aceb8] dev_ethtool+0x294/0x11ec [c79dde30] [c01aaa44] dev_ioctl+0x454/0x6a8 [c79ddeb0] [c019b9d4] sock_ioctl+0x84/0x230 [c79dded0] [c007ded8] do_ioctl+0x34/0x8c [c79ddee0] [c007dfbc] vfs_ioctl+0x8c/0x41c [c79ddf10] [c007e38c] sys_ioctl+0x40/0x74 [c79ddf40] [c000d4c0] ret_from_syscall+0x0/0x3c Instruction dump: 81630000 800b0030 2f800000 419e0010 7c0803a6 4e800021 7c691b78 80010014 7d234b78 38210010 7c0803a6 4e800020 <8003014c> 7c6b1b78 38600000 90040004 Signed-off-by: Anton Vorontsov Acked-by: Vitaly Bordug Signed-off-by: Jeff Garzik commit 94d433630a1e63d383d592d488f60581e0d98190 Author: Russ Dill Date: Wed Jan 9 21:32:07 2008 -0700 [usb netdev] asix: fix regression 51bf2976b55d07f9daae9697a0a3ac9f58abcedc caused a regression in the asix usbnet driver. usb_control_msg returns the number of bytes read on success, not 0. Tested with NETGEAR FA120. Signed-off-by: Russ Dill Signed-off-by: Jeff Garzik commit cadf1855e9f97d3f6857a168e1e7798fe27530a1 Author: Francois Romieu Date: Thu Jan 3 23:38:38 2008 +0100 r8169: fix missing loop variable increment Spotted-by: Citizen Lee Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit ab7a9831763f0c10ad137352431eca9a6d97f76e Author: Stephen Hemminger Date: Tue Jan 1 09:27:58 2008 -0800 ip1000: menu location change Move the ip1000 driver into the expected place for gigabit cards in the configuration menu structure. It should be under the gigabit cards, not at the top level. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 2d2c54e3d058a9be78c04f429fa5e090eb454daa Author: Emil Medve Date: Thu Dec 27 08:17:22 2007 -0600 Fixed a small typo in the loopback driver This is probably a result of the changes from commit 854d836 - [NET]: Dynamically allocate the loopback device, part 2 Signed-off-by: Emil Medve Signed-off-by: Jeff Garzik commit 9ca20ebc263260acfea35a1a4910203b7ce6bd5a Author: Krzysztof Helt Date: Thu Dec 27 09:54:04 2007 +0100 3c509: PnP resource management fix In order to release PnP resources a card type must be set to EL3_PNP. Previously, it was never set hence the PnP resources were not released and device was left in incorrect state. Signed-off-by: Krzysztof Helt Signed-off-by: Jeff Garzik commit 5dc162682d4901025a02b7045f3112d569b4bab9 Author: Dhananjay Phadke Date: Mon Dec 31 10:08:57 2007 -0800 netxen: fix byte-swapping in tx and rx Here's the reworked patch. This cleans up some unnecessary byte-swapping while setting up tx and interpreting rx desc. The 64 bit rx status data should be converted to host endian format only once and the macros just need to extract bitfields. This saves a spate of interrupts on pseries blades caused by buggy (non) processing rx status ring. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 53a01e00f8c78bc5875e09aca7749ea54bb09798 Author: dhananjay@netxen.com Date: Wed Dec 26 10:23:58 2007 -0800 netxen: optimize tx handling netxen driver allows limited number of threads simultaneously posting skb's in tx ring. If transmit slot is unavailable, driver calls schedule() or loops in xmit_frame(). This patch returns TX_BUSY and lets the stack reschedule the packet if transmit slot is unavailable. Also removes unnecessary check for tx timeout in the driver itself, the network stack does that anyway. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 72b0a7a8a40a50cf2eab42fd6a56e04b05090434 Author: dhananjay@netxen.com Date: Wed Dec 26 10:23:56 2007 -0800 netxen: stop second phy correctly This patch fixes bug that doesn't quiesce second port when interface is brought down, which could lead to unwarranted interrupt during rmmod / ifdown. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 001a731ecfc2e5fdbb5022ad3708705d9edf801c Author: dhananjay@netxen.com Date: Wed Dec 26 10:23:54 2007 -0800 netxen: update driver version Bumping up driver version to 3.4.18, several fixes have gone in since version 3.4.2. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit d230ce30f4eb2cec42cb501db586ce45815a8167 Author: dhananjay@netxen.com Date: Wed Dec 26 10:23:53 2007 -0800 netxen: update MAINTAINERS Changing MAINTAINERS for netxen nic driver. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 76285ee03737ba8105db0621aa3e49222f0644f2 Author: Al Viro Date: Sun Dec 23 20:01:04 2007 +0000 endianness noise in tulip_core Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 561b4fbf181926ab76e18a857593476ee76408f8 Author: Al Viro Date: Sun Dec 23 20:01:04 2007 +0000 de4x5 fixes * (trivial) endianness annotations * don't bother with del_timer() from the inside of timer handler itself * disable_ast() really ought to do del_timer_sync(), not del_timer() * clean the timer handling in general. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 6f35d5d51619a1aa463180154c2d3c18a63e3950 Author: Al Viro Date: Sun Dec 23 20:01:04 2007 +0000 xircom_cb endianness fixes * descriptors inside the rx and tx rings are l-e * don't cpu_to_le32() the argument of outl() Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2948d2ebbb98747b912ac6d0c864b4d02be8a6f5 Author: Patrick McHardy Date: Fri Jan 11 18:02:18 2008 -0800 [NETFILTER]: bridge: fix double POST_ROUTING invocation The bridge code incorrectly causes two POST_ROUTING hook invocations for DNATed packets that end up on the same bridge device. This happens because packets with a changed destination address are passed to dst_output() to make them go through the neighbour output function again to build a new destination MAC address, before they will continue through the IP hooks simulated by bridge netfilter. The resulting hook order is: PREROUTING (bridge netfilter) POSTROUTING (dst_output -> ip_output) FORWARD (bridge netfilter) POSTROUTING (bridge netfilter) The deferred hooks used to abort the first POST_ROUTING invocation, but since the only thing bridge netfilter actually really wants is a new MAC address, we can avoid going through the IP stack completely by simply calling the neighbour output function directly. Tested, reported and lots of data provided by: Damien Thebault Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8dab63761219d7bc6a7d7d3b5f0fca76af5533a5 Author: Jeremy Kerr Date: Fri Jan 11 14:28:04 2008 +0100 ps3fb: fix deadlock on kexec() Since the introduction of the acquire_console_sem calls in 0333d83509c7d8496c8965b5ba9bc0c98e83c259, kexecing can cause the kernel to deadlock: ps3fb_shutdown() -> unregister_framebuffer() -> fb_notifier_call_chain(FB_EVENT_FB_UNBIND) -> fbcon_fb_unbind() -> unbind_con_driver() -> bind_con_driver() [ acquires console_sem ] -> fbcon_deinit() -> fbops->fb_release(newinfo, 0) -> ps3fb_release() -> ps3fb_sync() [ acquires console_sem ] This change avoids the deadlock by moving the acquire_console_sem() out of ps3fb_sync(), and puts it into the two other callsites, leaving ps3fb_release() to call ps3fb_sync() without the console semaphore. [Geert] - Corrected call sequence above - ps3fb_release() may be called with and without console_sem held. This is an inconsistency that should be fixed at the fb level, but for now, try to acquire console_sem in ps3fb_release(). I think it's safer to let ps3fb_release() try to acquire console_sem and not refresh the screen if it fails, than to call ps3fb_sync() without holding console_sem, as ps3fb_par may be modified at the same time, causing crashes or lockups. Besides, ps3fb_release() only calls ps3fb_sync() to refresh the screen when display flipping is disabled, which is an uncommon case (except during shutdown/kexec). Signed-off-by: Jeremy Kerr Signed-off-by: Geert Uytterhoeven Cc: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit ba21611c9c0031ca8388cae5e43b38c29c8b595d Author: Jeremy Kerr Date: Fri Jan 11 14:27:10 2008 +0100 ps3fb: prevent use after free of fb_info In ps3fb_shutdown, freeing the framebuffer will cause fb_info (in dev->core.driver_data) to be free()ed, which we potentially access from the ps3fbd kthread. This change frees the framebuffer after stopping the ps3fbd kthread. Signed-off-by: Jeremy Kerr Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 646fd12784d506180353005f40f90bcf08c84a3e Author: Massimo Cirillo Date: Fri Jan 11 10:24:11 2008 +0000 cache invalidation error for buffered write The bug causes corruptions of data read from flash. The original code performs cache invalidation from "adr" to "adr + len" in do_write_buffer(). Since len and adr could be updated in the code before invalidation - it causes improper setting of cache invalidation regions. Signed-off-by: Massimo Cirillo Signed-off-by: Giuseppe D'Eliseo Acked-by: Nicolas Pitre Acked-by: Jörn Engel Signed-off-by: David Woohouse Signed-off-by: Linus Torvalds commit 7c48c56e9b5a51263269dd419cc32531db141340 Author: Jeff Garzik Date: Thu Jan 10 23:59:18 2008 -0500 IDE: terminate ACPI DMI list Fix oops reported by Trond. Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 9f9adecd2d0e4f88fa0e8cb06c6ec207748df70a Author: Len Brown Date: Thu Dec 13 17:38:03 2007 -0500 PM: ACPI and APM must not be enabled at the same time ACPI and APM used "pm_active" to guarantee that they would not be simultaneously active. But pm_active was recently moved under CONFIG_PM_LEGACY, so that without CONFIG_PM_LEGACY, pm_active became a NOP -- allowing ACPI and APM to both be simultaneously enabled. This caused unpredictable results, including boot hangs. Further, the code under CONFIG_PM_LEGACY is scheduled for removal. So replace pm_active with pm_flags. pm_flags depends only on CONFIG_PM, which is present for both CONFIG_APM and CONFIG_ACPI. http://bugzilla.kernel.org/show_bug.cgi?id=9194 Signed-off-by: Len Brown Signed-off-by: Rafael J. Wysocki commit e452e94e21e8f4a3c2ff045b301ca21c1f6d03bf Author: Atsushi Nemoto Date: Tue Jan 8 00:41:13 2008 +0900 [MIPS] Replace 40c7869b693b18412491fdcff64682215b739f9e kludge Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 778bc145feb68f365339d6b5c9e35af2a86fb233 Author: WANG Cong Date: Wed Jan 2 14:21:36 2008 +0800 [MIPS] Lasat: Fix built in separate object directory. Signed-off-by: WANG Cong [Ralf: The LDSCRIPT script needed fixing, too] Signed-off-by: Ralf Baechle commit 84c21e254205ecac98f75b01589996440c6a6db0 Author: Dmitri Vorobiev Date: Tue Jan 8 06:44:00 2008 +0300 [MIPS] Malta: Fix software reset on big endian I noticed that the commit f197465384bf7ef1af184c2ed1a4e268911a91e3 (MIPS Tech: Get rid of volatile in core code) broke the software reset functionality for MIPS Malta boards in big-endian mode. According to the MIPS Malta board user's manual, writing the magic 32-bit GORESET value into the SOFTRES register initiates board soft reset. My experimentation has shown that the endianness of the GORESET integer should thereby be the same as the endianness, which has been set for the CPU itself. The writew() function used to write the magic value in the code introduced by the commit mentioned above, however, swaps bytes for big-endian kernels and transfers 16 bits instead of 32. The patch below replaces the writew() function by the __raw_writel() routine, which leaves the byte order intact and transfers the whole MIPS machine word. Trivial code cleanup (replacing spaces by a tab and cutting oversized lines to make checkpatch.pl happy) is also included. The patch was tested using a Malta evaluation board running in both BE and LE modes. For both modes, software reset was fully functional after the change. P.S. I suspect that the same commit broke the "standby" functionality for MIPS Atlas boards. However, I did not touch the Atlas code as I don't have such board at my disposal and also because the linux-mips.org Web site claims that Atlas support is scheduled for removal. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 1b1c5f0d96eb05cf6cd4702dabf4e003eded08c2 Author: Vitaly Wool Date: Thu Jan 10 17:10:05 2008 +0300 [MIPS] pnx8xxx: move to clocksource This patch converts PNX8XXX system timer to clocksource restoring PNX8550 support back to live. Signed-off-by: Vitaly Wool Signed-off-by: Ralf Baechle commit 320167182dc3e351d2608cb7dccde12a47e3f51d Author: Thomas Bogendoerfer Date: Sun Dec 30 12:45:40 2007 +0100 [MIPS] Wrong CONFIG option prevents setup of DMA zone. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit da517164f5b9133ecc7a020342e90452c215ec0f Author: Randy Dunlap Date: Thu Jan 10 19:31:47 2008 -0300 V4L/DVB (7001): av7110: fix section mismatch Fix driver data name to match whitelist of acceptable names that contain pointers init data so that section mismatch warning is placated. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 745a4c9f0ba60a414224f2d5e4f0e8e25efd04e8 Author: Hans Verkuil Date: Thu Jan 10 18:33:16 2008 -0300 V4L/DVB (6999): ivtv: stick to udelay=10 after all Using an udelay of 5 seems to result in problems for several people. For now abandon the udelay value of 5 and stick to 10, even though this will mean a longer load time of the cx2584x firmware. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 11a57153e3377ffdf8cfca2eda9a99063f66b957 Author: Jens Axboe Date: Fri Jan 11 13:37:01 2008 +0100 blktrace: kill the unneeded initcall It just inits the mutex, we can do that with DEFINE_MUTEX() instead. Signed-off-by: Jens Axboe commit 2997c8c4a0b179e8b834a7f30ba4323f2c60ccf4 Author: Ingo Molnar Date: Fri Jan 11 13:35:54 2008 +0100 block: fix blktrace timestamps David Dillow reported broken blktrace timestamps. The reason is cpu_clock() which is not a global time source. Fix bkltrace timestamps by using ktime_get() like the networking code does for packet timestamps. This also removes a whole lot of complexity from bkltrace.c and shrinks the code by 500 bytes: text data bss dec hex filename 2888 124 44 3056 bf0 blktrace.o.before 2390 116 44 2550 9f6 blktrace.o.after Signed-off-by: Ingo Molnar Signed-off-by: Jens Axboe commit a24eab1ed506f3e0bcbcd3f619558935549d4ace Author: Jens Axboe Date: Fri Jan 11 10:14:40 2008 +0100 loop: fix bad bio_alloc() nr_iovec request Don't allocate room for an iovec when it is not needed. Signed-off-by: Jens Axboe commit b801a1e7dbca3f51d0a4b22a750ae257196002cb Author: Rusty Russell Date: Fri Jan 11 10:12:55 2008 +0100 Don't blatt first element of prv in sg_chain() I realize that sg chaining is a ploy to make the rest of the kernel devs feel the pain of the SCSI subsystem. But this was a little unsubtle. Signed-off-by: Rusty Russell Acked-by: Tejun Heo Signed-off-by: Jens Axboe commit aea6ad0ce5e215ce99fe9e3edd9268f696862d8f Author: Christoph Hellwig Date: Thu Jan 10 16:43:26 2008 +1100 [XFS] fix unaligned access in readdir This patch should fix the issue seen on Alpha with unaligned accesses in the new readdir code. By aligning each dirent to sizeof(u64) we'll avoid unaligned accesses. To make doubly sure we're not hitting problems also rearrange struct hack_dirent to avoid holes. SGI-PV: 975411 SGI-Modid: xfs-linux-melb:xfs-kern:30302a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 0ff4d77bd9fe86ca1bc7f44839d79f8a349a62f0 Author: Jan Engelhardt Date: Thu Jan 10 22:41:28 2008 -0800 [NETFILTER]: xt_helper: Do not bypass RCU Use the @helper variable that was just obtained. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8f41f017866bc3dfe4db02582cfd48f0586cb990 Author: Yasuyuki Kozakai Date: Thu Jan 10 22:40:39 2008 -0800 [NETFILTER]: ip6t_eui64: Fixes calculation of Universal/Local bit RFC2464 says that the next to lowerst order bit of the first octet of the Interface Identifier is formed by complementing the Universal/Local bit of the EUI-64. But ip6t_eui64 uses OR not XOR. Thanks Peter Ivancik for reporing this bug and posting a patch for it. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a6ca5f1dbe40470fcb1ecc921769d792a1e77ed9 Author: Patrick McHardy Date: Thu Jan 10 22:39:28 2008 -0800 [MACVLAN]: Prevent nesting macvlan devices Don't allow to nest macvlan devices since it will cause lockdep warnings and isn't really useful for anything. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0fe1e567d0b4f6a98e94d3b9a40f41c801bd157f Author: Jarek Poplawski Date: Thu Jan 10 22:38:31 2008 -0800 [VLAN]: nested VLAN: fix lockdep's recursive locking warning Allow vlans nesting other vlans without lockdep's warnings (max. 2 levels i.e. parent + child). Thanks to Patrick McHardy for pointing a bug in the first version of this patch. Reported-by: Benny Amorsen Signed-off-by: Jarek Poplawski Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0d89d7944fead211422e21fb7ea70ed3b903a79e Author: Eric Dumazet Date: Thu Jan 10 22:35:21 2008 -0800 [DECNET] ROUTE: fix rcu_dereference() uses in /proc/net/decnet_cache In dn_rt_cache_get_next(), no need to guard seq->private by a rcu_dereference() since seq is private to the thread running this function. Reading seq.private once (as guaranted bu rcu_dereference()) or several time if compiler really is dumb enough wont change the result. But we miss real spots where rcu_dereference() are needed, both in dn_rt_cache_get_first() and dn_rt_cache_get_next() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5c5482266537fdb24d6b8462540d8f65a6007a97 Author: Ohad Ben-Cohen Date: Thu Jan 10 22:24:43 2008 -0800 [BLUETOOTH]: Always send explicit hci_ll wake-up acks. In the (rare) event of simultaneous mutual wake up requests, do send the chip an explicit wake-up ack. This is required for Texas Instruments's BRF6350 chip. Signed-off-by: Ohad Ben-Cohen Signed-off-by: David S. Miller commit f951375d470c1a20d92c34377991197e6bf17990 Author: Dave Young Date: Thu Jan 10 22:22:52 2008 -0800 [BLUETOOTH]: rfcomm tty BUG_ON() code fix 1) In tty.c the BUG_ON at line 115 will never be called, because the the before list_del_init in this same function. 115 BUG_ON(!list_empty(&dev->list)); So move the list_del_init to rfcomm_dev_del 2) The rfcomm_dev_del could be called from diffrent path (rfcomm_tty_hangup/rfcomm_dev_state_change/rfcomm_release_dev), So add another BUG_ON when the rfcomm_dev_del is called more than one time. Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 473980a99316c0e788bca50996375a2815124ce1 Author: Michael Neuling Date: Fri Jan 11 14:02:47 2008 +1100 [POWERPC] Fix CPU hotplug when using the SLB shadow buffer Before we register the SLB shadow buffer, we need to invalidate the entries in the buffer, otherwise we can end up stale entries from when we previously offlined the CPU. This does this invalidate as well as unregistering the buffer with PHYP before we offline the cpu. Tested and fixes crashes seen on 970MP (thanks to tonyb) and POWER5. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit d1ec7298fcefd7e4d1ca612da402ce9e5d5e2c13 Author: Zhao Yakui Date: Fri Jan 11 00:24:55 2008 -0500 ACPI: apply quirk_ich6_lpc_acpi to more ICH8 and ICH9 It is important that these resources be reserved to avoid conflicts with well known ACPI registers. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit ecd2ebdea350c40e73c00d400d74c8a09c072082 Author: Jarek Poplawski Date: Thu Jan 10 21:21:20 2008 -0800 [AX25] af_ax25: Possible circular locking. Bernard Pidoux F6BVP reported: > When I killall kissattach I can see the following message. > > This happens on kernel 2.6.24-rc5 already patched with the 6 previously > patches I sent recently. > > > ======================================================= > [ INFO: possible circular locking dependency detected ] > 2.6.23.9 #1 > ------------------------------------------------------- > kissattach/2906 is trying to acquire lock: > (linkfail_lock){-+..}, at: [] ax25_link_failed+0x11/0x39 [ax25] > > but task is already holding lock: > (ax25_list_lock){-+..}, at: [] ax25_device_event+0x38/0x84 > [ax25] > > which lock already depends on the new lock. > > > the existing dependency chain (in reverse order) is: ... lockdep is worried about the different order here: #1 (rose_neigh_list_lock){-+..}: #3 (ax25_list_lock){-+..}: #0 (linkfail_lock){-+..}: #1 (rose_neigh_list_lock){-+..}: #3 (ax25_list_lock){-+..}: #0 (linkfail_lock){-+..}: So, ax25_list_lock could be taken before and after linkfail_lock. I don't know if this three-thread clutch is very probable (or possible at all), but it seems another bug reported by Bernard ("[...] system impossible to reboot with linux-2.6.24-rc5") could have similar source - namely ax25_list_lock held by ax25_kill_by_device() during ax25_disconnect(). It looks like the only place which calls ax25_disconnect() this way, so I guess, it isn't necessary. This patch is breaking the lock for ax25_disconnect(). Reported-and-tested-by: Bernard Pidoux Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit d7587b1445c0087cfcaa03ceae79b52eef4e9e4b Author: Paul Mundt Date: Fri Jan 11 13:18:16 2008 +0900 sh: Force __access_ok() to obey address space limit. When the thread_info->addr_limit changes were introduced, __access_ok() was missed in the conversion, allowing user processes to perform P1/P2 accesses under certain conditions. This has already been corrected with the nommu refactoring in later kernels. Signed-off-by: Paul Mundt commit 014d433f35d7f34b55dcc7b57c7635aaefc3757f Author: Bob Moore Date: Thu Jan 10 23:04:10 2008 -0500 ACPICA: fix acpi_serialize hang regression http://bugzilla.kernel.org/show_bug.cgi?id=8171 Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 96c2a8766bf4fe91abac863749c11637fabcc64f Author: Alan Cox Date: Thu Jan 10 22:49:58 2008 -0500 ACPI : Not register gsi for PCI IDE controller in legacy mode When PCI IDE controller works in legacy mode and no PRT entry is found in ACPI PRT table, OSPM will neither read the irq number from the IDE PCI configuration space nor call the function of acpi_register_gsi to register gsi. http://bugzilla.kernel.org/show_bug.cgi?id=5637 Signed-off-by: Alan Cox Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 9b8e8de7e59b3a2dab3113d620b52dc8ba890fb3 Author: Ondrej Zary Date: Thu Jan 10 17:13:19 2008 -0500 libata and starting/stopping ATAPI floppy devices Prevent libata from starting/stopping non-ATA devices (like ATAPI floppy drives) as they don't seem to like it: sd 1:0:1:0: [sdb] Starting disk ata2.01: configured for PIO2 sd 1:0:1:0: [sdb] Result: hostbyte=0x00 driverbyte=0x08 sd 1:0:1:0: [sdb] Sense Key : 0x2 [current] sd 1:0:1:0: [sdb] ASC=0x3a ASCQ=0x0 Signed-off-by: Ondrej Zary Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 93c0b5608086a103892aa78b7b83d7ecab60f7ab Author: Sergei Shtylyov Date: Thu Jan 10 23:03:42 2008 +0100 trm290: do hook dma_host_{on,off} methods (take 2) Using default methods caused the chip's DMA PRD count registers, inadvertently starting DMA! While fixing it, also do: - get rid of the 'ide_' prefixes in several functions for which the prefix in the method's name has been 'ide_' ectomized already; - align the code hooking the IDE DMA methods in init_hwif_trm290()... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b98f8803ccfe9d156d37a6eb471a620904085c80 Author: George Kibardin Date: Thu Jan 10 23:03:42 2008 +0100 ide: fix cable detection for SATA bridges Signed-off-by: George Kibardin Signed-off-by: Bartlomiej Zolnierkiewicz commit 90494893b5d2bf7533fb65accbfd8cbd6b51b9c3 Author: Shaohua Li Date: Thu Jan 10 23:03:42 2008 +0100 ide: workaround suspend bug for ACPI IDE http://bugzilla.kernel.org/show_bug.cgi?id=9673 ACPI _PS3 cause S4 breaks in the second attempt. The system has a _PS3 method for IDE, which will call into SMM mode. Currently we haven't clue why just the second attempt fails, as it's totally in BIOS code, so blacklist the system so far for 2.6.24. A possible suspect is ACPI NVS isn't save/restore, we will revisit the bug after linux does ACPI NVS save/restore. Bart: - fix scripts/checkpatch.pl complaints - const-ify ide_acpi_dmi_table[] Signed-off-by: Shaohua Li Cc: "Rafael J. Wysocki" Reported-by: Mikko Vinni Signed-off-by: Bartlomiej Zolnierkiewicz commit 13cc546be3060324de9d92ebde3bc9dbd950df23 Author: Gwendal Grignou Date: Thu Jan 10 15:47:56 2008 +0900 sata_sil24: prevent hba lockup when pass-through ATA commands are used Fix commands timeout with Sil3124/3132 based HBA when pass-through ATA commands [where ATA_QCFLAG_RESULT_TF is set] are used while other commands are active on other devices connected to the same port with a Port Multiplier. Due to a hardware bug, these commands must be sent alone, like ATAPI commands. Signed-off-by: Gwendal Grignou Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit fcb71f6f034c6c4f6a3ab4a55404c95db6e32653 Author: FD Cami Date: Sun Jan 6 19:08:56 2008 +0100 Update kernel parameter document for libata DMA mode setting knobs. Signed-off-by: Jeff Garzik commit 4ccd3329a2e51473a86547a55f9e5f98f8f65b33 Author: Tejun Heo Date: Tue Jan 8 20:26:12 2008 +0900 libata: don't normalize UNKNOWN to NONE after reset After non-classifying reset, ehc->classes[] could contain ATA_DEV_UNKNOWN which used to be normalized to ATA_DEV_NONE for consistency. However, this causes unfortunate side effect for drivers which have non-classifying hardresets (e.g. sata_nv) by making hardreset report ATA_DEV_NONE for non-classifying resets and thus makes EH believe that the port is unoccupied and recovery can be skipped. The end result is that after a device is swapped with another one, the new device isn't attached after the old one is detached. This patch makes ata_eh_reset() not normalize UNKNOWN to NONE after non-classifying resets. This fixes the above problem. As UNKNOWN and NONE are handled differently by only EH hotplug logic, this doesn't cause other behavior changes. Signed-off-by: Tejun Heo Cc: Robert Hancock Signed-off-by: Jeff Garzik commit 2695e36616c3ece5e8e30666868fc7c90dc3fc75 Author: Tejun Heo Date: Thu Jan 10 13:41:23 2008 +0900 libata-pmp: propagate timeout to host link Timeout on downstream command may indicate transmission problem on host link. Propagate timeouts to host link. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8048307dbc3cfc30690b131e786fb57157fbdb11 Author: Tejun Heo Date: Thu Jan 10 13:38:46 2008 +0900 libata-pmp: 4726 hates SRST 4726 hates SRST even on non-config ports. Don't use it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit af183748044cefb1050ab47519e6bdcfcecec226 Author: Rod Whitby Date: Sun Jan 6 10:05:28 2008 +0900 pata_ixp4xx_cf: fix compilation introduced by ata_port_desc() conversion Fixes a compilation error caused by ata_port_desc() conversion (cbcdd87593a1d85c5c4b259945a3a09eee12814d). Signed-off-by: Rod Whitby Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 36906d9beab941452cad406cc03f05cc78671256 Author: Alan Cox Date: Fri Jan 4 00:08:49 2008 +0000 pata_pdc202xx_old: Further fixups Turns out distros always enabled burst mode and it is pretty essential so do the same. Also sort out the post DMA mode restore properly. My 20263 card now seems happy but needs some four drive tests done yet (when I've persuaded the kernel not to hang in the edd boot code if I plug them in ..) Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 277d72a37431d200727189693b14488368b7c258 Author: Alan Cox Date: Thu Jan 3 17:22:28 2008 +0000 libata-sff: PCI IRQ handling fix It is legitimate (although annoying and silly) for a PCI IDE controller not to be assigned an interrupt and to be polled. The libata-sff code should therefore not try and request IRQ 0 in this case. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b14dabcdb651ddd9f85c69c9042322c139e7da84 Author: Tejun Heo Date: Fri Jan 4 00:22:19 2008 +0900 sata_qstor: use hardreset instead of softreset During conversion to new EH, sata_qstor was accidentaly changed to use softreset, which is buggy on this chip, instead of hardreset. This patch updates sata_qstor such that it uses hardreset again. This fixes bugzilla bug 9631. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit d0dc3701cb46f73cf8ca393f62e325065b0bbd03 Author: Trond Myklebust Date: Thu Jan 10 16:07:54 2008 -0500 NFSv4: Give the lock stateid its own sequence queue Sharing the open sequence queue causes a deadlock when we try to take both a lock sequence id and and open sequence id. This fixes the regression reported by Dimitri Puzin and Jeff Garzik: See http://bugzilla.kernel.org/show_bug.cgi?id=9712 for details. Reported-and-tested-by: Dimitri Puzin Signed-off-by: Trond Myklebust Tested-by: Jeff Garzik Signed-off-by: Linus Torvalds commit c5d0dc5f0dd66770232d7d360c770d2344b76d52 Author: Ivo van Doorn Date: Sun Jan 6 23:40:27 2008 +0100 rt2x00: Put 802.11 data on 4 byte boundary Check the size of the ieee80211 header during rxdone and make sure the data behind the ieee80211 header is placed on a 4 byte boundary. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd87145d2c3a7b1c8b338e1f6e174b3d2a17cd35 Author: Ivo van Doorn Date: Wed Jan 9 19:18:25 2008 +0100 rt2x00: Corectly initialize rt2500usb MAC mac is a pointer, obviously we shouldn't use the address of a pointer as MAC address. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 62bc060b8ed5fcdafd87da5ab17bdd59a39ebcc9 Author: Mattias Nissler Date: Mon Nov 12 15:03:12 2007 +0100 rt2x00: Allow rt61 to catch up after a missing tx report Sometimes it happens in the tx path that an entry given to the hardware isn't reported in the txdone handler. This ultimately led to the dreaded "non-free entry in the non-full queue" message and the stopping of the tx queue. Work around this issue by allowing the driver to also clear out previos entries in the txdone handler. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 490fe3f05be3f7c87d7932bcb6e6e53e3db2cd9c Author: Herbert Xu Date: Fri Jan 11 08:09:35 2008 +1100 [CRYPTO] padlock: Fix alignment fault in aes_crypt_copy The previous patch fixed spurious read faults from occuring by copying the data if we happen to have a single block at the end of a page. It appears that gcc cannot guarantee 16-byte alignment in the kernel with __attribute__. The following report from Torben Viets shows a buffer that's only 8-byte aligned: > eneral protection fault: 0000 [#1] > Modules linked in: xt_TCPMSS xt_tcpmss iptable_mangle ipt_MASQUERADE > xt_tcpudp xt_mark xt_state iptable_nat nf_nat nf_conntrack_ipv4 > iptable_filter ip_tables x_tables pppoe pppox af_packet ppp_generic slhc > aes_i586 > CPU: 0 > EIP: 0060:[] Not tainted VLI > EFLAGS: 00010292 (2.6.23.12 #7) > EIP is at aes_crypt_copy+0x28/0x40 > eax: f7639ff0 ebx: f6c24050 ecx: 00000001 edx: f6c24030 > esi: f7e89dc8 edi: f7639ff0 ebp: 00010000 esp: f7e89dc8 Since the hardware must have 16-byte alignment, the following patch fixes this by open coding the alignment adjustment. Signed-off-by: Herbert Xu commit 90e6b048365950416419c031f2f2d9a8afb5b70c Author: Russell King Date: Thu Jan 10 17:07:08 2008 +0000 [ARM] vfp: fix fuitod/fsitod instructions These two instructions exceptionally take a single precision register as their operand. This means we can't use vfp_get_dm() to read the register number - we need to use vfp_get_sm() instead. Add a flag to indicate this exception to the general rule. Signed-off-by: Russell King commit 6f4347c969674ed45de7d08d4b26d6326a95b959 Author: Olaf Hering Date: Thu Jan 10 01:06:08 2008 +1100 [POWERPC] efika: add phy-handle property for fec_mpc52xx The new network driver fec_mpc52xx will not work on efika because the firmware does not provide all required properties. http://www.powerdeveloper.org/asset/by-id/46 has a Forth script to create more properties. But only the phy stuff is required to get a working network. This should go into the kernel because its appearently impossible to boot the script via tftp and then load the real boot binary (yaboot or zimage). Signed-off-by: Olaf Hering Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt commit 198a6d5a6189501e2b8abf4e3149ccb337866f65 Author: Russell King Date: Thu Jan 10 12:33:54 2008 +0000 [ARM] pxa: silence warnings from cpu_is_xxx() macros If only a single CPU type is selected, __cpu_is_xxx() doesn't use its argument. This causes the compiler to issue a warning about an unused variable in the parent function. Signed-off-by: Russell King commit 27d1cba21fcc50c37eef5042c6be9fa7135e88fc Author: maximilian attems Date: Thu Jan 10 03:57:29 2008 -0800 [AX25]: Kill user triggable printks. sfuzz can easily trigger any of those. move the printk message to the corresponding comment: makes the intention of the code clear and easy to pick up on an scheduled removal. as bonus simplify the braces placement. Signed-off-by: maximilian attems Signed-off-by: David S. Miller commit 0bcceadceb0907094ba4e40bf9a7cd9b080f13fb Author: Eric Dumazet Date: Thu Jan 10 03:55:57 2008 -0800 [IPV4] ROUTE: fix rcu_dereference() uses in /proc/net/rt_cache In rt_cache_get_next(), no need to guard seq->private by a rcu_dereference() since seq is private to the thread running this function. Reading seq.private once (as guaranted bu rcu_dereference()) or several time if compiler really is dumb enough wont change the result. But we miss real spots where rcu_dereference() are needed, both in rt_cache_get_first() and rt_cache_get_next() Signed-off-by: Eric Dumazet Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9cd40029423701c376391da59d2c6469672b4bed Author: Pavel Emelyanov Date: Thu Jan 10 03:48:38 2008 -0800 [NEIGH]: Fix race between neigh_parms_release and neightbl_fill_parms The neightbl_fill_parms() is called under the write-locked tbl->lock and accesses the parms->dev. The negh_parm_release() calls the dev_put(parms->dev) without this lock. This creates a tiny race window on which the parms contains potentially stale dev pointer. To fix this race it's enough to move the dev_put() upper under the tbl->lock, but note, that the parms are held by neighbors and thus can live after the neigh_parms_release() is called, so we still can have a parm with bad dev pointer. I didn't find where the neigh->parms->dev is accessed, but still think that putting the dev is to be done in a place, where the parms are really freed. Am I right with that? Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b0de8e402dc5d3ee04f4d0f669ae492a3e569933 Author: Mirko Lindner Date: Thu Jan 10 02:12:44 2008 -0800 [NIU]: Support for Marvell PHY From: Mirko Lindner This patch makes necessary changes in the Neptune driver to support the new Marvell PHY. It also adds support for the LED blinking on Neptune cards with Marvell PHY. All registers are using defines in the niu.h header file as is already done for the BCM8704 registers. [ Coding style, etc. cleanups -DaveM ] Signed-off-by: David S. Miller commit 3a43e69ce50d467ded2f17f6e571e831d3677ab5 Author: FUJITA Tomonori Date: Tue Jan 8 23:07:01 2008 +0900 [SCSI] qla1280: fix 32 bit segment code There's an error remaining in the 32 bit descriptor code after the conversion to dma accessors: req_cnt is left uninitialised. qla1280_32bit_start_scsi gives the following warnings: drivers/scsi/qla1280.c: In function 'qla1280_32bit_start_scsi': drivers/scsi/qla1280.c:3044: warning: unused variable 'dma_handle' drivers/scsi/qla1280.c: In function 'qla1280_queuecommand': drivers/scsi/qla1280.c:3060: warning: 'req_cnt' is used uninitialized in this function drivers/scsi/qla1280.c:3042: note: 'req_cnt' was declared here Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit fcfd50afb6e94c8cf121ca4e7e3e7166bae7c6aa Author: Roland McGrath Date: Wed Jan 9 00:03:23 2008 -0800 show_task: real_parent The show_task function invoked by sysrq-t et al displays the pid and parent's pid of each task. It seems more useful to show the actual process hierarchy here than who is using ptrace on each process. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 1c9b7aa1eb40ab708ef3242f74b9a61487623168 Author: Herbert Xu Date: Wed Jan 9 03:51:59 2008 -0800 [ATM]: Check IP header validity in mpc_send_packet Al went through the ip_fast_csum callers and found this piece of code that did not validate the IP header. While root crashing the machine by sending bogus packets through raw or AF_PACKET sockets isn't that serious, it is still nice to react gracefully. This patch ensures that the skb has enough data for an IP header and that the header length field is valid. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1ac4f008857487bf45b709248d71c5b3f4cae7b5 Author: Brian Haley Date: Tue Jan 8 23:52:21 2008 -0800 [IPV6]: IPV6_MULTICAST_IF setting is ignored on link-local connect() Signed-off-by: Brian Haley Acked-by: David L Stevens Signed-off-by: David S. Miller commit cf585ae8ae9ac7287a6d078425ea32f22bf7f1f7 Author: Li Zefan Date: Tue Jan 8 23:44:44 2008 -0800 [CONNECTOR]: Don't touch queue dev after decrement of ref count. cn_queue_free_callback() will touch 'dev'(i.e. cbq->pdev), so it should be called before atomic_dec(&dev->refcnt). Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 9d3e44425e3498eb33f25d94392b4fd0d56a5176 Author: Eric Dumazet Date: Tue Jan 8 23:41:28 2008 -0800 [SOCK]: Adds a rcu_dereference() in sk_filter It seems commit fda9ef5d679b07c9d9097aaf6ef7f069d794a8f9 introduced a RCU protection for sk_filter(), without a rcu_dereference() Either we need a rcu_dereference(), either a comment should explain why we dont need it. I vote for the former. Signed-off-by: Eric Dumazet Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 0f99be0d115a5716292c58dfdb20d2eddd0f3387 Author: Eric Dumazet Date: Tue Jan 8 23:39:06 2008 -0800 [XFRM]: xfrm_algo_clone() allocates too much memory alg_key_len is the length in bits of the key, not in bytes. Best way to fix this is to move alg_len() function from net/xfrm/xfrm_user.c to include/net/xfrm.h, and to use it in xfrm_algo_clone() alg_len() is renamed to xfrm_alg_len() because of its global exposition. Signed-off-by: Eric Dumazet Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2e3884b5b16795c03a7bf295797c1b2402885b88 Author: Björn Steinbrink Date: Mon Jan 7 23:22:53 2008 -0800 [FORCEDETH]: Fix reversing the MAC address on suspend. For cards that initially have the MAC address stored in reverse order, the forcedeth driver uses a flag to signal whether the address was already corrected, so that it is not reversed again on a subsequent probe. Unfortunately this flag, which is stored in a register of the card, seems to get lost during suspend, resulting in the MAC address being reversed again. To fix that, the MAC address needs to be written back in reversed order before we suspend and the flag needs to be reset. The flag is still required because at least kexec will never write back the reversed address and thus needs to know what state the card is in. Signed-off-by: Björn Steinbrink Signed-off-by: David S. Miller commit 1d39da3dcaad4231f0fa75024b1d6d710a2ced74 Author: Russ Dill Date: Mon Jan 7 23:15:41 2008 -0800 [NET]: mcs7830 passes msecs instead of jiffies to usb_control_msg usb_control_msg was changed long ago (2.6.12-pre) to take milliseconds instead of jiffies. Oddly, mcs7830 wasn't added until 2.6.19-rc3. Signed-off-by: Russ Dill Signed-off-by: David S. Miller commit 877364e60edeea06efa8ceb9d29201f195af8a47 Author: Brice Goglin Date: Mon Jan 7 22:09:08 2008 -0800 [LRO] Fix lro_mgr->features checks lro_mgr->features contains a bitmask of LRO_F_* values which are defined as power of two, not as bit indexes. They must be checked with x&LRO_F_FOO, not with test_bit(LRO_F_FOO,&x). Signed-off-by: Brice Goglin Acked-by: Andrew Gallatin Signed-off-by: David S. Miller commit 02f1c89d6e36507476f78108a3dcc78538be460b Author: Paul Moore Date: Mon Jan 7 21:56:41 2008 -0800 [NET]: Clone the sk_buff 'iif' field in __skb_clone() Both NetLabel and SELinux (other LSMs may grow to use it as well) rely on the 'iif' field to determine the receiving network interface of inbound packets. Unfortunately, at present this field is not preserved across a skb clone operation which can lead to garbage values if the cloned skb is sent back through the network stack. This patch corrects this problem by properly copying the 'iif' field in __skb_clone() and removing the 'iif' field assignment from skb_act_clone() since it is no longer needed. Also, while we are here, put the assignments in the same order as the offsets to reduce cacheline bounces. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit d8c9283089287341c85a0a69de32c2287a990e71 Author: Eric Dumazet Date: Mon Jan 7 21:52:14 2008 -0800 [IPV4] ROUTE: ip_rt_dump() is unecessary slow I noticed "ip route list cache x.y.z.t" can be *very* slow. While strace-ing -T it I also noticed that first part of route cache is fetched quite fast : recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202 GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3772 <0.000047> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\234\0\0\0\30\0\2\0\254i\ 202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3736 <0.000042> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\204\0\0\0\30\0\2\0\254i\ 202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3740 <0.000055> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\234\0\0\0\30\0\2\0\254i\ 202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3712 <0.000043> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\204\0\0\0\30\0\2\0\254i\ 202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3732 <0.000053> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202 GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3708 <0.000052> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202 GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3680 <0.000041> while the part at the end of the table is more expensive: recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\204\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3656 <0.003857> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\204\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3772 <0.003891> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3712 <0.003765> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3700 <0.003879> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3676 <0.003797> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3724 <0.003856> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\234\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3736 <0.003848> The following patch corrects this performance/latency problem, removing quadratic behavior. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2b2b2e35b71e5be8bc06cc0ff38df15dfedda19b Author: Russ Dill Date: Mon Jan 7 21:48:12 2008 -0800 [NET]: kaweth was forgotten in msec switchover of usb_start_wait_urb Back in 2.6.12-pre, usb_start_wait_urb was switched over to take milliseconds instead of jiffies. kaweth.c was never updated to match. Signed-off-by: Russ Dill Signed-off-by: David S. Miller commit 204246596b8b51c0ba44420e60f60561101b2b31 Author: Auke Kok Date: Mon Jan 7 21:47:25 2008 -0800 [NET] Intel ethernet drivers: update MAINTAINERS Unfortunately Jeb decided to move away from our group. We wish Jeb good luck with his new group! Reordered people a bit so most active team members are on top. Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 53e52c729cc169db82a6105fac7a166e10c2ec36 Author: David S. Miller Date: Mon Jan 7 21:06:12 2008 -0800 [NET]: Make ->poll() breakout consistent in Intel ethernet drivers. This makes the ->poll() routines of the E100, E1000, E1000E, IXGB, and IXGBE drivers complete ->poll() consistently. Now they will all break out when the amount of RX work done is less than 'budget'. At a later time, we may want put back code to include the TX work as well (as at least one other NAPI driver does, but by in large NAPI drivers do not do this). But if so, it should be done consistently across the board to all of these drivers. Signed-off-by: David S. Miller Acked-by: Auke Kok commit fed17f3094b960d3a54b10f17abbe4b57e976eec Author: David S. Miller Date: Mon Jan 7 21:00:40 2008 -0800 [NET]: Stop polling when napi_disable() is pending. This finally adds the code in net_rx_action() to break out of the ->poll()'ing loop when a napi_disable() is found to be pending. Now, even if a device is being flooded with packets it can be cleanly brought down. Signed-off-by: David S. Miller commit d1d08d1265810ef1f165864850416dcbc9725ee7 Author: David S. Miller Date: Mon Jan 7 20:53:33 2008 -0800 [NET]: Fix drivers to handle napi_disable() disabling interrupts. When we add the generic napi_disable_pending() breakout logic to net_rx_action() it means that napi_disable() can cause NAPI poll interrupt events to be disabled. And this is exactly what we want. If a napi_disable() is pending, and we are looping in the ->poll(), we want ->poll() event interrupts to stay disabled and we want to complete the NAPI poll ASAP. When ->poll() break out during device down was being handled on a per-driver basis, often these drivers would turn interrupts back on when '!netif_running()' was detected. And this would just cause a reschedule of the NAPI ->poll() in the interrupt handler before the napi_disable() could get in there and grab the NAPI_STATE_SCHED bit. The vast majority of drivers don't care if napi_disable() might have the side effect of disabling NAPI ->poll() event interrupts. In all such cases, when a napi_disable() is performed, the driver just disabled interrupts or is about to. However there were three exceptions to this in PCNET32, R8169, and SKY2. To fix those cases, at the subsequent napi_enable() points, I added code to ensure that the ->poll() interrupt events are enabled in the hardware. Signed-off-by: David S. Miller Acked-by: Don Fry commit 1706287f6eb58726a9a0e5cbbde87f49757615e3 Author: David S. Miller Date: Mon Jan 7 20:51:29 2008 -0800 [NETXEN]: Fix ->poll() done logic. If work_done >= budget we should always elide the NAPI completion. Signed-off-by: David S. Miller commit 5cdfed54e7200dde2e846e2ef153d1694ce44875 Author: Andrew Lutomirski Date: Thu Jan 3 21:03:19 2008 -0800 mac80211: return an error when SIWRATE doesn't match any rate Currently mac80211 fails silently when trying to set a nonexistent rate. Return an error instead. Signed-Off-By: Andy Lutomirski Signed-off-by: John W. Linville commit 87c4ac841c1d524416ab36c19689550bf302dab1 Author: Michael Buesch Date: Thu Jan 3 18:59:25 2008 +0100 ssb: Fix probing of PCI cores if PCI and PCIE core is available This will make sure that always the correct core is selected, even if there are both a PCI and PCI-E core on a PCI or PCI-E card. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4ec2411980d0fd2995e8dea8a06fe57aa47523cb Author: David S. Miller Date: Mon Jan 7 20:48:21 2008 -0800 [NET]: Do not check netif_running() and carrier state in ->poll() Drivers do this to try to break out of the ->poll()'ing loop when the device is being brought administratively down. Now that we have a napi_disable() "pending" state we are going to solve that problem generically. Signed-off-by: David S. Miller commit a0a46196cd98af5cc015842bba757571f02a8c30 Author: David S. Miller Date: Mon Jan 7 20:35:07 2008 -0800 [NET]: Add NAPI_STATE_DISABLE. Create a bit to signal that a napi_disable() is in progress. This sets up infrastructure such that net_rx_action() can generically break out of the ->poll() loop on a NAPI context that has a pending napi_disable() yet is being bombed with packets (and thus would otherwise poll endlessly and not allow the napi_disable() to finish). Now, what napi_disable() does is first set the NAPI_STATE_DISABLE bit (to indicate that a disable is pending), then it polls for the NAPI_STATE_SCHED bit, and once the NAPI_STATE_SCHED bit is acquired the NAPI_STATE_DISABLE bit is cleared. Here, the test_and_set_bit() provides the necessary memory barrier between the various bitops. napi_schedule_prep() now tests for a pending disable as it's first action and won't try to obtain the NAPI_STATE_SCHED bit if a disable is pending. As a result, we can remove the netif_running() check in netif_rx_schedule_prep() because the NAPI disable pending state serves this purpose. And, it does so in a NAPI centric manner which is what we really want. Signed-off-by: David S. Miller commit bdb95b1792664f25eb2a4d13a587d2020aa93002 Author: David S. Miller Date: Mon Jan 7 20:26:59 2008 -0800 [NET]: Do not grab device reference when scheduling a NAPI poll. It is pointless, because everything that can make a device go away will do a napi_disable() first. The main impetus behind this is that now we can legally do a NAPI completion in generic code like net_rx_action() which a following changeset needs to do. net_rx_action() can only perform actions in NAPI centric ways, because there may be a one to many mapping between NAPI contexts and network devices (SKY2 is one example). We also want to get rid of this because it's an extra atomic in the NAPI paths, and also because it is one of the last instances where the NAPI interfaces care about net devices. The one remaining netdev detail the NAPI stuff cares about is the netif_running() check which will be killed off in a subsequent changeset. Signed-off-by: David S. Miller commit d987160b710c98997015832422a05e18d9f0f925 Author: Michael Buesch Date: Wed Jan 2 18:55:53 2008 +0100 b43: Fix rxheader channel parsing This patch fixes the parsing of the RX data header channel field. The current code parses the header incorrectly and passes a wrong channel number and frequency for each frame to mac80211. The FIXMEs added by this patch don't matter for now as the code where they live won't get executed anyway. They will be fixed later. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9e8d6f8959c356d8294d45f11231331c3e1bcae6 Author: maximilian attems Date: Mon Jan 7 00:30:57 2008 -0800 [IRDA]: irda_create() nuke user triggable printk easy to trigger as user with sfuzz. irda_create() is quiet on unknown sock->type, match this behaviour for SOCK_DGRAM unknown protocol Signed-off-by: maximilian attems Signed-off-by: David S. Miller commit 036b579b1146f52c51398f1ab663cf659094107d Author: Vlad Yasevich Date: Mon Jan 7 00:28:16 2008 -0800 [SCTP]: Add back the code that accounted for FORWARD_TSN parameter in INIT. Some recent changes completely removed accounting for the FORWARD_TSN parameter length in the INIT and INIT-ACK chunk. This is wrong and should be restored. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6df9cfc1ad45839e2a11330ab354330c6128cb73 Author: Vlad Yasevich Date: Mon Jan 7 00:27:45 2008 -0800 [SCTP]: Correctly handle AUTH parameters in unexpected INIT When processing an unexpected INIT chunk, we do not need to do any preservation of the old AUTH parameters. In fact, doing such preservations will nullify AUTH and allow connection stealing. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f691724c4d3b150bfa9cc8a969ea2020e20dfb12 Author: Vlad Yasevich Date: Mon Jan 7 00:27:16 2008 -0800 [SCTP]: Fix the name of the authentication event. The even should be called SCTP_AUTHENTICATION_INDICATION. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 52961955aa180959158faeb9fd6b4f8a591450f5 Author: Chas Williams Date: Mon Jan 7 00:26:22 2008 -0800 [ATM]: [nicstar] delay irq setup until card is configured Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit c6a1b62de9d043f274ec3ae2e207908c6d5feff3 Author: Stephen Hemminger Date: Mon Jan 7 00:23:04 2008 -0800 [TULIP]: NAPI full quantum bug. This should fix the kernel warn/oops reported while routing. The tulip driver has a fencepost bug with new NAPI in 2.6.24 It has an off by one bug if a full quantum is reached. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit edba2a1fefc6296bc527754dee1c72a625bb675a Author: Thomas Bogendoerfer Date: Sun Jan 6 00:21:47 2008 -0800 [METH]: Fix MAC address handling. meth didn't set a valid mac address during probing, but later during open. Newer kernel refuse to open device with 00:00:00:00:00:00 as mac address -> dead ethernet. This patch sets the mac address in the probe function and uses only the mac address from the netdevice struct when setting up the hardware. Signed-off-by: Thomas Bogendoerfer Signed-off-by: David S. Miller commit 9a262d5c24c63d2b7bea05e41d9b3bfbef63e903 Author: Adrian Bunk Date: Sat Jan 5 23:55:13 2008 -0800 [NET]: Fix netx-eth.c compilation. This was missed when commit e2ac455a18806b31c2d0da0a51d8740af5010b7a fixed the compile errors in drivers/net/netx-eth.c caused by commit 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 92ffb85dd33d62ac1dad8b44da62365f2aad413d Author: Amos Waterland Date: Sat Jan 5 23:23:06 2008 -0800 [IPV4] ipconfig: Fix regression in ip command line processing The recent changes for ip command line processing fixed some problems but unfortunately broke some common usage scenarios. In current 2.6.24-rc6 the following command line results in no IP address assignment, which is surely a regression: ip=10.0.2.15::10.0.2.2:255.255.255.0::eth0:off Please find below a patch that works for all cases I can find. Signed-off-by: Amos Waterland Signed-off-by: David S. Miller commit f844c74fe07321953e2dd227fe35280075f18f60 Author: Herbert Xu Date: Sat Jan 5 23:14:44 2008 -0800 [IPV4] raw: Strengthen check on validity of iph->ihl We currently check that iph->ihl is bounded by the real length and that the real length is greater than the minimum IP header length. However, we did not check the caes where iph->ihl is less than the minimum IP header length. This breaks because some ip_fast_csum implementations assume that which is quite reasonable. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cb77df3ec88f07c6141924dfe6fd96a2f541cc09 Author: David S. Miller Date: Sat Jan 5 00:02:59 2008 -0800 [NIU]: Update driver version and release date. Signed-off-by: David S. Miller commit 3ebebccf89b1b6e4fec4de05b245d6c459f27ce8 Author: David S. Miller Date: Fri Jan 4 23:54:06 2008 -0800 [NIU]: Fix potentially stuck TCP socket send queues. It is possible for the TX ring to have packets sit in it for unbounded amounts of time. The only way to defer TX interrupts in the chip is to periodically set "mark" bits, when processing of a TX descriptor with the mark bit set is complete it triggers the interrupt for the TX queue's LDG. A consequence of this kind of scheme is that if packet flow suddenly stops, the remaining TX packets will just sit there. If this happens, since those packets could be charged to TCP socket send queues, such sockets could get stuck. The simplest solution is to divorce the socket ownership of the packet once the device takes the SKB, by using skb_orphan() in niu_start_xmit(). In hindsight, it would have been much nicer if the chip provided two interrupt sources for TX (like basically every other ethernet chip does). Namely, keep the "mark" bit, but also signal the LDG when the TX queue becomes completely empty. That way there is no need to have a deadlock breaker like this. Signed-off-by: David S. Miller commit 792dd90f114a48c210c566f3642b26f699702cb7 Author: David S. Miller Date: Fri Jan 4 23:52:06 2008 -0800 [NIU]: Missing ->last_rx update. Noticed by Paul Lodridge. Signed-off-by: David S. Miller commit 406f353c857e4b2dbddb7cd20c67941d829b8b15 Author: Matheos Worku Date: Fri Jan 4 23:48:26 2008 -0800 [NIU]: Fix slowpath interrupt handling. niu_slowpath_interrupt() expects values to be setup in lp->{v0,v1,v2} but they aren't. That's only done by niu_schedule_napi() which is done later in the interrupt path. If niu_rx_error() returns zero, and v0 is clear, hit the RX_DMA_CTL_STATE register with a RX_DMA_CTL_STAT_MEX. Only emit verbose RX error logs if a fatal channel or port error is signalled. Other cases will be recorded into statistics by niu_log_rxchan_errors(). Signed-off-by: David S. Miller commit cdf71a10c7b6432d9b48e292cca2c62a0b9fa6cf Author: Thomas Gleixner Date: Tue Jan 8 19:47:38 2008 +0100 futex: Prevent stale futex owner when interrupted/timeout Roland Westrelin did a great analysis of a long standing thinko in the return path of futex_lock_pi. While we fixed the lock steal case long ago, which was easy to trigger, we never had a test case which exposed this problem and stupidly never thought about the reverse lock stealing scenario and the return to user space with a stale state. When a blocked tasks returns from rt_mutex_timed_locked without holding the rt_mutex (due to a signal or timeout) and at the same time the task holding the futex is releasing the futex and assigning the ownership of the futex to the returning task, then it might happen that a third task acquires the rt_mutex before the final rt_mutex_trylock() of the returning task happens under the futex hash bucket lock. The returning task returns to user space with ETIMEOUT or EINTR, but the user space futex value is assigned to this task. The task which acquired the rt_mutex fixes the user space futex value right after the hash bucket lock has been released by the returning task, but for a short period of time the user space value is wrong. Detailed description is available at: https://bugzilla.redhat.com/show_bug.cgi?id=400541 The fix for this is the same as we do when the rt_mutex was acquired by a higher priority task via lock stealing from the designated new owner. In that case we already fix the user space value and the internal pi_state up before we return. This mechanism can be used to fixup the above corner case as well. When the returning task, which failed to acquire the rt_mutex, notices that it is the designated owner of the futex, then it fixes up the stale user space value and the pi_state, before returning to user space. This happens with the futex hash bucket lock held, so the task which acquired the rt_mutex is guaranteed to be blocked on the hash bucket lock. We can access the rt_mutex owner, which gives us the pid of the new owner, safely here as the owner is not able to modify (release) it while waiting on the hash bucket lock. Rename the "curr" argument of fixup_pi_state_owner() to "newowner" to avoid confusion with current and add the check for the stale state into the failure path of rt_mutex_trylock() in the return path of unlock_futex_pi(). If the situation is detected use fixup_pi_state_owner() to assign everything to the owner of the rt_mutex. Pointed-out-and-tested-by: Roland Westrelin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit bf5e5834bffc62b50cd4a201804506eb11ef1af8 Author: Alan Cox Date: Tue Jan 8 14:55:51 2008 +0000 pl2303: Fix mode switching regression Cleaning out all the incorrect 'no change made' checks for termios settings showed up a problem with the PL2303. The hardware here seems to lose sync and bits if you tell it to make no changes. This shows up with a real world application. To fix this the driver check for meaningful hardware changes is restored but doing the tests correctly and as a tty layer function so it doesn't get duplicated wrongly everywhere if other drivers turn out to need it. Signed-off-by: Alan Cox Tested-by: Mirko Parthey Signed-off-by: Linus Torvalds commit cf0594625083111ae522496dc1c256f7476939c2 Author: Eric Sandeen Date: Tue Jan 8 15:33:20 2008 -0800 hfs: handle more on-disk corruptions without oopsing hfs seems prone to bad things when it encounters on disk corruption. Many values are read from disk, and used as lengths to memcpy, as an example. This patch fixes up several of these problematic cases. o sanity check the on-disk maximum key lengths on mount (these are set to a defined value at mkfs time and shouldn't differ) o check on-disk node keylens against the maximum key length for each tree o fix hfs_btree_open so that going out via free_tree: doesn't wind up in hfs_releasepage, which wants to follow the very pointer we were trying to set up: HFS_SB(sb)->cat_tree = hfs_btree_open() ... failure gets to hfs_releasepage and tries to follow HFS_SB(sb)->cat_tree Tested with the fsfuzzer; it survives more than it used to. Signed-off-by: Eric Sandeen Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 467bc461d2845f6a04b124bca1ae6ecc554e1ee5 Author: Thomas Bogendoerfer Date: Tue Jan 8 15:33:11 2008 -0800 Fix crash with FLAT_MEMORY and ARCH_PFN_OFFSET != 0 When using FLAT_MEMORY and ARCH_PFN_OFFSET is not 0, the kernel crashes in memmap_init_zone(). This bug got introduced by commit c713216deebd95d2b0ab38fef8bb2361c0180c2d Signed-off-by: Thomas Bogendoerfer Acked-by: Mel Gorman Cc: Bob Picco Cc: Dave Hansen Cc: Andy Whitcroft Cc: Andi Kleen Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: "Keith Mannthey" Cc: "Luck, Tony" Cc: KAMEZAWA Hiroyuki Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22a860a9e22fa077300e1e72170afb82bf695617 Author: Jean Delvare Date: Tue Jan 8 15:33:10 2008 -0800 snd_mixer_oss_build_input(): fix for __you_cannot_kmalloc_that_much failure with gcc-3.2 Rework this functions so that gcc-3.2 can successfully perform constant-folding. Signed-off-by: Jean Delvare Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce8c628abadaf16a44953301c68b9f54cf6898cc Author: Jean Delvare Date: Tue Jan 8 15:33:08 2008 -0800 dmi-id: fix for __you_cannot_kmalloc_that_much failure gcc 3.2 has a hard time coping with the code in dmi_id_init(): drivers/built-in.o(.init.text+0x789e): In function `dmi_id_init': : undefined reference to `__you_cannot_kmalloc_that_much' make: *** [.tmp_vmlinux1] Error 1 Moving half of the code to a separate function seems to help. This is a no-op for gcc 4.1 which will successfully inline the code anyway. Signed-off-by: Jean Delvare Cc: Dave Airlie Tested-by: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83a08e7c6ed533a47631794e7f618a98094b4129 Author: Ken'ichi Ohmichi Date: Tue Jan 8 15:33:05 2008 -0800 vmcoreinfo: add the array length of "free_list" for filtering free pages This patch adds the array length of "free_area.free_list" to the vmcoreinfo data so that makedumpfile (dump filtering command) can exclude all free pages in linux-2.6.24. makedumpfile creates a small dumpfile by excluding unnecessary pages for the analysis. To distinguish unnecessary pages, makedumpfile gets the vmcoreinfo data which has the minimum debugging information only for dump filtering. In 2.6.24-rc1 or later, the free_area.free_list is an array which has one list for each migrate types instead of a single list. makedumpfile needs the array length of "free_area.free_list" and the vmcoreinfo data should contain it. Signed-off-by: Huang Ying Tested-by: Ken'ichi Ohmichi Acked-by: Simon Horman Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caeeeecfdaeada2998eb3c29c3ebd59afb79ef06 Author: Michael Halcrow Date: Tue Jan 8 15:33:02 2008 -0800 eCryptfs: fix dentry handling on create error, unlink, and inode destroy This patch corrects some erroneous dentry handling in eCryptfs. If there is a problem creating the lower file, then there is nothing that the persistent lower file can do to really help us. This patch makes a vfs_create() failure in the lower filesystem always lead to an unconditional do_create failure in eCryptfs. Under certain sequences of operations, the eCryptfs dentry can remain in the dcache after an unlink. This patch calls d_drop() on the eCryptfs dentry to correct this. eCryptfs has no business calling d_delete() directly on a lower filesystem's dentry. This patch removes the call to d_delete() on the lower persistent file's dentry in ecryptfs_destroy_inode(). (Thanks to David Kleikamp, Eric Sandeen, and Jeff Moyer for helping identify and resolve this issue) Signed-off-by: Michael Halcrow Cc: Dave Kleikamp Cc: Eric Sandeen Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c51b1a160b63304720d49479986915e4c475a2cf Author: Akinobu Mita Date: Tue Jan 8 15:32:57 2008 -0800 xip: fix get_zeroed_page with __GFP_HIGHMEM The use of get_zeroed_page() with __GFP_HIGHMEM is invalid. Use alloc_page() with __GFP_ZERO instead of invalid get_zeroed_page(). (This patch is only compile tested) Cc: Carsten Otte Signed-off-by: Akinobu Mita Acked-by: Hugh Dickins Acked-by: Carsten Otte Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f94e87cdeaaac9f0f9a28a5dd2a5070b87cd3e8 Author: Dan Williams Date: Tue Jan 8 15:32:53 2008 -0800 md: fix data corruption when a degraded raid5 array is reshaped We currently do not wait for the block from the missing device to be computed from parity before copying data to the new stripe layout. The change in the raid6 code is not techincally needed as we don't delay data block recovery in the same way for raid6 yet. But making the change now is safer long-term. This bug exists in 2.6.23 and 2.6.24-rc Cc: Signed-off-by: Dan Williams Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b7741b3325d0d94c88b2ad46657a536890aaa2f Author: Sebastian Siewior Date: Tue Jan 8 15:32:47 2008 -0800 KEYS: fix macro Commit 664cceb0093b755739e56572b836a99104ee8a75 changed the parameters of the function make_key_ref(). The macros that are used in case CONFIG_KEY is not defined did not change. Cc: David Howells Signed-off-by: Sebastian Siewior Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f966be8996f2829406324c68e4c67c2d64d864b Author: OGAWA Hirofumi Date: Tue Jan 8 15:32:41 2008 -0800 fat: optimize fat_count_free_clusters() On large partition, scanning the free clusters is very slow if users doesn't use "usefree" option. For optimizing it, this patch uses sb_breadahead() to read of FAT sectors. On some user's 15GB partition, this patch improved it very much (1min => 600ms). The following is the result of 2GB partition on my machine. without patch: root@devron (/)# time df -h > /dev/null real 0m1.202s user 0m0.000s sys 0m0.440s with patch: root@devron (/)# time df -h > /dev/null real 0m0.378s user 0m0.012s sys 0m0.168s Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d52df2e2ea2d881b1439bbdec7f67c27e0f47941 Author: David Brownell Date: Tue Jan 8 15:32:40 2008 -0800 spi_bitbang: always grab lock with irqs blocked Fix a glitch reported by lockdep in the spi_bitbang code: it needs to consistently block IRQs when holding that spinlock. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2b484a29cc9f565b013c0e7f1e0cc22dec12456 Author: Thomas Gleixner Date: Wed Jan 9 00:18:28 2008 +0100 x86: fix do_fork_idle section mismatch With CPU_HOTPLUG=n: WARNING: vmlinux.o(.text+0x104f8): Section mismatch: reference to .init.text:fork_idle (between 'do_fork_idle' and 'lapic_timer_broadcast') do_fork_idle() needs to be __cpuinit. It can be static as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ad696989b4a2fce8494964814376aef41da3ff55 Author: Dave Dillow Date: Thu Jan 3 22:35:41 2008 -0500 IB/srp: Release transport before removing host The documented call sequence for removing a host is to call the transport xxx_remove_host() prior to scsi_remove_host(). The SRP transport used to crash when that order was followed, but as it is now fixed, use the documented order. Signed-off-by: David Dillow Acked-by: FUJITA Tomonori Signed-off-by: Roland Dreier commit e1bb7843e4c25e6e331890a2ca512581e844bbaa Author: Dotan Barak Date: Mon Jan 7 09:01:25 2008 +0200 IB/mlx4: Fix value of pkey_index in QP1 completions Fix the value of pkey_index in completions to get a valid value for GSI QPs. Without this fix, incoming GSI packets on port 2 get an invalid P_Key index in the completion, which prevents the MAD layer from sending back a response, which can make the second port of ConnectX HCAs completely useless. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit d238998fbfa49f30b02f0a5de5294ca53c58348c Author: Linus Torvalds Date: Tue Jan 8 11:46:37 2008 -0800 Revert "hda_intel suspend latency: shorten codec read" This reverts commit 57a04513cb35086d54bcb2cb92e6627fc8fa0fae. Harald Dunkel reports that it broke sound for him: "Alsa stopped working for me. I still can access /dev/dsp, change the volume and so on, but the speakers are quiet." Reverting it fixed things for him. Reported-and-tested-by: Harald Dunkel Acked-by: Takashi Iwai Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ed96f2470bf5d315770dc199f0250c1b8d3c2f3c Author: Sean Hefty Date: Wed Jan 2 12:00:24 2008 -0800 MAINTAINERS: Update Sean Hefty's email address My Unix email account is being discontinued at end of Q1 '08. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit b59f8197c5ddd0d5d74b663650be5449dacd34aa Author: Roland McGrath Date: Mon Jan 7 14:23:34 2008 -0800 acct: real_parent ppid The ac_ppid field reported in process accounting records should match what getppid() would have returned to that process, regardless of whether a debugger is attached. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 45626bb26a6ecd163e5eeddd14a6137052ec4495 Author: Roland McGrath Date: Mon Jan 7 14:22:44 2008 -0800 core dump: real_parent ppid The pr_ppid field reported in core dumps should match what getppid() would have returned to that process, regardless of whether a debugger is attached. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 5b3f0e6c1c9638b11a1063bf93c60a0766550b02 Author: Venki Pallipadi Date: Mon Jan 7 17:50:10 2008 -0500 ACPI: Reintroduce run time configurable max_cstate for !CPU_IDLE case This was writeable in 2.6.23 but the cpuidle merge made it read-only. But some people's scripts (ie: Mark's) were writing to it. As an unhappy compromise, make max_cstate writeable again if the kernel was configured without CONFIG_CPU_IDLE. http://bugzilla.kernel.org/show_bug.cgi?id=9683 Signed-off-by: Venkatesh Pallipadi Cc: Mark Lord Cc: Arjan van de Ven Cc: Ingo Molnar Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit ba820c5c51296343be202c9afb072b7b943099cb Author: Ralf Baechle Date: Mon Jan 7 15:09:50 2008 +0000 [MIPS] Fix CONFIG_BOOT_RAW. This was broken by 017e3a492683b32d17dcd1b13b279745cc656073 (lmo) / 396a2ae08e5080b140330645743ab2567f6bc426 (kernel.org). Signed-off-by: Ralf Baechle commit ce202cbb9e0b623671e8ecb3d53afdd42b8e458f Author: Thomas Bogendoerfer Date: Fri Jan 4 23:38:31 2008 +0100 [MIPS] Assume R4000/R4400 newer than 3.0 don't have the mfc0 count bug This seems as reasonable assumption and gets some SNI machines to work which currently must rely on the cp0 counter as clocksource. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit c990081bf87bf5afcd6d39d8bfce9c6d60b1f2eb Author: Thomas Bogendoerfer Date: Sat Jan 5 12:13:11 2008 +0100 [MIPS] Fix IP32 breakage - suppress master aborts during config read - set io_map_base - only fixup end of iomem resource to avoid failing request_resource in serial driver - killed useless setting of crime_int bit, which caused wrong interrupts - use physcial address for serial port platform device and let 8250 driver do the ioremap Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 9cfacb790f581000a7ec8455785d131aca923ded Author: Sergei Shtylyov Date: Tue Dec 25 21:00:45 2007 +0300 [MIPS] Alchemy: Fix use of __init code bug exposed by modpost warning WARNING: vmlinux.o(.text+0x1ca608): Section mismatch: reference to .init.text: add_wired_entry (between 'config_access' and 'config_read') by refactoring the code calling add_wired_entry() from config_access() to a separate function which is called from aau1x_pci_setup(). While at it: - make some unnecassarily global variables 'static'; - fix the letter case, whitespace, etc. in the comments... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit c4eee283e004751143fb81dbf4f8cfe7b8dcc970 Author: Atsushi Nemoto Date: Mon Nov 12 01:05:16 2007 +0900 [MIPS] Move inclusing of kernel/time/Kconfig menu to appropriate place CONFIG_NO_HZ, CONFIG_HIGH_RES_TIMERS should be selected in "Kernel type" menu, not in "CPU selection" menu. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 89dab3573aa1d95fd222ee4551f964bfa4c16823 Author: Hans Verkuil Date: Mon Jan 7 06:46:26 2008 -0200 V4L/DVB (6916): ivtv: udelay has to be changed *after* the eeprom was read, not before The eeprom decides which Hauppauge model it is, so the decision whether to use an udelay of 5 or 10 needs to be taken after reading the eeprom, not before. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9030f573031244dcffee026cc5e7e2f96f972ce Author: Gregor Jasny Date: Sun Jan 6 11:15:54 2008 -0300 V4L/DVB (6944a): Fix Regression VIDIOCGMBUF ioctl hangs on bttv driver Fix bttv VIDIOCGMBUF locking like done in commit 820eacd84cff23b76693f4be1e28feb672f4488f. Signed-off-by: Gregor Jasny Signed-off-by: Mauro Carvalho Chehab commit 844b43adba74d97f15e56b103c97bfcccaa01aa6 Author: Carmelo Amoroso Date: Mon Jan 7 13:50:18 2008 +0900 sh: Fix argument page dcache flushing regression. In the do_execve() path, argument page handling used to explicitly call flush_dcache_page() for each page, this has since been reworked and uses flush_kernel_dcache_page() instead, which is presently a nop. Doing a simple modprobe/rmmod in a loop under busybox consistently manages to crash without providing a sane flush_kernel_dcache_page() implementation, so, plug in a simple implementation. Signed-off-by: Carmelo Amoroso Signed-off-by: Paul Mundt commit 430cb436103ce1b58cb80e7c3d44f4d4a8110caa Author: Jan Altenberg Date: Mon Dec 10 10:06:40 2007 +0100 [ARM] 4691/1: add missing i2c_board_info struct for at91rm9200 - Add missing i2c_board_info struct for at91rm9200 Signed-off-by: Jan Altenberg Acked-by: Andrew Victor Signed-off-by: Russell King commit 56b11288cb92104d3589930efdc7d0f50b8f4328 Author: Richard Purdie Date: Wed Jan 2 00:54:49 2008 +0100 [ARM] 4735/1: Unbreak pxa25x suspend/resume Suspend/resume on the pxa25x was fairly obviously broken in revision 711be5ccfe9a02ba560aa918a008c31ea4760163. This patch fixes the damage by adding back the missing code. Signed-off-by: Richard Purdie Acked-by: Eric Miao Signed-off-by: Russell King commit ed2fa4dd41adcac0b82dea029bfb7d856a899258 Author: Richard Purdie Date: Thu Jan 3 10:46:21 2008 -0500 Input: pass EV_PWR events to event handlers input_handle_event() used to pass EV_PWR events to event handlers but no longer does so in 2.6.23. Modules to trigger power management events based on input power events exist but rely on the EV_PWR events being passed to the input event handlers. Signed-off-by: Richard Purdie Signed-off-by: Dmitry Torokhov commit 9fe4f2aadc3067e36f211f9d8a01634bbc4f7eb4 Author: Richard Purdie Date: Thu Jan 3 10:46:13 2008 -0500 Input: spitzkbd - fix suspend key handling The spitz keyboard driver reports KEY_SUSPEND events but doesn't register its use of this event in the keybit bitfield, breaking input events for this key. This patch fixes that by registering the key in the keybit bitfield. Signed-off-by: Richard Purdie Signed-off-by: Dmitry Torokhov commit f5ad58675149077b2046905d54fb831873288058 Author: Ivan Kokshaysky Date: Thu Jan 3 10:46:03 2008 -0500 gameport: don't export functions that are static inline This does not make sense and moreover causes build failures on alpha. Signed-off-by: Ivan Kokshaysky Signed-off-by: Dmitry Torokhov commit 97749cd9adbb2985e4b2aee1a59d6b970fe9c3a7 Author: Alexey Starikovskiy Date: Tue Jan 1 14:27:24 2008 -0500 ACPI: Make sysfs interface in ACPI power optional. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9494 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit c04209a7948b95e8c52084e8595e74e9428653d3 Author: Alexey Starikovskiy Date: Tue Jan 1 14:12:55 2008 -0500 ACPI: EC: Enable boot EC before bus_scan Some _STA methods called during bus_scan() might require EC region handler, which might be enabled later in the scan. Enable it explicitly before scan to avoid errors. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9627 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 2c838197751db19d08a00e633e33dce23a69fb0c Author: Len Brown Date: Thu Dec 27 23:55:13 2007 -0500 increase PNP_MAX_PORT to 40 from 24 a7839e960675b549f06209d18283d5cee2ce9261 (PNP: increase the maximum number of resources) increased PNP_MAX_PORT to 24 from 8. It also added a test and a complaint when a machine exceeded the limit, causing: pnpacpi: exceeded the max number of IO resources: 24 http://bugzilla.kernel.org/show_bug.cgi?id=9535 We should have been squawking about this all along, as this is a potentially serious issue. For now, simply burn some dynamic bytes and increase the limit by another 16 to 40. There is no guarantee that this will satisfy every system on Earth. It probably will not, but it should be an improvement. In the future, PNPACPI should allocate resource structures as needed, rather than max-sized arrays. Signed-off-by: Len Brown commit 4c64681effcbf349cf9137b8a120badc72340dd4 Author: Kristoffer Ericson Date: Fri Dec 14 01:21:14 2007 -0500 Input: jornada680_kbd - fix default keymap This patch fixes the HP Jornada 6xx keyboard default keymap which had some bad keymap values. This resulted in wrong key being returned when pressed (for example, key 'y' returned 'r'). Also, while we are at it lets arrange the include files in alphabetical order. Signed-off-by: Kristoffer Ericson Signed-off-by: Dmitry Torokhov commit 22d1c398e852e7f0ace3482e662886386ef15725 Author: Dmitry Baryshkov Date: Fri Dec 14 01:21:03 2007 -0500 Input: Handle EV_PWR type of input caps in input_set_capability. Signed-off-by: Dmitry Baryshkov Signed-off-by: Dmitry Torokhov