]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years ago[CVE-2009-0029] System call wrappers part 14
Heiko Carstens [Wed, 14 Jan 2009 13:14:16 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 14

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 13
Heiko Carstens [Wed, 14 Jan 2009 13:14:15 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 13

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 12
Heiko Carstens [Wed, 14 Jan 2009 13:14:14 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 12

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 11
Heiko Carstens [Wed, 14 Jan 2009 13:14:13 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 11

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 10
Heiko Carstens [Wed, 14 Jan 2009 13:14:12 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 10

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 09
Heiko Carstens [Wed, 14 Jan 2009 13:14:11 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 09

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 08
Heiko Carstens [Wed, 14 Jan 2009 13:14:10 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 08

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 07
Heiko Carstens [Wed, 14 Jan 2009 13:14:09 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 07

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 06
Heiko Carstens [Wed, 14 Jan 2009 13:14:08 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 06

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 05
Heiko Carstens [Wed, 14 Jan 2009 13:14:07 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 05

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 04
Heiko Carstens [Wed, 14 Jan 2009 13:14:06 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 04

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 03
Heiko Carstens [Wed, 14 Jan 2009 13:14:05 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 03

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 02
Heiko Carstens [Wed, 14 Jan 2009 13:14:04 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 02

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrappers part 01
Heiko Carstens [Wed, 14 Jan 2009 13:14:03 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrappers part 01

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrapper special cases
Heiko Carstens [Wed, 14 Jan 2009 13:14:02 +0000 (14:14 +0100)]
[CVE-2009-0029] System call wrapper special cases

System calls with an unsigned long long argument can't be converted with
the standard wrappers since that would include a cast to long, which in
turn means that we would lose the upper 32 bit on 32 bit architectures.
Also semctl can't use the standard wrapper since it has a 'union'
parameter.

So we handle them as special case and add some extra wrappers instead.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] s390: enable system call wrappers
Heiko Carstens [Wed, 14 Jan 2009 13:14:01 +0000 (14:14 +0100)]
[CVE-2009-0029] s390: enable system call wrappers

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] powerpc: Enable syscall wrappers for 64-bit
Benjamin Herrenschmidt [Wed, 14 Jan 2009 13:14:00 +0000 (14:14 +0100)]
[CVE-2009-0029] powerpc: Enable syscall wrappers for 64-bit

This enables the use of syscall wrappers to do proper sign extension
for 64-bit programs.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] System call wrapper infrastructure
Heiko Carstens [Wed, 14 Jan 2009 13:13:59 +0000 (14:13 +0100)]
[CVE-2009-0029] System call wrapper infrastructure

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

By selecting HAVE_SYSCALL_WRAPPERS architectures can activate
system call wrappers in order to sign extend system call arguments.

All architectures where the ABI defines that the caller of a function
has to perform sign extension probably need this.

Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] Make sys_syslog a conditional system call
Heiko Carstens [Wed, 14 Jan 2009 13:13:58 +0000 (14:13 +0100)]
[CVE-2009-0029] Make sys_syslog a conditional system call

Remove the -ENOSYS implementation for !CONFIG_PRINTK and use
the cond_syscall infrastructure instead.

Acked-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] Make sys_pselect7 static
Heiko Carstens [Wed, 14 Jan 2009 13:13:57 +0000 (14:13 +0100)]
[CVE-2009-0029] Make sys_pselect7 static

Not a single architecture has wired up sys_pselect7 plus it is the
only system call with seven parameters. Just make it static and
rename it to do_pselect which will do the work for sys_pselect6.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2
Heiko Carstens [Wed, 14 Jan 2009 13:13:56 +0000 (14:13 +0100)]
[CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2

Remove __attribute__((weak)) from common code sys_pipe implemantation.
IA64, ALPHA, SUPERH (32bit) and SPARC (32bit) have own implemantations
with the same name. Just rename them.
For sys_pipe2 there is no architecture specific implementation.

Cc: Richard Henderson <rth@twiddle.net>
Cc: David S. Miller <davem@davemloft.net>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] Rename old_readdir to sys_old_readdir
Heiko Carstens [Wed, 14 Jan 2009 13:13:55 +0000 (14:13 +0100)]
[CVE-2009-0029] Rename old_readdir to sys_old_readdir

This way it matches the generic system call name convention.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] Convert all system calls to return a long
Heiko Carstens [Wed, 14 Jan 2009 13:13:54 +0000 (14:13 +0100)]
[CVE-2009-0029] Convert all system calls to return a long

Convert all system calls to return a long. This should be a NOP since all
converted types should have the same size anyway.
With the exception of sys_exit_group which returned void. But that doesn't
matter since the system call doesn't return.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[CVE-2009-0029] Move compat system call declarations to compat header file
Heiko Carstens [Wed, 14 Jan 2009 13:13:53 +0000 (14:13 +0100)]
[CVE-2009-0029] Move compat system call declarations to compat header file

Move declarations to correct header file.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years agoirq: export __set_irq_handler() and handle_level_irq()
Ingo Molnar [Wed, 14 Jan 2009 11:34:21 +0000 (12:34 +0100)]
irq: export __set_irq_handler() and handle_level_irq()

Impact: build fix

ARM updates broke x86 allmodconfig builds:

 ERROR: "__set_irq_handler" [drivers/mfd/pcf50633-core.ko] undefined!
 ERROR: "handle_level_irq" [drivers/mfd/pcf50633-core.ko] undefined!

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: make 32bit MAX_HARDIRQS_PER_CPU to be NR_VECTORS
Yinghai Lu [Mon, 12 Jan 2009 19:54:27 +0000 (11:54 -0800)]
x86: make 32bit MAX_HARDIRQS_PER_CPU to be NR_VECTORS

Impact: clean up to be same as 64bit

32-bit is using per-cpu vector too, so don't use default NR_IRQS.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/travis...
Ingo Molnar [Wed, 14 Jan 2009 11:13:45 +0000 (12:13 +0100)]
Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/travis/linux-2.6-cpus4096-for-ingo into cpus4096

17 years agoftrace, trivial: fix typo "resgister" -> "register"
Uwe Kleine-Koenig [Mon, 12 Jan 2009 22:35:50 +0000 (23:35 +0100)]
ftrace, trivial: fix typo "resgister" -> "register"

Signed-off-by: Uwe Kleine-Koenig <ukleinek@strlen.de>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotracing: add a new workqueue tracer
Frederic Weisbecker [Mon, 12 Jan 2009 22:15:46 +0000 (23:15 +0100)]
tracing: add a new workqueue tracer

Impact: new tracer

The workqueue tracer provides some statistical informations
about each cpu workqueue thread such as the number of the
works inserted and executed since their creation. It can help
to evaluate the amount of work each of them have to perform.
For example it can help a developer to decide whether he should
choose a per cpu workqueue instead of a singlethreaded one.

It only traces statistical informations for now but it will probably later
provide event tracing too.

Such a tracer could help too, and be improved, to help rt priority sorted
workqueue development.

To have a snapshot of the workqueues state at any time, just do

cat /debugfs/tracing/trace_stat/workqueues

Ie:

  1    125        125       reiserfs/1
  1      0          0       scsi_tgtd/1
  1      0          0       aio/1
  1      0          0       ata/1
  1    114        114       kblockd/1
  1      0          0       kintegrityd/1
  1   2147       2147       events/1

  0      0          0       kpsmoused
  0    105        105       reiserfs/0
  0      0          0       scsi_tgtd/0
  0      0          0       aio/0
  0      0          0       ata_aux
  0      0          0       ata/0
  0      0          0       cqueue
  0      0          0       kacpi_notify
  0      0          0       kacpid
  0    149        149       kblockd/0
  0      0          0       kintegrityd/0
  0   1000       1000       khelper
  0   2270       2270       events/0

Changes in V2:

_ Drop the static array based on NR_CPU and dynamically allocate the stat array
  with num_possible_cpus() and other cpu mask facilities....
_ Trace workqueue insertion at a bit lower level (insert_work instead of queue_work) to handle
  even the workqueue barriers.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotracing/ftrace: separate events tracing and stats tracing engine
Frederic Weisbecker [Sat, 10 Jan 2009 19:34:13 +0000 (11:34 -0800)]
tracing/ftrace: separate events tracing and stats tracing engine

Impact: tracing's Api change

Currently, the stat tracing depends on the events tracing.
When you switch to a new tracer, the stats files of the previous tracer
will disappear. But it's more scalable to separate those two engines.
This way, we can keep the stat files of one or several tracers when we
want, without bothering of multiple tracer stat files or tracer switching.

To build/destroys its stats files, a tracer just have to call
register_stat_tracer/unregister_stat_tracer everytimes it wants to.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace, ia64: IA64 dynamic ftrace support
Shaohua Li [Fri, 9 Jan 2009 03:29:49 +0000 (11:29 +0800)]
ftrace, ia64: IA64 dynamic ftrace support

IA64 dynamic ftrace support.
The original _mcount stub for each function is like:
alloc r40=ar.pfs,12,8,0
mov r43=r0;;
mov r42=b0
mov r41=r1
nop.i 0x0
br.call.sptk.many b0 = _mcount;;

The patch convert it to below for nop:
[MII] nop.m 0x0
mov r3=ip
nop.i 0x0
[MLX] nop.m 0x0
nop.x 0x0;;
This isn't completely nop, as there is one instuction 'mov r3=ip', but
it should be light and harmless for code follow it.

And below is for call
[MII] nop.m 0x0
mov r3=ip
nop.i 0x0
[MLX] nop.m 0x0
brl.many .;;
In this way, only one instruction is changed to convert code between nop
and call. This should meet dyn-ftrace's requirement.
But this requires CPU support brl instruction, so dyn-ftrace isn't
supported for old Itanium system. Assume there are quite few such old
system running.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace, ia64: IA64 static ftrace support
Shaohua Li [Fri, 9 Jan 2009 03:29:46 +0000 (11:29 +0800)]
ftrace, ia64: IA64 static ftrace support

IA64 ftrace suppport. In IA64, below code will be added in each function
if -pg is enabled.

alloc r40=ar.pfs,12,8,0
mov r43=r0;;
mov r42=b0
mov r41=r1
nop.i 0x0
br.call.sptk.many b0 = _mcount;;

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace, ia64: Add recordmcount for ia64
Shaohua Li [Fri, 9 Jan 2009 03:29:44 +0000 (11:29 +0800)]
ftrace, ia64: Add recordmcount for ia64

Add recordmcount for ia64.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace, ia64: Add macro for ftrace_caller
Shaohua Li [Fri, 9 Jan 2009 03:29:42 +0000 (11:29 +0800)]
ftrace, ia64: Add macro for ftrace_caller

Define FTRACE_ADDR. In IA64, a function pointer isn't a 'unsigned long' but a
'struct {unsigned long ip, unsigned long gp}'.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace, ia64: explictly ignore a file in recordmcount.pl
Shaohua Li [Fri, 9 Jan 2009 03:29:40 +0000 (11:29 +0800)]
ftrace, ia64: explictly ignore a file in recordmcount.pl

In IA64, a function pointer isn't a 'unsigned long' but a
'struct {unsigned long ip, unsigned long gp}'. MCOUNT_ADDR is determined
at link time not compile time, so explictly ignore kernel/trace/ftrace.o
in recordmcount.pl.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace, ia64: make recordmcount distinct module compile
Shaohua Li [Mon, 12 Jan 2009 02:00:51 +0000 (10:00 +0800)]
ftrace, ia64: make recordmcount distinct module compile

In IA64, module build and kernel build use different option.
Make recordmcount.pl differentiate the two cases.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: change the default cache size to 64 bytes
Ingo Molnar [Mon, 12 Jan 2009 22:37:16 +0000 (23:37 +0100)]
x86: change the default cache size to 64 bytes

Right now the generic cacheline size is 128 bytes - that is wasteful
when structures are aligned, as all modern x86 CPUs have an (effective)
cacheline sizes of 64 bytes.

It was set to 128 bytes due to some cacheline aliasing problems on
older P4 systems, but those are many years old and we dont optimize
for them anymore. (They'll still get the 128 bytes cacheline size if
the kernel is specifically built for Pentium 4)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
17 years agox86, tlb flush_data: replace per_cpu with an array
Frederik Deweerdt [Mon, 12 Jan 2009 21:35:42 +0000 (22:35 +0100)]
x86, tlb flush_data: replace per_cpu with an array

Impact: micro-optimization, memory reduction

On x86_64 flush tlb data is stored in per_cpu variables. This is
unnecessary because only the first NUM_INVALIDATE_TLB_VECTORS entries
are accessed.

This patch aims at making the code less confusing (there's nothing
really "per_cpu") by using a plain array. It also would save some memory
on most distros out there (Ubuntu x86_64 has NR_CPUS=64 by default).

[ Ravikiran G Thirumalai also pointed out that the correct alignment
  is ____cacheline_internodealigned_in_smp, so that there's no
  bouncing on vsmp. ]

Signed-off-by: Frederik Deweerdt <frederik.deweerdt@xprog.eu>
Acked-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: replacing mp_config_intsrc with mpc_intsrc
Jaswinder Singh Rajput [Mon, 12 Jan 2009 12:17:22 +0000 (17:47 +0530)]
x86: replacing mp_config_intsrc with mpc_intsrc

Impact: cleanup, solve 80 columns wrap problems

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: replacing mp_config_ioapic with mpc_ioapic
Jaswinder Singh Rajput [Mon, 12 Jan 2009 12:16:17 +0000 (17:46 +0530)]
x86: replacing mp_config_ioapic with mpc_ioapic

Impact: cleanup, solve 80 columns wrap problems

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosoftlock: fix false panic which can occur if softlockup_thresh is reduced
Mandeep Singh Baines [Tue, 13 Jan 2009 05:15:17 +0000 (21:15 -0800)]
softlock: fix false panic which can occur if softlockup_thresh is reduced

At run-time, if softlockup_thresh is changed to a much lower value,
touch_timestamp is likely to be much older than the new softlock_thresh.

This will cause a false softlockup to be detected. If softlockup_panic
is enabled, the system will panic.

The fix is to touch all watchdogs before changing softlockup_thresh.

Signed-off-by: Mandeep Singh Baines <msb@google.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agorcu: add __cpuinit to rcu_init_percpu_data()
Lai Jiangshan [Wed, 14 Jan 2009 06:58:15 +0000 (14:58 +0800)]
rcu: add __cpuinit to rcu_init_percpu_data()

Impact: reduce memory footprint

add __cpuinit to rcu_init_percpu_data(), and this function's text
will be discarded after boot when !CONFIG_HOTPLUG_CPU.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: USB quirk for Logitech Quickcam Pro 9000 name
Signed-off-by: Peter Stokes [Wed, 14 Jan 2009 08:47:57 +0000 (09:47 +0100)]
ALSA: USB quirk for Logitech Quickcam Pro 9000 name

The Logitech QuickCam Pro 9000 does not appear to any product identification
strings in its USB device descriptor. Therefore it receives a device name of
"USB Device 0x46d:0x990". Th e attached patch below adds a USB quirk to
provide a more friendly name.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Fix stac92hd83xxx_amp_nids[]
Takashi Iwai [Wed, 14 Jan 2009 08:40:25 +0000 (09:40 +0100)]
ALSA: hda - Fix stac92hd83xxx_amp_nids[]

Fix the bug introduced in commit c15c5060fc32d7de7cde76aa61e98bae1334d82e:
  sound/pci/hda/patch_sigmatel.c: In function ‘patch_stac92hd83xxx’:
  sound/pci/hda/patch_sigmatel.c:4765: warning: assignment from incompatible pointer type

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: opti9xx - Fix build breakage by snd_card_create() conversion
Takashi Iwai [Wed, 14 Jan 2009 08:34:06 +0000 (09:34 +0100)]
ALSA: opti9xx - Fix build breakage by snd_card_create() conversion

Add a missing variable declaration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agox86: fix broken flush_tlb_others_ipi()
Suresh Siddha [Wed, 14 Jan 2009 02:43:03 +0000 (18:43 -0800)]
x86: fix broken flush_tlb_others_ipi()

This commit broke flush_tlb_others_ipi() causing boot hangs on a
16 logical cpu system:

> commit 4595f9620cda8a1e973588e743cf5f8436dd20c6
> Author: Rusty Russell <rusty@rustcorp.com.au>
> Date:   Sat Jan 10 21:58:09 2009 -0800
>
>     x86: change flush_tlb_others to take a const struct cpumask

This change resulted in sending the invalidate tlb vector to the
sender itself causing the hang. flush_tlb_others_ipi() should exclude
the sender itself from the destination list.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: hda - Add automatic model setting for Samsung Q45
Luke Yelavich [Tue, 16 Dec 2008 01:37:47 +0000 (12:37 +1100)]
ALSA: hda - Add automatic model setting for Samsung Q45

Have the Samsung Q45 (144d:c510) select ALC262_HIPPO by default

Reference: Ubuntu bug 200210
http://launchpad.net/bugs/200210

Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Don't reset HP pinctl in patch_sigmatel.c
Takashi Iwai [Wed, 14 Jan 2009 06:56:51 +0000 (07:56 +0100)]
ALSA: hda - Don't reset HP pinctl in patch_sigmatel.c

Resetting HP pinctl at the unplugged state may cause a sort of regression
on some devices because of their wrong pin configuration.

A simple workaround is to disable the pin reset.  This is ugly and may be
not good from the power-saving POV (if any), but damn simple.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
17 years agoALSA: hda: stac92hd8xxx amp mixers
Matthew Ranostay [Tue, 13 Jan 2009 18:30:07 +0000 (13:30 -0500)]
ALSA: hda: stac92hd8xxx amp mixers

Added amp nid for stac92hd8xxx families of codecs so the input amp
mixer is created.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Fix silent headphone output on Panasonic CF-74
Takashi Iwai [Fri, 9 Jan 2009 15:57:14 +0000 (16:57 +0100)]
ALSA: hda - Fix silent headphone output on Panasonic CF-74

CF-74 does the headphone/speaker switching on hardware, thus the driver
shouldn't do any software-toggling of pins.  Otherwise it results in a
silent headphone output.

This patch simply resets the hp_detect flag to fix the problem.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoipv6: Fix fib6_dump_table walker leak
Herbert Xu [Wed, 14 Jan 2009 06:17:51 +0000 (22:17 -0800)]
ipv6: Fix fib6_dump_table walker leak

When a fib6 table dump is prematurely ended, we won't unlink
its walker from the list.  This causes all sorts of grief for
other users of the list later.

Reported-by: Chris Caputo <ccaputo@alt.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus
Lachlan McIlroy [Wed, 14 Jan 2009 05:29:51 +0000 (16:29 +1100)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus

17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Lachlan McIlroy [Wed, 14 Jan 2009 05:29:08 +0000 (16:29 +1100)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6

17 years agoInput: spitzkbd - mark probe function as __devinit
Uwe Kleine-König [Wed, 14 Jan 2009 02:20:31 +0000 (18:20 -0800)]
Input: spitzkbd - mark probe function as __devinit

A pointer to spitzkbd_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded.  Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.

An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.

[dtor@mail.ru: fixed some more section markups]
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: omap-keypad - mark probe function as __devinit
Uwe Kleine-König [Wed, 14 Jan 2009 02:20:20 +0000 (18:20 -0800)]
Input: omap-keypad - mark probe function as __devinit

A pointer to omap_kp_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded.  Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.

An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.

[dtor@mail.ru: fixed some more section markups]
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agosparc64: Fix UP build failure.
David S. Miller [Wed, 14 Jan 2009 01:38:24 +0000 (17:38 -0800)]
sparc64: Fix UP build failure.

sparc_ksyms_64.c includes asm/spinlock.h directly, which is
a no-no.

Even better, none of these exports are even necessary.  All
of these functions are inlines.

Reported by Meelis Roos and Alexander Beregalov.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: splice as many packets as possible at once
Willy Tarreau [Wed, 14 Jan 2009 00:04:36 +0000 (16:04 -0800)]
tcp: splice as many packets as possible at once

As spotted by Willy Tarreau, current splice() from tcp socket to pipe is not
optimal. It processes at most one segment per call.
This results in low performance and very high overhead due to syscall rate
when splicing from interfaces which do not support LRO.

Willy provided a patch inside tcp_splice_read(), but a better fix
is to let tcp_read_sock() process as many segments as possible, so
that tcp_rcv_space_adjust() and tcp_cleanup_rbuf() are called less
often.

With this change, splice() behaves like tcp_recvmsg(), being able
to consume many skbs in one system call. With typical 1460 bytes
of payload per frame, that means splice(SPLICE_F_NONBLOCK) can return
16*1460 = 23360 bytes.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agopowerpc/83xx: Move mcu_mpc8349emitx driver out of drivers/i2c/chips/
Anton Vorontsov [Sun, 11 Jan 2009 16:55:39 +0000 (19:55 +0300)]
powerpc/83xx: Move mcu_mpc8349emitx driver out of drivers/i2c/chips/

This patch is used to help Jean Delvare to get rid of drivers/i2c/chips/
directory. The new location suggested by Kumar Gala: as the driver is
83xx specific it's placed into arch/powerpc/platforms/83xx/.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years agopowerpc/83xx: Make serial ports work on MPC8315E-RDB w/ FSL U-Boots
Anton Vorontsov [Sun, 11 Jan 2009 15:30:13 +0000 (18:30 +0300)]
powerpc/83xx: Make serial ports work on MPC8315E-RDB w/ FSL U-Boots

FSL U-Boots use /soc8315@e0000000 node to search and fixup serial
nodes' clock-frequency properties. Though in upstream kernels we use
new naming convention -- for IMMR address space dts files specify
/immr@e0000000 nodes.

This makes FSL U-Boots fail to fixup the clock frequencies, and that
leads to serial ports misbehaviour. We can workaround the issue by
filling the clock frequency values manually.

p.s. For the same reason FSL U-Boots fail to fixup MAC addresses for
ethernet nodes, so users should either change the .dts file locally
or set MAC address via `ifconfig hw ether' command.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years agopowerpc/e500mc: Doorbells need to be taken w/exceptions disabled
Kumar Gala [Fri, 9 Jan 2009 00:11:56 +0000 (18:11 -0600)]
powerpc/e500mc: Doorbells need to be taken w/exceptions disabled

We use Doorbell interrupts for IPIs and thus we need to make sure we aren't
interrupted in the process of processing the IPI.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Dave Liu <daveliu@freescale.com>
17 years agoMerge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Tue, 13 Jan 2009 22:53:16 +0000 (14:53 -0800)]
Merge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86 PAT: remove CPA WARN_ON for zero pte
  x86 PAT: return compatible mapping to remap_pfn_range callers
  x86 PAT: change track_pfn_vma_new to take pgprot_t pointer param
  x86 PAT: consolidate old memtype new memtype check into a function
  x86 PAT: remove PFNMAP type on track_pfn_vma_new() error

17 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Tue, 13 Jan 2009 22:52:35 +0000 (14:52 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  TWL4030: fix clk API usage
  [ARM] 5364/1: allow flush_ioremap_region() to be used from modules
  [ARM] w90x900: fix build errors and warnings
  [ARM] i.MX add missing include
  [ARM] i.MX: fix breakage from commit 278892736e99330195c8ae5861bcd9d791bbf19e
  [ARM] i.MX: remove LCDC controller register definitions from imx-regs.h

17 years agoFix timeouts in sys_pselect7
Bernd Schmidt [Tue, 13 Jan 2009 21:14:48 +0000 (22:14 +0100)]
Fix timeouts in sys_pselect7

Since we (Analog Devices) updated our Blackfin kernel to 2.6.28, we've
seen occasional 5-second hangs from telnet.  telnetd calls select with a
NULL timeout, but with the new kernel, the system call occasionally
returns 0, which causes telnet to call sleep (5).  This did not happen
with earlier kernels.

The code in sys_pselect7 looks a bit strange, in particular the variable
"to" is initialized to NULL, then changed if a non-null timeout was
passed in, but not used further.  It needs to be passed to
core_sys_select instead of &end_time.

This bug was introduced by 8ff3e8e85fa6c312051134b3953e397feb639f51
("select: switch select() and poll() over to hrtimers").

Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com>
Reviewed-by: Ulrich Drepper <drepper@redhat.com>
Tested-by: Robin Getz <rgetz@blackfin.uclinux.org>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofix early_serial_setup() regression
Helge Deller [Tue, 13 Jan 2009 21:51:07 +0000 (22:51 +0100)]
fix early_serial_setup() regression

Commit b430428a188e8a434325e251d0704af4b88b4711 ("8250: Don't clobber
spinlocks.") introduced a regression on the parisc architecture, which
broke the handover to the serial port at boottime.

early_serial_setup() was changed to only copy a subset of the uart_port
fields, and sadly the "type" and "line" fields were forgotten and thus
the serial port was not initialized and could not be used for a
handover.  This patch fixes this by copying the missing fields.

As this change to early_serial_setup() doesn't need an initialized
spinlock in the uart_port struct any longer, we can drop the spinlock
initialization in the superio driver.

Cc: David Daney <ddaney@caviumnetworks.com>
Cc: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Acked-by: Kyle McMartin <kyle@mcmartin.ca>
Cc: linux-parisc@vger.kernel.org
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Tue, 13 Jan 2009 20:22:26 +0000 (12:22 -0800)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

17 years agoTWL4030: fix clk API usage
Russell King [Sat, 10 Jan 2009 10:40:42 +0000 (10:40 +0000)]
TWL4030: fix clk API usage

Always pass a struct device if one is available; and there's really
no reason for the processor specific stuff in this file if only
people would follow the API usage properly by using the struct device.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agox86 PAT: remove CPA WARN_ON for zero pte
venkatesh.pallipadi@intel.com [Sat, 10 Jan 2009 00:13:14 +0000 (16:13 -0800)]
x86 PAT: remove CPA WARN_ON for zero pte

Impact: reduce scope of debug check - avoid warnings

The logic to find whether identity map exists or not using
high_memory or max_low_pfn_mapped/max_pfn_mapped are not complete
as the memory withing the range may not be mapped if there is a
unusable hole in e820.

Specifically, on my test system I started seeing these warnings with
tools like hwinfo, acpidump trying to map ACPI region.

[   27.400018] ------------[ cut here ]------------
[   27.400344] WARNING: at /home/venkip/src/linus/linux-2.6/arch/x86/mm/pageattr.c:560 __change_page_attr_set_clr+0xf3/0x8b8()
[   27.400821] Hardware name: X7DB8
[   27.401070] CPA: called for zero pte. vaddr = ffff8800cff6a000 cpa->vaddr = ffff8800cff6a000
[   27.401569] Modules linked in:
[   27.401882] Pid: 4913, comm: dmidecode Not tainted 2.6.28-05716-gfe0bdec #586
[   27.402141] Call Trace:
[   27.402488]  [<ffffffff80237c21>] warn_slowpath+0xd3/0x10f
[   27.402749]  [<ffffffff80274ade>] ? find_get_page+0xb3/0xc9
[   27.403028]  [<ffffffff80274a2b>] ? find_get_page+0x0/0xc9
[   27.403333]  [<ffffffff80226425>] __change_page_attr_set_clr+0xf3/0x8b8
[   27.403628]  [<ffffffff8028ec99>] ? __purge_vmap_area_lazy+0x192/0x1a1
[   27.403883]  [<ffffffff8028eb52>] ? __purge_vmap_area_lazy+0x4b/0x1a1
[   27.404172]  [<ffffffff80290268>] ? vm_unmap_aliases+0x1ab/0x1bb
[   27.404512]  [<ffffffff80290105>] ? vm_unmap_aliases+0x48/0x1bb
[   27.404766]  [<ffffffff80226d28>] change_page_attr_set_clr+0x13e/0x2e6
[   27.405026]  [<ffffffff80698fa7>] ? _spin_unlock+0x26/0x2a
[   27.405292]  [<ffffffff80227e6a>] ? reserve_memtype+0x19b/0x4e3
[   27.405590]  [<ffffffff80226ffd>] _set_memory_wb+0x22/0x24
[   27.405844]  [<ffffffff80225d28>] ioremap_change_attr+0x26/0x28
[   27.406097]  [<ffffffff80228355>] reserve_pfn_range+0x1a3/0x235
[   27.406427]  [<ffffffff80228430>] track_pfn_vma_new+0x49/0xb3
[   27.406686]  [<ffffffff80286c46>] remap_pfn_range+0x94/0x32c
[   27.406940]  [<ffffffff8022878d>] ? phys_mem_access_prot_allowed+0xb5/0x1a8
[   27.407209]  [<ffffffff803e9bf4>] mmap_mem+0x75/0x9d
[   27.407523]  [<ffffffff8028b3b4>] mmap_region+0x2cf/0x53e
[   27.407776]  [<ffffffff8028b8cc>] do_mmap_pgoff+0x2a9/0x30d
[   27.408034]  [<ffffffff8020f4a4>] sys_mmap+0x92/0xce
[   27.408339]  [<ffffffff8020b65b>] system_call_fastpath+0x16/0x1b
[   27.408614] ---[ end trace 4b16ad70c09a602d ]---
[   27.408871] dmidecode:4913 reserve_pfn_range ioremap_change_attr failed write-back for cff6a000-cff6b000

This is wih track_pfn_vma_new trying to keep identity map in sync.
The address cff6a000 is the ACPI region according to e820.

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009c000 (usable)
[    0.000000]  BIOS-e820: 000000000009c000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000cc000 - 00000000000d0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 00000000cff60000 (usable)
[    0.000000]  BIOS-e820: 00000000cff60000 - 00000000cff69000 (ACPI data)
[    0.000000]  BIOS-e820: 00000000cff69000 - 00000000cff80000 (ACPI NVS)
[    0.000000]  BIOS-e820: 00000000cff80000 - 00000000d0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
[    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
[    0.000000]  BIOS-e820: 0000000100000000 - 0000000230000000 (usable)

And is not mapped as per init_memory_mapping.

[    0.000000] init_memory_mapping: 0000000000000000-00000000cff60000
[    0.000000] init_memory_mapping: 0000000100000000-0000000230000000

We can add logic to check for this. But, there can also be other holes in
identity map when we have 1GB of aligned reserved space in e820.

This patch handles it by removing the WARN_ON and returning a specific
error value (EFAULT) to indicate that the address does not have any
identity mapping.

The code that tries to keep identity map in sync can ignore
this error, with other callers of cpa still getting error here.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86 PAT: return compatible mapping to remap_pfn_range callers
venkatesh.pallipadi@intel.com [Sat, 10 Jan 2009 00:13:12 +0000 (16:13 -0800)]
x86 PAT: return compatible mapping to remap_pfn_range callers

Impact: avoid warning message, potentially solve 3D performance regression

Change x86 PAT code to return compatible memtype if the exact memtype that
was requested in remap_pfn_rage and friends is not available due to some
conflict.

This is done by returning the compatible type in pgprot parameter of
track_pfn_vma_new(), and the caller uses that memtype for page table.

Note that track_pfn_vma_copy() which is basically called during fork gets the
prot from existing page table and should not have any conflict. Hence we use
strict memtype check there and do not allow compatible memtypes.

This patch fixes the bug reported here:

  http://marc.info/?l=linux-kernel&m=123108883716357&w=2

Specifically the error message:

  X:5010 map pfn expected mapping type write-back for d0000000-d0101000,
  got write-combining

Should go away.

Reported-and-bisected-by: Kevin Winchester <kjwinchester@gmail.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86 PAT: change track_pfn_vma_new to take pgprot_t pointer param
venkatesh.pallipadi@intel.com [Sat, 10 Jan 2009 00:13:11 +0000 (16:13 -0800)]
x86 PAT: change track_pfn_vma_new to take pgprot_t pointer param

Impact: cleanup

Change the protection parameter for track_pfn_vma_new() into a pgprot_t pointer.
Subsequent patch changes the x86 PAT handling to return a compatible
memtype in pgprot_t, if what was requested cannot be allowed due to conflicts.
No fuctionality change in this patch.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86 PAT: consolidate old memtype new memtype check into a function
venkatesh.pallipadi@intel.com [Sat, 10 Jan 2009 00:13:10 +0000 (16:13 -0800)]
x86 PAT: consolidate old memtype new memtype check into a function

Impact: cleanup

Move the new memtype old memtype allowed check to header so that is can be
shared by other users. Subsequent patch uses this in pat.c in remap_pfn_range()
code path. No functionality change in this patch.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86 PAT: remove PFNMAP type on track_pfn_vma_new() error
venkatesh.pallipadi@intel.com [Sat, 10 Jan 2009 00:13:09 +0000 (16:13 -0800)]
x86 PAT: remove PFNMAP type on track_pfn_vma_new() error

Impact: fix (harmless) double-free of memtype entries and avoid warning

On track_pfn_vma_new() failure, reset the vm_flags so that there will be
no second cleanup happening when upper level routines call unmap_vmas().

This patch fixes part of the bug reported here:

  http://marc.info/?l=linux-kernel&m=123108883716357&w=2

Specifically the error message:

  X:5010 freeing invalid memtype d0000000-d0101000

Is due to multiple frees on error path, will not happen with the patch below.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, generic: mark complex bitops.h inlines as __always_inline
Andi Kleen [Mon, 12 Jan 2009 22:01:15 +0000 (23:01 +0100)]
x86, generic: mark complex bitops.h inlines as __always_inline

Impact: reduce kernel image size

Hugh Dickins noticed that older gcc versions when the kernel
is built for code size didn't inline some of the bitops.

Mark all complex x86 bitops that have more than a single
asm statement or two as always inline to avoid this problem.

Probably should be done for other architectures too.

Ingo then found a better fix that only requires
a single line change, but it unfortunately only
works on gcc 4.3.

On older gccs the original patch still makes a ~0.3% defconfig
difference with CONFIG_OPTIMIZE_INLINING=y.

With gcc 4.1 and a defconfig like build:

    6116998 1138540  883788 8139326  7c323e vmlinux-oi-with-patch
    6137043 1138540  883788 8159371  7c808b vmlinux-optimize-inlining

~20k / 0.3% difference.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Tue, 13 Jan 2009 17:03:02 +0000 (09:03 -0800)]
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  Revert "i386: add TRACE_IRQS_OFF for the nmi"

17 years agoMerge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Tue, 13 Jan 2009 17:02:21 +0000 (09:02 -0800)]
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  smp_call_function_single(): be slightly less stupid, fix #2
  lockdep, mm: fix might_fault() annotation

17 years agoALSA: hda - Update model descriptions in patch_sigmatel.c
Takashi Iwai [Tue, 13 Jan 2009 16:57:12 +0000 (17:57 +0100)]
ALSA: hda - Update model descriptions in patch_sigmatel.c

Update models in patch_sigmatel.c, mainly for the last Gateway updates.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'topic/hda-gateway' into topic/hda
Takashi Iwai [Tue, 13 Jan 2009 16:50:46 +0000 (17:50 +0100)]
Merge branch 'topic/hda-gateway' into topic/hda

17 years ago[SCSI] Skip deleted devices in __scsi_device_lookup_by_target()
Hannes Reinecke [Tue, 13 Jan 2009 15:50:37 +0000 (16:50 +0100)]
[SCSI] Skip deleted devices in __scsi_device_lookup_by_target()

__scsi_device_lookup_by_target() will always return
the first sdev with a matching LUN, regardless of
the state. However, when this sdev is in SDEV_DEL
scsi_device_lookup_by_target() will ignore this
device and so any valid device on the list after
the deleted device will never be found.
So we have to modify __scsi_device_lookup_by_target()
to skip any device in SDEV_DEL.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years agoALSA: hda - Use queue_delayed_work()
Takashi Iwai [Tue, 13 Jan 2009 16:46:37 +0000 (17:46 +0100)]
ALSA: hda - Use queue_delayed_work()

Replaced the old schedule_work() with queue_delayed_work() where
overlooked in the previous patches.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years ago[SCSI] Add SUN Universal Xport to no attach blacklist
ILLES, Marton [Mon, 12 Jan 2009 14:45:52 +0000 (15:45 +0100)]
[SCSI] Add SUN Universal Xport to no attach blacklist

I was using a Sun ST2510 device (iSCSI) and a special "block device"
appeared which is used by SUN Common Array Manager in-band management.

However it also appeared as a block device and caused some IO error:

[  716.868000] scsi 15:0:0:31: Direct-Access     SUN      Universal Xport  0735 PQ: 0 ANSI: 5
[  716.868000] qla4xxx 0000:04:01.1: scsi(15:0:0:31): Enabled tagged queuing, queue depth 32.
[  716.868000] sd 15:0:0:31: [sdf] 40960 512-byte hardware sectors (21 MB)
[  716.868000] sd 15:0:0:31: [sdf] Write Protect is off
[  716.868000] sd 15:0:0:31: [sdf] Mode Sense: 77 00 10 08
[  716.868000] sd 15:0:0:31: [sdf] Write cache: disabled, read cache: enabled, supports DPO and FUA
[  716.868000] sd 15:0:0:31: [sdf] 40960 512-byte hardware sectors (21 MB)
[  716.868000] sd 15:0:0:31: [sdf] Write Protect is off
[  716.868000] sd 15:0:0:31: [sdf] Mode Sense: 77 00 10 08
[  716.872000] sd 15:0:0:31: [sdf] Write cache: disabled, read cache: enabled, supports DPO and FUA
[  716.872000]  sdf: unknown partition table
[  716.932000] sd 15:0:0:31: [sdf] Attached SCSI disk
[  716.932000] sd 15:0:0:31: Attached scsi generic sg6 type 0
[  717.412000] end_request: I/O error, dev sdf, sector 40
[  717.412000] Buffer I/O error on device sdf, logical block 5
[  717.412000] Buffer I/O error on device sdf, logical block 6
[  717.412000] Buffer I/O error on device sdf, logical block 7
[  717.412000] Buffer I/O error on device sdf, logical block 8
[  717.412000] Buffer I/O error on device sdf, logical block 9
[  717.412000] Buffer I/O error on device sdf, logical block 10
[  717.412000] Buffer I/O error on device sdf, logical block 11
[  717.412000] Buffer I/O error on device sdf, logical block 12
[  717.412000] Buffer I/O error on device sdf, logical block 13
[  717.412000] Buffer I/O error on device sdf, logical block 14

After some googling it appeared that similar issue has been solved for
SGI/IBM devices in 4869040512082b761de2d7c35975d01044f8bfea, so here is
the patch for SUN, please apply.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years ago[SCSI] iscsi_tcp: make padbuf non-static
Karen Xie [Sun, 11 Jan 2009 03:06:07 +0000 (19:06 -0800)]
[SCSI] iscsi_tcp: make padbuf non-static

virt_to_page() call should not be used on kernel text and data
addresses.  virt_to_page() is used by sg_init_one(). So change padbuf
to be allocated within iscsi_segment.

Signed-off-by: Karen Xie <kxie@chelsio.com>
Acked-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years ago[SCSI] mpt fusion: Add Firmware debug support
Kashyap, Desai [Tue, 6 Jan 2009 09:33:37 +0000 (15:03 +0530)]
[SCSI] mpt fusion: Add Firmware debug support

Signed-off-by: Kashyap Desai <kadesai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years ago[SCSI] mpt fusion: Add separate msi enable disable for FC,SPI,SAS
Kashyap, Desai [Thu, 8 Jan 2009 08:57:16 +0000 (14:27 +0530)]
[SCSI] mpt fusion: Add separate msi enable disable for FC,SPI,SAS

Added support for MSI enable/disable for different buses FC,SPI,SAS
instead of having single MSI enable/disable feature.

Signed-off-by: Kashyap Desai <kadesai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years ago[SCSI] mpt fusion: Update MPI Headers to version 01.05.19
Kashyap, Desai [Tue, 6 Jan 2009 09:26:31 +0000 (14:56 +0530)]
[SCSI] mpt fusion: Update MPI Headers to version 01.05.19

This Patch is submitted to increment the MPI headers used by LSI MPT
fusion drivers to the latest version 01.05.19.  Year is changed in
CopyRight.

Signed-off-by: Kashyap Desai <kadesai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years ago[SCSI] qla2xxx: Fix ISP restart bug in multiq code
Anirban Chakraborty [Thu, 8 Jan 2009 23:41:08 +0000 (15:41 -0800)]
[SCSI] qla2xxx: Fix ISP restart bug in multiq code

After restarting ISP the additional queues are not being setup correctly. The
following patch fixes the issue.
Please apply.

Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years agodmatest: Use custom map/unmap for destination buffer
Atsushi Nemoto [Tue, 13 Jan 2009 16:22:20 +0000 (09:22 -0700)]
dmatest: Use custom map/unmap for destination buffer

The dmatest driver should use DMA_BIDIRECTIONAL on the destination buffer
to ensure that the poison values are written to RAM and not just written
to cache and discarded.

Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Tue, 13 Jan 2009 16:19:42 +0000 (08:19 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/iser: Add dependency on INFINIBAND_ADDR_TRANS
  IPoIB: Do not join broadcast group if interface is brought down
  RDMA/nes: Fix for NIPQUAD removal
  IPoIB: Fix loss of connectivity after bonding failover on both sides
  IB/mlx4: Don't register IB device for adapters with no IB ports
  mlx4_core: Fix warning from min()
  IB/ehca: spin_lock_irqsave() takes an unsigned long

17 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Tue, 13 Jan 2009 16:17:41 +0000 (08:17 -0800)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  pata_it821x: Update RDC UDMA handling
  ata: fix wrong WARN_ON_ONCE

17 years agoPrevent oops at boot with VT-d
Dirk Hohndel [Sun, 11 Jan 2009 15:33:51 +0000 (15:33 +0000)]
Prevent oops at boot with VT-d

With some broken BIOSs when VT-d is enabled, the data structures are
filled incorrectly. This can cause a NULL pointer dereference in very
early boot.

Signed-off-by: Dirk Hohndel <hohndel@linux.intel.com>
Acked-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopata_it821x: Update RDC UDMA handling
Alan Cox [Sun, 11 Jan 2009 19:51:08 +0000 (19:51 +0000)]
pata_it821x: Update RDC UDMA handling

The UDMA affliction is apparently specific to revision 0x11. Keeps us in sync
with drivers/ide current.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoata: fix wrong WARN_ON_ONCE
Christian Borntraeger [Tue, 13 Jan 2009 09:38:36 +0000 (10:38 +0100)]
ata: fix wrong WARN_ON_ONCE

This patch fixes a wrong WARN_ON that was triggered by 32bit PIO support:
WARNING: at drivers/ata/libata-sff.c:1017 ata_sff_hsm_move+0x45e/0x750()

__atapi_pio_bytes simply doesnt know enough to decide if there is a bug.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agop54: fix "‘ret’ may be used uninitialized" warning
John W. Linville [Mon, 12 Jan 2009 19:46:39 +0000 (14:46 -0500)]
p54: fix "‘ret’ may be used uninitialized" warning

drivers/net/wireless/p54/p54common.c: In function ‘p54_config’:
drivers/net/wireless/p54/p54common.c:1853: warning: ‘ret’ may be used uninitialized in this function

Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwl3945: fix "‘power_idx’ may be used uninitialized" warning
John W. Linville [Mon, 12 Jan 2009 19:44:52 +0000 (14:44 -0500)]
iwl3945: fix "‘power_idx’ may be used uninitialized" warning

drivers/net/wireless/iwlwifi/iwl-3945.c: In function ‘iwl3945_txpower_set_from_eeprom’:
drivers/net/wireless/iwlwifi/iwl-3945.c:2222: warning: ‘power_idx’ may be used uninitialized in this function

Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agob43legacy: fix "‘up_dev’ may be used uninitialized" warning
John W. Linville [Mon, 12 Jan 2009 19:43:18 +0000 (14:43 -0500)]
b43legacy: fix "‘up_dev’ may be used uninitialized" warning

drivers/net/wireless/b43legacy/main.c: In function ‘b43legacy_op_dev_config’:
drivers/net/wireless/b43legacy/main.c:2468: warning: ‘up_dev’ may be used uninitialized in this function

Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agob43: fix "‘gmode’ may be used uninitialized" warning
John W. Linville [Mon, 12 Jan 2009 19:40:20 +0000 (14:40 -0500)]
b43: fix "‘gmode’ may be used uninitialized" warning

drivers/net/wireless/b43/main.c: In function ‘b43_op_config’:
drivers/net/wireless/b43/main.c:3264: warning: ‘gmode’ may be used uninitialized

Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: fix "‘ret’ may be used uninitialized" warning
John W. Linville [Mon, 12 Jan 2009 19:37:44 +0000 (14:37 -0500)]
mac80211: fix "‘ret’ may be used uninitialized" warning

net/mac80211/ht.c: In function ‘ieee80211_start_tx_ba_session’:
net/mac80211/ht.c:472: warning: ‘ret’ may be used uninitialized in this function

Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agox86, cpufreq: remove leftover copymask_copy()
Ingo Molnar [Tue, 13 Jan 2009 15:11:00 +0000 (16:11 +0100)]
x86, cpufreq: remove leftover copymask_copy()

Impact: fix potential boot crash on MAXSMP

Remove code left over by:

  50c668d: Revert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read

That cmd.cpumask is not allocated anymore. No impact on default !MAXSMP
kernels.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: hda - Add quirk for another HP dv5
Giuseppe Bilotta [Tue, 13 Jan 2009 13:58:49 +0000 (08:58 -0500)]
ALSA: hda - Add quirk for another HP dv5

Add the model=hp-m4 quirk for another HP dv5 (103c:3603)
Reference: kernel bug#12440
http://bugzilla.kernel.org/show_bug.cgi?id=12440

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
17 years agousb: musb: fix bug in musbhsdma programming
Ajay Kumar Gupta [Tue, 13 Jan 2009 12:08:44 +0000 (14:08 +0200)]
usb: musb: fix bug in musbhsdma programming

Mode bit should be set based on function parameter "mode" of
configure_channel() function.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoALSA: hda - Add support of NVidia MCP78 HDMI
Takashi Iwai [Tue, 13 Jan 2009 11:32:21 +0000 (12:32 +0100)]
ALSA: hda - Add support of NVidia MCP78 HDMI

Added the new id for NVidia MCP HDMI (10de:0007).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Fix a typo
Takashi Iwai [Tue, 13 Jan 2009 10:54:49 +0000 (11:54 +0100)]
ALSA: hda - Fix a typo

Fix a typo in stac92hd83xxx_cfg_tbl[].  The actual number is identical
thus there is no behavior change.

Signed-off-by: Takashi Iwai <tiwai@suse.de>