summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-08-30xtensa process.c must #include <linux/fs.h>Adrian Bunk1-0/+1
Another fallout from the removal of #include <linux/fs.h> from mm.h Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-30Fix lguest page-pinning logic ("lguest: bad stack page 0xc057a000")Rusty Russell1-2/+5
If the stack pointer is 0xc057a000, then the first stack page is at 0xc0579000 (the stack pointer is decremented before use). Not calculating this correctly caused guests with CONFIG_DEBUG_PAGEALLOC=y to be killed with a "bad stack page" message: the initial kernel stack was just proceeding the .smp_locks section which CONFIG_DEBUG_PAGEALLOC marks read-only when freeing. Thanks to Frederik Deweerdt for the bug report! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-30SCTP: Fix sctp_addto_chunk() to add pad with correct lengthWei Yongjun1-1/+1
At function sctp_addto_chunk(), it do pad before add payload to chunk if chunk length is not 4-byte alignment. But it do pad with a bad length. This patch fixed this probleam. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
2007-08-30[POWERPC] PS3: Fix bug where the major version part is not comparedMasakazu Mokuno1-1/+2
Fix the bug that the major version part of the firmware version number is ignored in the comparison done by ps3_compare_firmware_version because the difference of two 64-bit quantities is returned as an int. Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp> Acked-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-08-30[ARM] 4561/1: i.MX/MX1 GPIO parenthes omission and input setup fixPavel Pisa1-2/+3
During GPIO testing on PiMX1 board there has been revealed problem with some pins input functions. The GIUS bit has to be set for inputs to work reliably too. It is surprising that input worked on some inputs with incorrect setup before. DR is not mandatory, but it ensures stable constant level on internal traces. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-08-30[POWERPC] Update defconfigsPaul Mackerras11-1604/+699
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-08-30[POWERPC] spufs: Don't call spu_run_init from spu_reacquire_runnableAndre Detsch1-5/+1
This fixes a major bug which was happening when a SPU thread advances its execution right after being restored to a SPU. A potentially outdated NPC value was being (re)written to the SPU. So, spu_run_init, in this case, was either not doing anything relevant, or breaking the execution of the SPU thread. This fixes a common problem of losing a mailbox write when it was done to a saved context. Signed-off-by: Andre Detsch <adetsch@br.ibm.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-08-30[POWERPC] spufs: Fix update of mailbox status register during backed wbox writeArnd Bergmann1-1/+2
When a process writes into the inbound spu mailbox (wbox) while the context is saved, we accidentally break the contents of the mb_stat_R register by clearing other entries of the mailbox status register. This can cause the user side to hang. This change fixes the problem by only altering the appropriate bits of the mailbox status register during a backing-store write. Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-08-30Input: psmouse - make dummy touchkit_ps2_detect() staticAdrian Bunk1-1/+2
The dummy touchkit_ps2_detect() for the CONFIG_MOUSE_PS2_TOUCHKIT=n case shouldn't be a global function. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30Input: gscps2 - convert to use kzallocMariusz Kozlowski1-4/+2
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30Input: iforce - fix 'unused variable' warningAndrew Morton1-4/+4
drivers/input/joystick/iforce/iforce-packets.c: In function `iforce_get_id_packet': drivers/input/joystick/iforce/iforce-packets.c:249: warning: unused variable `status' Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30Input: i8042 - fix retrun value of i8042_aux_test_irqFernando Luis Vázquez Cao1-1/+3
We should not return IRQ_HANDLED if we didn't handle the interrupt. Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30[POWERPC] spu_manage: fix spu_unit_number for celleb device treeChristian Krafft1-0/+8
This fixes a regression introduced with 2.6.23-rc4 after on some confusion about the device tree interfaces. IBM QS21 device trees provide "physical-id", so we changed the code to run on that and remain compatible with all IBM machines. However, the Toshiba Celleb device tree provides the "unit-id" property, which was in the Linux code, but never used in this way on IBM hardware. Legacy device tree used the reg property for the physical id of an spe. This patch fixes find_spu_unit_number to look for the spu id in that order. The length is checked to avoid misinterpretation in case the attributes unit-id or reg do not contain the id. Signed-off-by: Christian Krafft <krafft@de.ibm.com> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Cc: Jeremy Kerr <jk@ozlabs.org>
2007-08-30[POWERPC] Update defconfigsKumar Gala20-2661/+2131
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-08-29SCTP: Assign stream sequence numbers to the entire messageVlad Yasevich1-12/+23
Currently we only assign the sequence number to a packet that we are about to transmit. This however breaks the Partial Reliability extensions, because it's possible for us to never transmit a packet, i.e. it expires before we get to send it. In such cases, if the message contained multiple SCTP fragments, and we did manage to send the first part of the message, the Stream sequence numbers would get into invalid state and cause receiver to stall. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
2007-08-29SCTP: properly clean up fragment and ordering queues during FWD-TSN.Vlad Yasevich3-13/+66
When we recieve a FWD-TSN (meaning the peer has abandoned the data), we need to clean up any partially received messages that may be hanging out on the re-assembly or re-ordering queues. This is a MUST requirement that was not properly done before. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com.>
2007-08-29msi-laptop: replace ',' with ';'Jonathan Woithe1-1/+1
Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au> Signed-off-by: Len Brown <len.brown@intel.com>
2007-08-29[POWERPC] Flush registers to proper task contextKumar Gala1-3/+3
When we flush register state for FP, Altivec, or SPE in flush_*_to_thread we need to respect the task_struct that the caller has passed to us. Most cases we are called with current, however sometimes (ptrace) we may be passed a different task_struct. This showed up when using gdbserver debugging a simple program that used floating point. When gdb tried to show the FP regs they all showed up as 0, because the child's FP registers were never properly flushed to memory. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-08-29[IA64] Clear pending interrupts at CPU boot up timeKenji Kaneshige1-0/+5
The pending interrupts can be remaining at boot up time on some platform. This will cause spurious interrupts when interrupt is enabled for the first time. This patch clears IVR at the CPU initialization to eliminate such spurious interrupts. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-08-29[IA64] Fix unexpected interrupt vector handlingKenji Kaneshige1-6/+22
Fix handling for spurious interrupts not being mapped to any IRQs. Currently, spurious interrupts that are not mapped to any IRQs are handled as IRQ 15 (== IA64_SPURIOUS_VECTOR). But it is not proper because vector != irq. We need special handlings for such spurious interrupts not being mapped to any IRQs. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-08-29[PKTGEN]: Fix multiqueue oops.Robert Olsson1-2/+3
Initially pkt_dev can be NULL this causes netif_subqueue_stopped to oops. The patch below should cure it. But maybe the pktgen TX logic should be reworked to better support the new multiqueue support. Signed-off-by: Robert Olsson <robert.olsson@its.uu.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-29[BNX2]: Add write posting comment.Michael Chan1-0/+4
Add comment to explain why we cannot read back after chip reset before delaying. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-29[ARM] 4557/1: Fix PXA irq gpio initializationSamuel1-1/+1
As pointed out by Jrgen, we are overflowing the number of GPIOs in pxa_init_irq_gpio(). I'm seeing the same problem on my HTC Universal PXA270 based PDA. According to Eric, the function argument is the number of GPIOs, so we should keep the semantics and reduce the number of iteration by 1. Signed-off-by: Samuel Ortiz <sameo@openedhand.com> Acked-by: Jrgen Schindele <linux@schindele.name> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-08-29[BNX2]: Use msleep().Arjan van de Ven1-4/+2
bnx2.c (incorrectly) sets current->state directly to TASK_UNINTERRUPTIBLE, without going through set_task_state(). However all the code wants to do is an msleep so just make it do that instead... Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Acked-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-29ACPI: (more) delete CONFIG_ACPI_PROCFS_SLEEP (again)Christian Borntraeger1-5/+5
Commit 2bcf9dddeb8e79a4ba55bf191533f70f39ce ('ACPI: delete CONFIG_ACPI_PROCFS_SLEEP (again)') was incomplete. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Len Brown <len.brown@intel.com>
2007-08-28sched: clean up task_new_fair()Ingo Molnar1-3/+3
cleanup: we have the 'se' and 'curr' entity-pointers already, no need to use p->se and current->se. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Mike Galbraith <efault@gmx.de>
2007-08-28sched: small schedstat fixIngo Molnar1-1/+3
small schedstat fix: the cfs_rq->wait_runtime 'sum of all runtimes' statistics counters missed newly forked tasks and thus had a constant negative skew. Fix this. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Mike Galbraith <efault@gmx.de>
2007-08-28sched: fix wait_start_fair condition in update_stats_wait_end()Ingo Molnar1-0/+3
Peter Zijlstra noticed the following bug in SCHED_FEAT_SKIP_INITIAL (which is disabled by default at the moment): it relies on se.wait_start_fair being 0 while update_stats_wait_end() did not recognize a 0 value, so instead of 'skipping' the initial interval we gave the new child a maximum boost of +runtime-limit ... (No impact on the default kernel, but nice to fix for completeness.) Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Mike Galbraith <efault@gmx.de>
2007-08-28sched: call update_curr() in task_tick_fair()Ting Yang1-2/+3
update the fair-clock before using it for the key value. [ mingo@elte.hu: small cleanups. ] Signed-off-by: Ting Yang <tingy@cs.umass.edu> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
2007-08-28sched: make the scheduler converge to the ideal latencyIngo Molnar3-4/+24
de-HZ-ification of the granularity defaults unearthed a pre-existing property of CFS: while it correctly converges to the granularity goal, it does not prevent run-time fluctuations in the range of [-gran ... 0 ... +gran]. With the increase of the granularity due to the removal of HZ dependencies, this becomes visible in chew-max output (with 5 tasks running): out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40 out: 27 . 27. 32 | flu: 0 . 0 | ran: 17 . 13 | per: 44 . 40 out: 27 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 36 . 40 out: 29 . 27. 32 | flu: 2 . 0 | ran: 17 . 13 | per: 46 . 40 out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40 out: 29 . 27. 32 | flu: 0 . 0 | ran: 18 . 13 | per: 47 . 40 out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40 average slice is the ideal 13 msecs and the period is picture-perfect 40 msecs. But the 'ran' field fluctuates around 13.33 msecs and there's no mechanism in CFS to keep that from happening: it's a perfectly valid solution that CFS finds. to fix this we add a granularity/preemption rule that knows about the "target latency", which makes tasks that run longer than the ideal latency run a bit less. The simplest approach is to simply decrease the preemption granularity when a task overruns its ideal latency. For this we have to track how much the task executed since its last preemption. ( this adds a new field to task_struct, but we can eliminate that overhead in 2.6.24 by putting all the scheduler timestamps into an anonymous union. ) with this change in place, chew-max output is fluctuation-less all around: out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 1 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 1 | ran: 13 . 13 | per: 41 . 40 this patch has no impact on any fastpath or on any globally observable scheduling property. (unless you have sharp enough eyes to see millisecond-level ruckles in glxgears smoothness :-) Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Mike Galbraith <efault@gmx.de>
2007-08-28sched: fix sleeper bonus limitMike Galbraith1-1/+1
There is an Amarok song switch time increase (regression) under hefty load. What is happening is that sleeper_bonus is never consumed, and only rarely goes below runtime_limit, so for the most part, Amarok isn't getting any bonus at all. We're keeping sleeper_bonus right at runtime_limit (sched_latency == sched_runtime_limit == 40ms) forever, ie we don't consume if we're lower that that, and don't add if we're above it. One Amarok thread waking (or anybody else) will push us past the threshold, so the next thread waking gets nada, but will reap pain from the previous thread waking until we drop back to runtime_limit. It looks to me like under load, some random task gets a bonus, and everybody else pays, whether deserving or not. This diff fixed the regression for me at any load rate. Signed-off-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
2007-08-28Linux 2.6.23-rc4v2.6.23-rc4Linus Torvalds1-2/+2
2007-08-28dm-mpath-rdac: don't stomp on a requests transfer bitAndrew Vasquez1-1/+1
Without this, we get qla2xxx complaining about "ISP System Error". What's happening here is the firmware is detecting a Xfer-ready from the storage when in fact the data-direction for a mode-select should be a write (DATA_OUT). The following patch fixes the problem (typo). Verified by Brian, as well. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Verified-by: Brian De Wolf <bldewolf@csupomona.edu> Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-28Merge branch 'master' of ↵Linus Torvalds10-30/+87
master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC32]: Make flush_tlb_kernel_range() an inline function. [SERIAL]: Fix 32-bit warnings in sunzilog.c and sunsu.c [SPARC32]: Kill unused vars and macros from prom/console.c [SPARC32]: Add __cmpdi2() libcall implementation ala. MIPS. [VIDEO]: Do not prom_halt() in cg3 and bw2 device probe. [SUNVDC]: Use slice 0xff on VD_DISK_TYPE_DISK.
2007-08-28Merge branch 'master' of ↵Linus Torvalds18-41/+70
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [NET]: Mark Paul Moore as maintainer of labelled networking. [VLAN/BRIDGE]: Fix "skb_pull_rcsum - Fatal exception in interrupt" [ISDN]: Get rid of some pointless allocation casts in common and bsd comp. [NET]: Avoid pointless allocation casts in BSD compression module [IRDA]: Do not do pointless kmalloc return value cast in KingSun driver [NET]: Fix crash in dev_mc_sync()/dev_mc_unsync() [PPPOL2TP]: Fix endianness annotations. [IOAT]: ioatdma needs to to play nice in a multi-dma-client world [SLIP]: trivial sparse warning fix [EQL]: sparse warning fix [NET]: is_power_of_2 in net/core/neighbour.c [TCP]: Describe tcp_init_cwnd() thoroughly in a comment. [NET]: Fix IP_ADD/DROP_MEMBERSHIP to handle only connectionless [KBUILD]: Sanitize tc_ematch headers. [IPSEC] AH4: Update IPv4 options handling to conform to RFC 4302.
2007-08-28[patch 1/2] Xtensa: enable arbitary tty speed setting ioctlsAlan Cox3-3/+12
Adding the defines/constants activates the existing code in the tty layer and allows arbitary tty speeds to be requested on this platform Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[patch 2/2] xtensa console.c: remove duplicate #includeFrederik Deweerdt1-1/+0
This patch removes one of the two linux/console.h included in arch/xtensa/platform-iss/console.c Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Add support for cache-aliasingChris Zankel14-414/+816
Add support for processors that have cache-aliasing issues, such as the Stretch S5000 processor. Cache-aliasing means that the size of the cache (for one way) is larger than the page size, thus, a page can end up in several places in cache depending on the virtual to physical translation. The method used here is to map a user page temporarily through the auto-refill way 0 and of of the DTLB. We probably will want to revisit this issue and use a better approach with kmap/kunmap. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Add kernel module supportChris Zankel2-18/+227
Add kernel module support. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Add support for executable/non-executable feature in the mmuChris Zankel2-126/+129
Newer processor versions starting with Xtensa6/LX2 support an 'executable' bit for memory pages. This bit replaces the 'valid' bit, so it must be always set to one for older processor versions. To mark a page invalid, we now set the cache-attributes to b11, which is backward compatible. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Use the generic version of get_orderChris Zankel1-28/+22
Use the generic version of get_order for processor configurations that don't have the 'nsa/nsau' instructions. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Initialize semaphore_wake_lockChris Zankel1-1/+1
Initialize semaphore_wake_lock. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Add typecast macro for constantsChris Zankel2-1/+10
Add macros (__XTENSA_UL and __XTENSA_UL_CONST) for typecasting constants. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Fix timer instabilities.Chris Zankel2-19/+31
The timer code could have missed a tick. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Fix fadvise64_64Chris Zankel3-1/+8
Xtensa passes long long arguments in a even/odd register pair, so we also need to shuffle the arguments when passed through the system call to avoid an empty argument register. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Remove extraneous include statementChris Zankel1-5/+1
We don't need to include processor.h in bug.h. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Move string-io functions to io.c from pci.cChris Zankel3-70/+76
The string-io functions (outs{bwl}, ins{bwl}) are independent from the PCI option and should be in a separate file. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Move pre-initialized structures to init_task.cChris Zankel3-15/+40
Move all initialization structures for the initial task to it's own file. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Add freestanding option to CFLAGSChris Zankel1-1/+6
We also need to set the freestanding option for GCC in the CFLAGS. Signed-off-by: Chris Zankel <chris@zankel.net>
2007-08-28[XTENSA] Add getpgrp system-call to unistd.hChris Zankel1-2/+2
Although __ARCH_WANT_SYS_GETPGRP was defined, the actualy entry for the getpgrp system-call was missing. Signed-off-by: Chris Zankel <chris@zankel.net>