openwrt/staging/blogic.git
18 years ago[PATCH] m32r: Fix pt_regs for !COFNIG_ISA_DSP_LEVEL2 target
Hirokazu Takata [Wed, 19 Apr 2006 05:21:20 +0000 (22:21 -0700)]
[PATCH] m32r: Fix pt_regs for !COFNIG_ISA_DSP_LEVEL2 target

This modification is required to fix debugging function for m32r targets
with !CONFIG_ISA_DSP_LEVEL2, by unifying 'struct pt_regs' and 'struct
sigcontext' size for all M32R ISA.

Some m32r processor core with !CONFIG_ISA_DSP_LEVEL2 configuration has only
single accumulator a0 (ex.  VDEC2 core, M32102 core, etc.), the others with
CONFIG_ISA_DSP_LEVEL2 has two accumulators, a0 and a1.

This means there are two variations of thread context.  So far, we reduced
and changed stackframe size at a syscall for their context size.  However,
this causes a problem that a GDB for processors with CONFIG_ISA_DSP_LEVEL2
cannot be used for processors with !CONFIG_ISA_DSP_LEVEL2.

From the viewpoint of GDB support, we should reduce such variation of
stackframe size for simplicity.

In this patch, dummy members are added to 'struct pt_regs' and 'struct
sigcontext' to adjust their size for !CONFIG_ISA_DSP_LEVEL2.

This modification is also a one step for a GDB update in future.
Currently, on the m32r, GDB can access process's context by using ptrace
functions in a simple way of register by register access.  By unifying
stackframe size, we have a possibility to make use of ptrace functions of
not only a single register access but also block register access,
PTRACE_{GETREGS,PUTREGS}.

However, for this purpose, we might have to modify stackframe structure
some more; for example, PSW (processor status word) register should be
pre-processed before pushing to stack at a syscall, and so on.  In this
case, we must update carefully both kernel and GDB at a time...

Signed-off-by: Hayato Fujiwara <fujiwara@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Cc: Kei Sakamoto <ksakamot@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86 cpuid and msr notifier callback section mismatches
Randy Dunlap [Wed, 19 Apr 2006 05:21:14 +0000 (22:21 -0700)]
[PATCH] x86 cpuid and msr notifier callback section mismatches

Fix section mismatch warnings in x86 cpuid and msr notifier callback
functions.  We can't have these as init (discarded) code.

WARNING: arch/x86_64/kernel/cpuid.o - Section mismatch: reference to .init.text: from .data between 'cpuid_class_cpu_notifier' (at offset 0x0) and 'cpuid_fops'
WARNING: arch/x86_64/kernel/msr.o - Section mismatch: reference to .init.text: from .data between 'msr_class_cpu_notifier' (at offset 0x0) and 'msr_fops'

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] asm-i386/atomic.h: local_irq_save should be used instead of local_irq_disable
lepton [Wed, 19 Apr 2006 05:21:10 +0000 (22:21 -0700)]
[PATCH] asm-i386/atomic.h: local_irq_save should be used instead of local_irq_disable

atomic_add_return() if CONFIG_M386 can accidentally enable local interrupts.

Signed-off-by: Lepton Wu <ytht.net@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] selinux: Fix MLS compatibility off-by-one bug
Ron Yorston [Wed, 19 Apr 2006 05:21:04 +0000 (22:21 -0700)]
[PATCH] selinux: Fix MLS compatibility off-by-one bug

Fix an off-by-one error in the MLS compatibility code that was causing
contexts with a MLS suffix to be rejected, preventing sharing partitions
between FC4 and FC5.  Bug reported in

   https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=188068

Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Acked-by: James Morris <jmorris@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] hugetlbfs: add Kconfig help text
Arthur Othieno [Wed, 19 Apr 2006 05:20:57 +0000 (22:20 -0700)]
[PATCH] hugetlbfs: add Kconfig help text

In kernel bugzilla #6248 (http://bugzilla.kernel.org/show_bug.cgi?id=6248),
Adrian Bunk <bunk@stusta.de> notes that CONFIG_HUGETLBFS is missing Kconfig
help text.

Signed-off-by: Arthur Othieno <apgo@patchbomb.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] page_alloc.c: buddy handling cleanup
Andrew Morton [Wed, 19 Apr 2006 05:20:52 +0000 (22:20 -0700)]
[PATCH] page_alloc.c: buddy handling cleanup

Fix up some whitespace damage.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] mm: fix mm_struct reference counting bugs in mm/oom_kill.c
Dave Peterson [Wed, 19 Apr 2006 05:20:44 +0000 (22:20 -0700)]
[PATCH] mm: fix mm_struct reference counting bugs in mm/oom_kill.c

Fix oom_kill_task() so it doesn't call mmput() (which may sleep) while
holding tasklist_lock.

Signed-off-by: David S. Peterson <dsp@llnl.gov>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] oom-kill: mm locking fix
Andrew Morton [Wed, 19 Apr 2006 05:20:38 +0000 (22:20 -0700)]
[PATCH] oom-kill: mm locking fix

Dave Peterson <dsp@llnl.gov> points out that badness() is playing with
mm_structs without taking a reference on them.

mmput() can sleep, so taking a reference here (inside tasklist_lock) is
hard.  Fix it up via task_lock() instead.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] mm/slob.c: for_each_possible_cpu(), not NR_CPUS
John Hawkes [Wed, 19 Apr 2006 05:20:33 +0000 (22:20 -0700)]
[PATCH] mm/slob.c: for_each_possible_cpu(), not NR_CPUS

Convert for-loops that explicitly reference "NR_CPUS" into the
potentially more efficient for_each_possible_cpu() construct.

Signed-off-by: John Hawkes <hawkes@sgi.com>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] swsusp: prevent possible image corruption on resume
Rafael J. Wysocki [Wed, 19 Apr 2006 05:20:29 +0000 (22:20 -0700)]
[PATCH] swsusp: prevent possible image corruption on resume

The function free_pagedir() used by swsusp for freeing its internal data
structures clears the PG_nosave and PG_nosave_free flags for each page
being freed.

However, during resume PG_nosave_free set means that the page in
question is "unsafe" (ie.  it will be overwritten in the process of
restoring the saved system state from the image), so it should not be
used for the image data.

Therefore free_pagedir() should not clear PG_nosave_free if it's called
during resume (otherwise "unsafe" pages freed by it may be used for
storing the image data and the data may get corrupted later on).

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] m41t00: fix bitmasks when writing to chip
David Barksdale [Wed, 19 Apr 2006 05:20:27 +0000 (22:20 -0700)]
[PATCH] m41t00: fix bitmasks when writing to chip

Fix the bitmasks used when writing to the M41T00 registers.

The original code used a mask of 0x7f when writing to each register,
this is incorrect and probably the result of a copy-paste error.  As a
result years from 1980 to 1999 will be read back as 2000 to 2019.

Signed-off-by: David Barksdale <amatus@ocgnet.org>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] uml: MADV_REMOVE fixes
Jeff Dike [Wed, 19 Apr 2006 05:20:24 +0000 (22:20 -0700)]
[PATCH] uml: MADV_REMOVE fixes

MADV_REMOVE fixes - change the test mapping to be MAP_SHARED instead of
MAP_PRIVATE, as MADV_REMOVE on MAP_PRIVATE maps won't work.  Also, use
the kernel's definition of MADV_REMOVE instead of hardcoding it if there
isn't a libc definition.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] for_each_possible_cpu: x86_64
KAMEZAWA Hiroyuki [Wed, 19 Apr 2006 05:20:21 +0000 (22:20 -0700)]
[PATCH] for_each_possible_cpu: x86_64

for_each_cpu() actually iterates across all possible CPUs.  We've had
mistakes in the past where people were using for_each_cpu() where they
should have been iterating across only online or present CPUs.  This is
inefficient and possibly buggy.

We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this
in the future.

This patch replaces for_each_cpu with for_each_possible_cpu.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Acked-by: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] task: Make task list manipulations RCU safe
Eric W. Biederman [Wed, 19 Apr 2006 05:20:16 +0000 (22:20 -0700)]
[PATCH] task: Make task list manipulations RCU safe

While we can currently walk through thread groups, process groups, and
sessions with just the rcu_read_lock, this opens the door to walking the
entire task list.

We already have all of the other RCU guarantees so there is no cost in
doing this, this should be enough so that proc can stop taking the
tasklist lock during readdir.

prev_task was killed because it has no users, and using it will miss new
tasks when doing an rcu traversal.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] uml: make 64-bit COW files compatible with 32-bit ones
Paolo 'Blaisorblade' Giarrusso [Wed, 19 Apr 2006 05:20:13 +0000 (22:20 -0700)]
[PATCH] uml: make 64-bit COW files compatible with 32-bit ones

This is the minimal fix to make 64-bit UML binaries create 32-bit
compatible COW files and read them.

I've indeed tested that current code doesn't do this - the code gets
SIGFPE for a division by a value read at the wrong place, where 0 is
found.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoLinux v2.6.17-rc2
Linus Torvalds [Wed, 19 Apr 2006 03:00:49 +0000 (20:00 -0700)]
Linux v2.6.17-rc2

18 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Wed, 19 Apr 2006 02:49:42 +0000 (19:49 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (47 commits)
  [MAINTAINERS] The ham radio code now has website at http://www.linux-ax25.org.
  [MIPS] Use __ffs() instead of ffs() for waybit calculation.
  [MIPS] Fix Makefile bugs for MIPS32/MIPS64 R1 and R2.
  [MIPS] Handle IDE PIO cache aliases on SMP.
  [MIPS] Make mips_srs_init static.
  [MIPS] MIPS boards: Set HZ to 100.
  [MIPS] kgdb: Let gcc compute the array size itself.
  [MIPS] FPU affinity for MT ASE.
  [MIPS] MT: Improved multithreading support.
  [MIPS] kpsd and other AP/SP improvements.
  [MIPS] R2: Instruction hazard barrier.
  [MIPS] Fix genrtc compilation.
  [MIPS] R2: Implement shadow register allocation without spinlock.
  [MIPS] Fix VR41xx build errors.
  [MIPS] Fix tx49_blast_icache32_page_indexed.
  [MIPS] Enable SCHED_NO_NO_OMIT_FRAME_POINTER for MIPS.
  [MIPS] Use "R" constraint for cache_op.
  [MIPS] Rewrite all the assembler interrupt handlers to C.
  [MIPS] Fix the crime against humanity that mipsIRQ.S is.
  [MIPS] Fixup damage done by 22a9835c350782a5c3257343713932af3ac92ee0.
  ...

18 years ago[MAINTAINERS] The ham radio code now has website at http://www.linux-ax25.org.
Ralf Baechle [Wed, 19 Apr 2006 02:14:30 +0000 (04:14 +0200)]
[MAINTAINERS] The ham radio code now has website at linux-ax25.org.

18 years ago[MIPS] Use __ffs() instead of ffs() for waybit calculation.
Atsushi Nemoto [Fri, 7 Apr 2006 16:33:31 +0000 (01:33 +0900)]
[MIPS] Use __ffs() instead of ffs() for waybit calculation.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix Makefile bugs for MIPS32/MIPS64 R1 and R2.
Ralf Baechle [Wed, 5 Apr 2006 23:44:25 +0000 (00:44 +0100)]
[MIPS] Fix Makefile bugs for MIPS32/MIPS64 R1 and R2.

This fixes kernel builds with gcc 3.2 (not 64-bit, that is looking like
it is beyond recovery) and 3.3.  With these bugs fixed we now also can
get undo 3b4c4996a0c24da9e6f8be764e3950b756b18cc0 and similar bits for
SMTC that were added in 79cc8007b93838a670b164b8a55ab3e735a12a8b.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Handle IDE PIO cache aliases on SMP.
Ralf Baechle [Wed, 5 Apr 2006 19:42:04 +0000 (20:42 +0100)]
[MIPS] Handle IDE PIO cache aliases on SMP.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Make mips_srs_init static.
Ralf Baechle [Wed, 5 Apr 2006 08:45:49 +0000 (09:45 +0100)]
[MIPS] Make mips_srs_init static.

Nothing outside traps.c uses it.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] MIPS boards: Set HZ to 100.
Ralf Baechle [Wed, 5 Apr 2006 08:45:48 +0000 (09:45 +0100)]
[MIPS] MIPS boards: Set HZ to 100.

1000Hz will bring an FPGA CPU down on it's knees and it's even worse on
multithreaded cores.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] kgdb: Let gcc compute the array size itself.
Ralf Baechle [Wed, 5 Apr 2006 08:45:48 +0000 (09:45 +0100)]
[MIPS] kgdb: Let gcc compute the array size itself.

This is the same method as used in the serial driver.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] FPU affinity for MT ASE.
Ralf Baechle [Wed, 5 Apr 2006 08:45:47 +0000 (09:45 +0100)]
[MIPS] FPU affinity for MT ASE.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] MT: Improved multithreading support.
Ralf Baechle [Wed, 5 Apr 2006 08:45:45 +0000 (09:45 +0100)]
[MIPS] MT: Improved multithreading support.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] kpsd and other AP/SP improvements.
Ralf Baechle [Wed, 5 Apr 2006 08:45:45 +0000 (09:45 +0100)]
[MIPS] kpsd and other AP/SP improvements.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] R2: Instruction hazard barrier.
Ralf Baechle [Wed, 5 Apr 2006 08:45:45 +0000 (09:45 +0100)]
[MIPS] R2: Instruction hazard barrier.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix genrtc compilation.
Ralf Baechle [Tue, 4 Apr 2006 15:59:37 +0000 (16:59 +0100)]
[MIPS] Fix genrtc compilation.

Signed-off-by: Ralf Roesch <ralf.roesch@rw-gmbh.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] R2: Implement shadow register allocation without spinlock.
Ralf Baechle [Tue, 4 Apr 2006 14:09:06 +0000 (15:09 +0100)]
[MIPS] R2: Implement shadow register allocation without spinlock.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix VR41xx build errors.
Yoichi Yuasa [Tue, 4 Apr 2006 11:48:47 +0000 (20:48 +0900)]
[MIPS] Fix VR41xx build errors.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
18 years ago[MIPS] Fix tx49_blast_icache32_page_indexed.
Atsushi Nemoto [Tue, 4 Apr 2006 08:34:14 +0000 (17:34 +0900)]
[MIPS] Fix tx49_blast_icache32_page_indexed.

Fix the cache index value in tx49_blast_icache32_page_indexed().
This is a damage by de62893bc0725f8b5f0445250577cd7a10b2d8f8 commit.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Enable SCHED_NO_NO_OMIT_FRAME_POINTER for MIPS.
Atsushi Nemoto [Tue, 4 Apr 2006 04:11:45 +0000 (13:11 +0900)]
[MIPS] Enable SCHED_NO_NO_OMIT_FRAME_POINTER for MIPS.

MIPS get_wchan() no longer requires -fno-omit-frame-pointer.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Use "R" constraint for cache_op.
Ralf Baechle [Mon, 3 Apr 2006 22:32:39 +0000 (23:32 +0100)]
[MIPS] Use "R" constraint for cache_op.

Gcc might emit an absolute address for the the "m" constraint which
gas unfortunately does not permit.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Rewrite all the assembler interrupt handlers to C.
Ralf Baechle [Mon, 3 Apr 2006 16:56:36 +0000 (17:56 +0100)]
[MIPS] Rewrite all the assembler interrupt handlers to C.

Saves like 1,600 lines of code, is way easier to debug, compilers
frequently do a better job than the cut and paste type of handlers many
boards had.  And finally having all the stuff done in a single place
also means alot of bug potencial for the MT ASE is gone.

The only surviving handler in assembler is the DECstation one; I hope
Maciej will rewrite it.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix the crime against humanity that mipsIRQ.S is.
Ralf Baechle [Mon, 3 Apr 2006 12:17:41 +0000 (13:17 +0100)]
[MIPS] Fix the crime against humanity that mipsIRQ.S is.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fixup damage done by 22a9835c350782a5c3257343713932af3ac92ee0.
Ralf Baechle [Mon, 3 Apr 2006 13:44:50 +0000 (14:44 +0100)]
[MIPS] Fixup damage done by 22a9835c350782a5c3257343713932af3ac92ee0.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Replace redundant declarations of _end by <asm/sections.h>.
Ralf Baechle [Mon, 3 Apr 2006 09:17:21 +0000 (10:17 +0100)]
[MIPS] Replace redundant declarations of _end by <asm/sections.h>.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] JMR3927 build fixes for the RTC code.
Ralf Baechle [Sun, 2 Apr 2006 23:21:30 +0000 (00:21 +0100)]
[MIPS] JMR3927 build fixes for the RTC code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] EV96100: ev96100_cpu_irq needs a struct pt_regs argument.
Ralf Baechle [Sun, 2 Apr 2006 21:17:09 +0000 (22:17 +0100)]
[MIPS] EV96100: ev96100_cpu_irq needs a struct pt_regs argument.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] EV96100: Fix over two year old typo in variable name.
Ralf Baechle [Sun, 2 Apr 2006 21:07:36 +0000 (22:07 +0100)]
[MIPS] EV96100: Fix over two year old typo in variable name.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Ocelot 3: Fix build errors after the recent move of Marvell headers.
Ralf Baechle [Sun, 2 Apr 2006 17:43:09 +0000 (18:43 +0100)]
[MIPS] Ocelot 3: Fix build errors after the recent move of Marvell headers.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] MV6434x: Add prototype of interrupt dispatch function.
Ralf Baechle [Sun, 2 Apr 2006 17:06:43 +0000 (18:06 +0100)]
[MIPS] MV6434x: Add prototype of interrupt dispatch function.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] it8172: Fix build of serial driver.
Ralf Baechle [Sun, 2 Apr 2006 12:48:57 +0000 (13:48 +0100)]
[MIPS] it8172: Fix build of serial driver.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] ITE: Glue build.
Ralf Baechle [Sun, 2 Apr 2006 12:47:51 +0000 (13:47 +0100)]
[MIPS] ITE: Glue build.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] MV6434x: The name of the CPP symbol is __mips__, not __MIPS__.
Ralf Baechle [Sun, 2 Apr 2006 12:17:58 +0000 (13:17 +0100)]
[MIPS] MV6434x: The name of the CPP symbol is __mips__, not __MIPS__.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Jaguar: Fix build errors after the recent move of Marvell headers.
Ralf Baechle [Sun, 2 Apr 2006 12:16:45 +0000 (13:16 +0100)]
[MIPS] Jaguar: Fix build errors after the recent move of Marvell headers.

Some things were renamed because the PPC variant of the MV-643XX now
uses the same header and the Jaguar code didn't catch up on that.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] ITE8172: Fix build error due to missmatching prototypes.
Ralf Baechle [Sun, 2 Apr 2006 12:14:42 +0000 (13:14 +0100)]
[MIPS] ITE8172: Fix build error due to missmatching prototypes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix CONFIG_LIMITED_DMA build.
Ralf Baechle [Sun, 2 Apr 2006 12:13:19 +0000 (13:13 +0100)]
[MIPS] Fix CONFIG_LIMITED_DMA build.

This fix a build error for the Momentum Jaguar ATX eval board.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] PNX8550 build fix.
Ralf Baechle [Sat, 1 Apr 2006 20:25:28 +0000 (21:25 +0100)]
[MIPS] PNX8550 build fix.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Rewrite spurious_interrupt from assembler to C.
Ralf Baechle [Sat, 1 Apr 2006 20:17:45 +0000 (21:17 +0100)]
[MIPS] Rewrite spurious_interrupt from assembler to C.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix breakage due to the grand makefile crapectomy.
Ralf Baechle [Sat, 1 Apr 2006 19:43:58 +0000 (20:43 +0100)]
[MIPS] Fix breakage due to the grand makefile crapectomy.

It's cc-option not cc-options.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Sort out duplicate exports.
Ralf Baechle [Sat, 1 Apr 2006 06:49:52 +0000 (07:49 +0100)]
[MIPS] Sort out duplicate exports.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Wire up sync_file_range(2).
Ralf Baechle [Sat, 1 Apr 2006 06:49:21 +0000 (07:49 +0100)]
[MIPS] Wire up sync_file_range(2).

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Wire splice syscall.
Ralf Baechle [Fri, 31 Mar 2006 08:27:20 +0000 (09:27 +0100)]
[MIPS] Wire splice syscall.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] More SHT_* and SHF_* ELF definitions.
Ralf Baechle [Thu, 30 Mar 2006 20:27:47 +0000 (21:27 +0100)]
[MIPS] More SHT_* and SHF_* ELF definitions.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix vectored interrupt support in TLB exception handler generator.
Ralf Baechle [Wed, 29 Mar 2006 17:53:00 +0000 (18:53 +0100)]
[MIPS] Fix vectored interrupt support in TLB exception handler generator.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Provide access functions for c0_badvaddr.
Ralf Baechle [Wed, 29 Mar 2006 17:51:06 +0000 (18:51 +0100)]
[MIPS] Provide access functions for c0_badvaddr.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Some formatting fixes.
Ralf Baechle [Wed, 29 Mar 2006 13:12:58 +0000 (14:12 +0100)]
[MIPS] Some formatting fixes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fixup printk in mips_srs_init.
Ralf Baechle [Wed, 29 Mar 2006 13:11:22 +0000 (14:11 +0100)]
[MIPS] Fixup printk in mips_srs_init.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Remove redundant initialization of sr_allocated.
Ralf Baechle [Wed, 29 Mar 2006 13:10:09 +0000 (14:10 +0100)]
[MIPS] Remove redundant initialization of sr_allocated.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Make set_vi_srs_handler static.
Ralf Baechle [Wed, 29 Mar 2006 13:09:14 +0000 (14:09 +0100)]
[MIPS] Make set_vi_srs_handler static.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Cleanup free_initmem the same way as i386 did.
Ralf Baechle [Fri, 24 Mar 2006 13:21:50 +0000 (13:21 +0000)]
[MIPS] Cleanup free_initmem the same way as i386 did.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Added tb0287_defconfig back.
Yoichi Yuasa [Wed, 22 Mar 2006 02:22:09 +0000 (11:22 +0900)]
[MIPS] Added tb0287_defconfig back.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 19 Apr 2006 01:03:22 +0000 (18:03 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NET]: Remove redundant NULL checks before [kv]free
  unaligned access in sk_run_filter()
  [IPV6]: Clean up hop-by-hop options handler.
  [IPV6] XFRM: Fix decoding session with preceding extension header(s).
  [IPV6] XFRM: Don't use old copy of pointer after pskb_may_pull().
  [IPV6]: Ensure to have hop-by-hop options in our header of &sk_buff.
  [TCP]: Fix truesize underflow

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 19 Apr 2006 01:02:55 +0000 (18:02 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Fix dependencies of HUGETLB_PAGE_SIZE_64K

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Wed, 19 Apr 2006 01:01:47 +0000 (18:01 -0700)]
Merge /pub/scm/linux/kernel/git/davej/cpufreq

* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] powernow-k8.c: fix a check-after-use
  [CPUFREQ] Remove duplicate check in powernow-k8
  [CPUFREQ] drivers/cpufreq/cpufreq.c: static functions mustn't be exported
  [CPUFREQ] If max_freq got reduced (e.g. by _PPC) a write to sysfs scaling_governor let cpufreq core stuck at low max_freq for ever
  [CPUFREQ] x86_64: Proper null pointer check in powernow_k8_get
  [CPUFREQ] x86_64: Revert earlier powernow-k8 change
  [CPUFREQ] Update LART site URL
  [CPUFREQ] Remove pointless check in conservative governor.
  [CPUFREQ] trailing whitespace removal de-jour.
  [CPUFREQ] extra debugging in cpufreq_add_dev()

18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Wed, 19 Apr 2006 01:01:19 +0000 (18:01 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3479/1: Corgi SSP: Fix potential concurrent access problem
  [ARM] 3478/1: SharpSL SCOOP: Fix potenial build failure

18 years ago[SPARC64]: Fix dependencies of HUGETLB_PAGE_SIZE_64K
Jean-Luc Léger [Tue, 18 Apr 2006 23:19:53 +0000 (16:19 -0700)]
[SPARC64]: Fix dependencies of HUGETLB_PAGE_SIZE_64K

This patch fixes dependencies of HUGETLB_PAGE_SIZE_64K

Signed-off-by: Jean-Luc Léger <jean-luc.leger@dspnet.fr.eu.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Remove redundant NULL checks before [kv]free
Jesper Juhl [Tue, 18 Apr 2006 21:51:44 +0000 (14:51 -0700)]
[NET]: Remove redundant NULL checks before [kv]free

Redundant NULL check before kfree removal
from net/

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agounaligned access in sk_run_filter()
Dmitry Mishin [Tue, 18 Apr 2006 21:50:10 +0000 (14:50 -0700)]
unaligned access in sk_run_filter()

This patch fixes unaligned access warnings noticed on IA64
in sk_run_filter(). 'ptr' can be unaligned.

Signed-off-By: Dmitry Mishin <dim@openvz.org>
Signed-off-By: Kirill Korotaev <dev@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Clean up hop-by-hop options handler.
YOSHIFUJI Hideaki [Tue, 18 Apr 2006 21:48:45 +0000 (14:48 -0700)]
[IPV6]: Clean up hop-by-hop options handler.

- Removed unused argument (nhoff) for ipv6_parse_hopopts().
- Make ipv6_parse_hopopts() to align with other extension header
  handlers.
- Removed pointless assignment (hdr), which is not used afterwards.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6] XFRM: Fix decoding session with preceding extension header(s).
YOSHIFUJI Hideaki [Tue, 18 Apr 2006 21:47:44 +0000 (14:47 -0700)]
[IPV6] XFRM: Fix decoding session with preceding extension header(s).

We did not correctly decode session with preceding extension
header(s).  This was because we had already pulled preceding
headers, skb->nh.raw + 40 + 1 - skb->data was minus, and
pskb_may_pull() failed.

We now have IP6CB(skb)->nhoff and skb->h.raw, and we can
start parsing / decoding upper layer protocol from current
position.

Tracked down by Noriaki TAKAMIYA <takamiya@po.ntts.co.jp>
and tested by Kazunori Miyazawa <kazunori@miyazawa.org>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6] XFRM: Don't use old copy of pointer after pskb_may_pull().
YOSHIFUJI Hideaki [Tue, 18 Apr 2006 21:46:52 +0000 (14:46 -0700)]
[IPV6] XFRM: Don't use old copy of pointer after pskb_may_pull().

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Ensure to have hop-by-hop options in our header of &sk_buff.
YOSHIFUJI Hideaki [Tue, 18 Apr 2006 21:46:26 +0000 (14:46 -0700)]
[IPV6]: Ensure to have hop-by-hop options in our header of &sk_buff.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TCP]: Fix truesize underflow
Herbert Xu [Tue, 18 Apr 2006 20:24:14 +0000 (13:24 -0700)]
[TCP]: Fix truesize underflow

There is a problem with the TSO packet trimming code.  The cause of
this lies in the tcp_fragment() function.

When we allocate a fragment for a completely non-linear packet the
truesize is calculated for a payload length of zero.  This means that
truesize could in fact be less than the real payload length.

When that happens the TSO packet trimming can cause truesize to become
negative.  This in turn can cause sk_forward_alloc to be -n * PAGE_SIZE
which would trigger the warning.

I've copied the code DaveM used in tso_fragment which should work here.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[CPUFREQ] powernow-k8.c: fix a check-after-use
Adrian Bunk [Tue, 18 Apr 2006 22:07:28 +0000 (00:07 +0200)]
[CPUFREQ] powernow-k8.c: fix a check-after-use

This patch fixes a check-after-use introduced by commit
4211a30349e8d2b724cfb4ce2584604f5e59c299 and spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] Remove duplicate check in powernow-k8
Tobias Klauser [Mon, 10 Apr 2006 17:20:12 +0000 (19:20 +0200)]
[CPUFREQ] Remove duplicate check in powernow-k8

Remove a duplicate NULL pointer check introduced by commit
4211a30349e8d2b724cfb4ce2584604f5e59c299

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] drivers/cpufreq/cpufreq.c: static functions mustn't be exported
Adrian Bunk [Tue, 18 Apr 2006 15:06:13 +0000 (17:06 +0200)]
[CPUFREQ] drivers/cpufreq/cpufreq.c: static functions mustn't be exported

This patch removes the EXPORT_SYMBOL_GPL of the static function cpufreq_parse_governor().

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] If max_freq got reduced (e.g. by _PPC) a write to sysfs scaling_governor...
Thomas Renninger [Thu, 13 Apr 2006 13:14:04 +0000 (15:14 +0200)]
[CPUFREQ] If max_freq got reduced (e.g. by _PPC) a write to sysfs scaling_governor let cpufreq core stuck at low max_freq for ever

The previous patch had bugs (locking and refcount).

This one could also be related to the latest DELL reports.
But they only slip into this if a user prog (e.g. powersave daemon does when
AC got (un) plugged due to a scheme change) echos something to
/sys/../cpufreq/scaling_governor
while the frequencies got limited by BIOS.

This one works:

Subject: Max freq stucks at low freq if reduced by _PPC and sysfs gov access

The problem is reproducable by(if machine is limiting freqs via BIOS):
 - Unplugging AC -> max freq gets limited
 - echo ${governor} >/sys/.../cpufreq/scaling_governor (policy->user_data.max
   gets overridden with policy->max and will never come up again.)

This patch exchanged the cpufreq_set_policy call to __cpufreq_set_policy and
duplicated it's functionality but did not override user_data.max.
The same happens with overridding min/max values. If freqs are limited and
you override the min freq value, the max freq global value will also get
stuck to the limited freq, even if BIOS allows all freqs again.
Last scenario does only happen if BIOS does not reduce the frequency
to the lowest value (should never happen, just for correctness...)

 drivers/cpufreq/cpufreq.c |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years agoMerge ../linus
Dave Jones [Tue, 18 Apr 2006 22:19:55 +0000 (17:19 -0500)]
Merge ../linus

18 years ago[ARM] 3479/1: Corgi SSP: Fix potential concurrent access problem
Richard Purdie [Tue, 18 Apr 2006 22:18:54 +0000 (23:18 +0100)]
[ARM] 3479/1: Corgi SSP: Fix potential concurrent access problem

Patch from Richard Purdie

corgi_ssp_probe() should not access GPDR directly but should use
pxa_gpio_mode() which has appropriate locking and other safeguards.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3478/1: SharpSL SCOOP: Fix potenial build failure
Richard Purdie [Tue, 18 Apr 2006 22:18:53 +0000 (23:18 +0100)]
[ARM] 3478/1: SharpSL SCOOP: Fix potenial build failure

Patch from Richard Purdie

Move platform_scoop_config from the SharpSL scoop PCMCIA driver to
the SCOOP driver. This avoids build failures when PCMCIA is not built
or is modular (scoop.c itself cannot be modular).

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years agox86: be careful about tailcall breakage for sys_open[at] too
Linus Torvalds [Tue, 18 Apr 2006 20:22:59 +0000 (13:22 -0700)]
x86: be careful about tailcall breakage for sys_open[at] too

Came up through a quick grep for other cases similar to the ftruncate()
one in commit 0a489cb3b6a7b277030cdbc97c2c65905db94536.

Also, add a comment, so that people who read the code understand why we
do what looks like a no-op.

(Again, this won't actually matter to any sane user, since libc will
save and restore the register gcc stomps on, but it's still wrong to
stomp on it)

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agox86: don't allow tail-calls in sys_ftruncate[64]()
Linus Torvalds [Tue, 18 Apr 2006 20:02:48 +0000 (13:02 -0700)]
x86: don't allow tail-calls in sys_ftruncate[64]()

Gcc thinks it owns the incoming argument stack, but that's not true for
"asmlinkage" functions, and it corrupts the caller-set-up argument stack
when it pushes the third argument onto the stack.  Which can result in
%ebx getting corrupted in user space.

Now, normally nobody sane would ever notice, since libc will save and
restore %ebx anyway over the system call, but it's still wrong.

I'd much rather have "asmlinkage" tell gcc directly that it doesn't own
the stack, but no such attribute exists, so we're stuck with our hacky
manual "prevent_tail_call()" macro once more (we've had the same issue
before with sys_waitpid() and sys_wait4()).

Thanks to Hans-Werner Hilse <hilse@sub.uni-goettingen.de> for reporting
the issue and testing the fix.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Tue, 18 Apr 2006 17:49:11 +0000 (10:49 -0700)]
Merge branch 'drm-patches' of git://git./linux/kernel/git/airlied/drm-2.6

* 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm: Fix further issues in drivers/char/drm/via_irq.c
  drivers/char/drm/drm_memory.c: possible cleanups
  drm: deline a few large inlines in DRM code
  drm: remove master setting from add/remove context
  drm: drm_pci needs dma-mapping.h
  [PATCH] drm: Fix issue reported by Coverity in drivers/char/drm/via_irq.c

18 years ago[PATCH] i386: Move CONFIG_DOUBLEFAULT into arch/i386 where it belongs.
Andi Kleen [Tue, 18 Apr 2006 10:35:22 +0000 (12:35 +0200)]
[PATCH] i386: Move CONFIG_DOUBLEFAULT into arch/i386 where it belongs.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Add tee and sync_file_range
Andi Kleen [Tue, 18 Apr 2006 10:35:19 +0000 (12:35 +0200)]
[PATCH] x86_64: Add tee and sync_file_range

tee was already there for some reason for native 64bit, but
sys_sync_file_range was missing. Also add it to the compat layer.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Increase NUMA hash function nodemap
Andi Kleen [Tue, 18 Apr 2006 10:35:16 +0000 (12:35 +0200)]
[PATCH] x86_64: Increase NUMA hash function nodemap

Needed for some big Opteron systems to compute a numa hash function
They have more than 12 bits significant address.

TBD switch this over to dynamic allocation or use better hash

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: x86_64 add crashdump trigger points
Vivek Goyal [Tue, 18 Apr 2006 10:35:13 +0000 (12:35 +0200)]
[PATCH] x86_64: x86_64 add crashdump trigger points

o Start booting into the capture kernel after an Oops if system is in a
  unrecoverable state. System will boot into the capture kernel, if one is
  pre-loaded by the user, and capture the kernel core dump.

o One of the following conditions should be true to trigger the booting of
  capture kernel.
        - panic_on_oops is set.
        - pid of current thread is 0
        - pid of current thread is 1
        - Oops happened inside interrupt context.

Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i386/x86-64: Fix ACPI disabled LAPIC handling mismerge
Andi Kleen [Tue, 18 Apr 2006 10:35:10 +0000 (12:35 +0200)]
[PATCH] i386/x86-64: Fix ACPI disabled LAPIC handling mismerge

The patch I submitted earlier to fix disabled LAPIC handling in ACPI
was mismerged for some reason I still don't quite understand. Parts
of it was applied to the wrong function.

This patch fixes it up.

Cc: len.brown@intel.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Update defconfig
Andi Kleen [Tue, 18 Apr 2006 10:35:07 +0000 (12:35 +0200)]
[PATCH] x86_64: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
Linus Torvalds [Tue, 18 Apr 2006 17:36:49 +0000 (10:36 -0700)]
Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block

* 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block:
  [PATCH] cfq: Further rbtree traversal and cfq_exit_queue() race fix
  [PATCH 2/2] cfq: fix cic's rbtree traversal
  [PATCH 1/2] iosched: fix typo and barrier()

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
Linus Torvalds [Tue, 18 Apr 2006 17:34:24 +0000 (10:34 -0700)]
Merge git://git./linux/kernel/git/paulus/powerpc-merge

* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge:
  powerpc: Use correct sequence for putting CPU into nap mode
  [PATCH] spufs: fix context-switch decrementer code
  [PATCH] powerpc32: Set cpu explicitly in kernel compiles
  [PATCH] powerpc/pseries: bugfix: balance calls to pci_device_put
  [PATCH] powerpc: Fix machine detection in prom_init.c
  [PATCH] ppc32: Fix string comparing in platform_notify_map
  [PATCH] powerpc: Avoid __initcall warnings
  [PATCH] powerpc: Ensure runlatch is off in the idle loop
  powerpc: Fix CHRP booting - needs a define_machine call
  powerpc: iSeries has only 256 IRQs

18 years ago[PATCH] cfq: Further rbtree traversal and cfq_exit_queue() race fix
OGAWA Hirofumi [Tue, 18 Apr 2006 17:18:31 +0000 (19:18 +0200)]
[PATCH] cfq: Further rbtree traversal and cfq_exit_queue() race fix

In current code, we are re-reading cic->key after dead cic->key check.
So, in theory, it may really re-read *after* cfq_exit_queue() seted NULL.

To avoid race, we copy it to stack, then use it. With this change, I
guess gcc will assign cic->key to a register or stack, and it wouldn't
be re-readed.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Jens Axboe <axboe@suse.de>
18 years agopowerpc: Use correct sequence for putting CPU into nap mode
Paul Mackerras [Tue, 18 Apr 2006 11:49:11 +0000 (21:49 +1000)]
powerpc: Use correct sequence for putting CPU into nap mode

We weren't using the recommended sequence for putting the CPU into
nap mode.  When I changed the idle loop, for some reason 7447A cpus
started hanging when we put them into nap mode.  Changing to the
recommended sequence fixes that.

The complexity here is that the recommended sequence is a loop that
keeps putting the cpu back into nap mode.  Clearly we need some way
to break out of the loop when an interrupt (external interrupt,
decrementer, performance monitor) occurs.  Here we use a bit in
the thread_info struct to indicate that we need this, and the exception
entry code notices this and arranges for the exception to return
to the value in the link register, thus breaking out of the loop.
We use a new `local_flags' field in the thread_info which we can
alter without needing to use an atomic update sequence.

The PPC970 has the same recommended sequence, so we do the same thing
there too.

This also fixes a bug in the kernel stack overflow handling code on
32-bit, since it was causing a value that we needed in a register to
get trashed.

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years agodrm: Fix further issues in drivers/char/drm/via_irq.c
Jayachandran C [Tue, 11 Apr 2006 06:18:28 +0000 (23:18 -0700)]
drm: Fix further issues in drivers/char/drm/via_irq.c

Fix de-reference of 'dev_priv' before NULL check.

Signed-off-by: Jayachandran C. <c.jayachandran@gmail.com>
Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@osdl.org>
18 years agodrivers/char/drm/drm_memory.c: possible cleanups
Adrian Bunk [Tue, 11 Apr 2006 06:18:27 +0000 (23:18 -0700)]
drivers/char/drm/drm_memory.c: possible cleanups

- #if 0 the following unused global function:
  - drm_ioremap_nocache()

- make the following needlessly global functions static:
  - agp_remap()
  - drm_lookup_map()

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@osdl.org>
18 years ago[PATCH 2/2] cfq: fix cic's rbtree traversal
OGAWA Hirofumi [Tue, 18 Apr 2006 07:45:18 +0000 (09:45 +0200)]
[PATCH 2/2] cfq: fix cic's rbtree traversal

When queue dies, we set cic->key=NULL as dead mark. So, when we
traverse a rbtree, we must check whether it's still valid key. if it
was invalidated, drop it, then restart the traversal from top.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH 1/2] iosched: fix typo and barrier()
OGAWA Hirofumi [Tue, 18 Apr 2006 07:44:06 +0000 (09:44 +0200)]
[PATCH 1/2] iosched: fix typo and barrier()

On rmmod path, cfq/as waits to make sure all io-contexts was
freed. However, it's using complete(), not wait_for_completion().

I think barrier() is not enough in here. To avoid the following case,
this patch replaces barrier() with smb_wmb().

cpu0 visibility cpu1
                [ioc_gnone=NULL,ioc_count=1]

ioc_gnone = &all_gone NULL,ioc_count=1
atomic_read(&ioc_count) NULL,ioc_count=1
wait_for_completion() NULL,ioc_count=0 atomic_sub_and_test()
NULL,ioc_count=0 if ( && ioc_gone)
    [ioc_gone==NULL,
    so doesn't call complete()]
   &all_gone,ioc_count=0

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Jens Axboe <axboe@suse.de>