openwrt/staging/blogic.git
18 years agoMerge ../linux-2.6
Paul Mackerras [Thu, 9 Mar 2006 03:32:05 +0000 (14:32 +1100)]
Merge ../linux-2.6

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
Linus Torvalds [Thu, 9 Mar 2006 02:11:00 +0000 (18:11 -0800)]
Merge git://git./linux/kernel/git/paulus/powerpc-merge

* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge:
  powerpc: Fix various syscall/signal/swapcontext bugs
  [PATCH] powerpc: incorrect rmo_top handling in prom_init
  [PATCH] powerpc: Fix incorrect pud_ERROR() message
  [PATCH] powerpc: Expose SMT and L1 icache snoop userland features
  [PATCH] powerpc: Fix windfarm_pm112 not starting all control loops
  [PATCH] powerpc: Fix old g5 issues with windfarm
  powerpc32: Fix timebase synchronization on 32-bit powermacs
  powerpc: Turn off verbose debug output in powermac platform functions
  powerpc: Fix might-sleep warning in program check exception handler

18 years ago[PATCH] block: disable block layer bouncing for most memory on 64bit systems
Andi Kleen [Thu, 9 Mar 2006 01:57:26 +0000 (17:57 -0800)]
[PATCH] block: disable block layer bouncing for most memory on 64bit systems

The low level PCI DMA mapping functions should handle it in most cases.

This should fix problems with depleting the DMA zone early. The old
code used precious GFP_DMA memory in many cases where it was not needed.

Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i386: port ATI timer fix from x86_64 to i386 II
Andi Kleen [Thu, 9 Mar 2006 01:57:25 +0000 (17:57 -0800)]
[PATCH] i386: port ATI timer fix from x86_64 to i386 II

ATI chipsets tend to generate double timer interrupts for the local APIC
timer when both the 8254 and the IO-APIC timer pins are enabled.  This is
because they route it to both and the result is anded together and the CPU
ends up processing it twice.

This patch changes check_timer to disable the 8254 routing for interrupt 0.

I think it would be safe on all chipsets actually (i tested it on a couple
and it worked everywhere) and Windows seems to do it in a similar way, but
to be conservative this patch only enables this mode on ATI (and adds
options to enable/disable too)

Ported over from a similar x86-64 change.

I reused the ACPI earlyquirk infrastructure for the ATI bridge check, but
tweaked it a bit to work even without ACPI.

Inspired by a patch from Chuck Ebbert, but redone.

Cc: Chuck Ebbert <76306.1226@compuserve.com>
Cc: "Brown, Len" <len.brown@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 9 Mar 2006 01:50:14 +0000 (17:50 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NET] compat ifconf: fix limits

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Thu, 9 Mar 2006 00:59:34 +0000 (16:59 -0800)]
Merge /pub/scm/linux/kernel/git/mchehab/v4l-dvb

* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  Merge branch 'work-fixes'
  V4L/DVB (3413): Typos grab bag of the month
  V4L/DVB (3403): Workaround to fix initialization for Nexus CA
  Merge branch 'work-fixes'
  V4L/DVB (3395): Fixed Pinnacle 300i DVB-T support
  V4L/DVB (3399): ELSA EX-VISION 500TV: fix incorrect PCI subsystem ID
  V4L/DVB (3382): Fix stv0297 for qam128 on tt c1500 (saa7146)
  V4L/DVB (3300a): Removing personal email from DVB maintainers
  V4L/DVB (3385): Dvb: fix __init/__exit section references in av7110 driver
  V4L/DVB (3378): Restore power on defaults of tda9887 after tda8290 probe
  V4L/DVB (3354): Fix maximum for the saturation and contrast controls.
  V4L/DVB (3352): Cxusb: fix lgdt3303 naming
  V4L/DVB (3348): Fixed saa7134 ALSA initialization with multiple cards
  V4L/DVB (3347): Pinnacle PCTV 40i: add filtered Composite2 input
  V4L/DVB (3341): Upstream sync - make 2 structs static
  V4L/DVB (3340): Make a struct static
  V4L/DVB (3337): Drivers/media/dvb/frontends/mt312.c: cleanups
  V4L/DVB (3336): Bt8xx documentation authors fix

18 years ago[NET] compat ifconf: fix limits
Randy Dunlap [Thu, 9 Mar 2006 00:46:08 +0000 (16:46 -0800)]
[NET] compat ifconf: fix limits

A recent change to compat. dev_ifconf() in fs/compat_ioctl.c
causes ifconf data to be truncated 1 entry too early when copying it
to userspace.  The correct amount of data (length) is returned,
but the final entry is empty (zero, not filled in).
The for-loop 'i' check should use <= to allow the final struct
ifreq32 to be copied.  I also used the ifconf-corruption program
in kernel bugzilla #4746 to make sure that this change does not
re-introduce the corruption.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[PATCH] fix kexec asm
Michael Matz [Wed, 8 Mar 2006 05:55:48 +0000 (21:55 -0800)]
[PATCH] fix kexec asm

While testing kexec and kdump we hit problems where the new kernel would
freeze or instantly reboot.  The easiest way to trigger it was to kexec a
kernel compiled for CONFIG_M586 on an athlon cpu.  Compiling for CONFIG_MK7
instead would work fine.

The patch fixes a few problems with the kexec inline asm.

Signed-off-by: Chris Mason <mason@suse.com>
Acked-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] dac960: add disk entropy in request completions
Matt Mackall [Wed, 8 Mar 2006 05:55:47 +0000 (21:55 -0800)]
[PATCH] dac960: add disk entropy in request completions

Signed-off-by: Matt Mackall <mpm@selenic.com>
Tested-by: Anders K. Pedersen <akp@cohaesio.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] slab: allocate larger cache_cache if order 0 fails
Jack Steiner [Wed, 8 Mar 2006 05:55:46 +0000 (21:55 -0800)]
[PATCH] slab: allocate larger cache_cache if order 0 fails

kmem_cache_init() incorrectly assumes that the cache_cache object will fit
in an order 0 allocation.  On very large systems, this is not true.  Change
the code to try larger order allocations if order 0 fails.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] v9fs: fix for access to unitialized variables or freed memory
Latchesar Ionkov [Wed, 8 Mar 2006 05:55:42 +0000 (21:55 -0800)]
[PATCH] v9fs: fix for access to unitialized variables or freed memory

Miscellaneous fixes related to accessing uninitialized variables or memory
that was already freed.

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Cc: Eric Van Hensbergen <ericvh@ericvh.myip.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86: cpu model calculation for family 6 cpu
Shaohua Li [Wed, 8 Mar 2006 05:55:40 +0000 (21:55 -0800)]
[PATCH] x86: cpu model calculation for family 6 cpu

The x86_model calculation also applies for family 6. early_cpu_detect
does the right thing, but generic_identify misses.

Signed-off-by: Shaohua Li<shaohua.li@intel.com>
Cc: Dave Jones <davej@codemonkey.org.uk>
Cc: "Seth, Rohit" <rohit.seth@intel.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] s390: dasd partition detection
Horst Hummel [Wed, 8 Mar 2006 05:55:39 +0000 (21:55 -0800)]
[PATCH] s390: dasd partition detection

DASD allows to open a device as soon as gendisk is registered, which means the
device is a fake device (capacity=0) and we do know nothing about blocksize
and partitions at that point of time.  In case the device is opened by
someone, the bdev and inode creation is done with the fake device info and the
following partition detection code is just using the wrong data.

To avoid this modify the DASD state machine to make sure that the open is
rejected until the device analysis is either finished or an unformatted device
was detected.

Signed-off-by: Horst Hummel <horst.hummel@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] s390: iucv message limit for smsg
Martin Schwidefsky [Wed, 8 Mar 2006 05:55:38 +0000 (21:55 -0800)]
[PATCH] s390: iucv message limit for smsg

The message limit on the iucv connect call for the smsg module is too low.
Therefore increase the smsg message limit to 255.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] s390: fix strnlen_user return value
Gerald Schaefer [Wed, 8 Mar 2006 05:55:37 +0000 (21:55 -0800)]
[PATCH] s390: fix strnlen_user return value

strnlen_user is supposed to return then length count + 1 if no terminating \0
is found, and it should return 0 on exception.  Found by David Howells
<dhowells@redhat.com>.

Signed-off-by: Gerald Schaefer <geraldsc@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-By: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] jffs2: avoid divide-by-zero
David Woodhouse [Wed, 8 Mar 2006 05:55:36 +0000 (21:55 -0800)]
[PATCH] jffs2: avoid divide-by-zero

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fix file counting
Dipankar Sarma [Wed, 8 Mar 2006 05:55:35 +0000 (21:55 -0800)]
[PATCH] fix file counting

I have benchmarked this on an x86_64 NUMA system and see no significant
performance difference on kernbench.  Tested on both x86_64 and powerpc.

The way we do file struct accounting is not very suitable for batched
freeing.  For scalability reasons, file accounting was
constructor/destructor based.  This meant that nr_files was decremented
only when the object was removed from the slab cache.  This is susceptible
to slab fragmentation.  With RCU based file structure, consequent batched
freeing and a test program like Serge's, we just speed this up and end up
with a very fragmented slab -

llm22:~ # cat /proc/sys/fs/file-nr
587730  0       758844

At the same time, I see only a 2000+ objects in filp cache.  The following
patch I fixes this problem.

This patch changes the file counting by removing the filp_count_lock.
Instead we use a separate percpu counter, nr_files, for now and all
accesses to it are through get_nr_files() api.  In the sysctl handler for
nr_files, we populate files_stat.nr_files before returning to user.

Counting files as an when they are created and destroyed (as opposed to
inside slab) allows us to correctly count open files with RCU.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] rcu batch tuning
Dipankar Sarma [Wed, 8 Mar 2006 05:55:33 +0000 (21:55 -0800)]
[PATCH] rcu batch tuning

This patch adds new tunables for RCU queue and finished batches.  There are
two types of controls - number of completed RCU updates invoked in a batch
(blimit) and monitoring for high rate of incoming RCUs on a cpu (qhimark,
qlowmark).

By default, the per-cpu batch limit is set to a small value.  If the input
RCU rate exceeds the high watermark, we do two things - force quiescent
state on all cpus and set the batch limit of the CPU to INTMAX.  Setting
batch limit to INTMAX forces all finished RCUs to be processed in one shot.
 If we have more than INTMAX RCUs queued up, then we have bigger problems
anyway.  Once the incoming queued RCUs fall below the low watermark, the
batch limit is set to the default.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] percpu_counter_sum()
Andrew Morton [Wed, 8 Mar 2006 05:55:31 +0000 (21:55 -0800)]
[PATCH] percpu_counter_sum()

Implement percpu_counter_sum().  This is a more accurate but slower version of
percpu_counter_read_positive().

We need this for Alex's speedup-ext3_statfs patch and for the nr_file
accounting fix.  Otherwise these things would be too inaccurate on large CPU
counts.

Cc: Ravikiran G Thirumalai <kiran@scalex86.org>
Cc: Alex Tomas <alex@clusterfs.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86: Fix i386 nmi_watchdog that does not trigger die_nmi
GOTO Masanori [Wed, 8 Mar 2006 05:55:29 +0000 (21:55 -0800)]
[PATCH] x86: Fix i386 nmi_watchdog that does not trigger die_nmi

Fix i386 nmi_watchdog that does not meet watchdog timeout condition.  It
does not hit die_nmi when it should be triggered, because the current
nmi_watchdog_tick in arch/i386/kernel/nmi.c never count up alert_counter
like this:

void nmi_watchdog_tick (struct pt_regs * regs) {
if (last_irq_sums[cpu] == sum) {
alert_counter[cpu]++; <- count up alert_counter, but
if (alert_counter[cpu] == 5*nmi_hz)
die_nmi(regs, "NMI Watchdog detected LOCKUP");
alert_counter[cpu] = 0; <- reset alert_counter

This patch changes it back to the previous and working version.

This was found and originally written by Kohta NAKASHIMA.

(akpm: also uninline write_watchdog_counter(), saving 184 byets)

Signed-off-by: GOTO Masanori <gotom@sanori.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] __get_unaligned() gcc-4 fix
Atsushi Nemoto [Wed, 8 Mar 2006 05:55:28 +0000 (21:55 -0800)]
[PATCH] __get_unaligned() gcc-4 fix

If the 'ptr' is a const, this code cause "assignment of read-only variable"
error on gcc 4.x.

Use __u64 instead of __typeof__(*(ptr)) for temporary variable to get
rid of errors on gcc 4.x.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] idle threads should have a sane ->timestamp value
Ingo Molnar [Wed, 8 Mar 2006 05:55:27 +0000 (21:55 -0800)]
[PATCH] idle threads should have a sane ->timestamp value

Idle threads should have a sane ->timestamp value, to avoid init kernel
thread(s) from inheriting it and causing miscalculations in
try_to_wake_up().

Reported-by: Mike Galbraith <efault@gmx.de>.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] udf: fix uid/gid options and add uid/gid=ignore and forget options
Phillip Susi [Wed, 8 Mar 2006 05:55:24 +0000 (21:55 -0800)]
[PATCH] udf: fix uid/gid options and add uid/gid=ignore and forget options

Fix a bug in udf where it would write uid/gid = 0 to the disk for files
owned by the id given with the uid=/gid= mount options.  It also adds 4 new
mount options: uid/gid=forget and uid/gid=ignore.  Without any options the
id in core and on disk always match.  Giving uid/gid=nnn specifies a
default ID to be used in core when the on disk ID is -1.  uid/gid=ignore
forces the in core ID to allways be used no matter what the on disk ID is.
uid/gid=forget forces the on disk ID to always be written out as -1.

The use of these options allows you to override ownerships on a disk or
disable ownwership information from being written, allowing the media to be
used portably between different computers and possibly different users
without permissions issues that would require root to correct.

Signed-off-by: Phillip Susi <psusi@cfl.rr.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] numa_maps-update fix
Andrew Morton [Wed, 8 Mar 2006 05:55:22 +0000 (21:55 -0800)]
[PATCH] numa_maps-update fix

Fix the mm/mempolicy.c build for !CONFIG_HUGETLB_PAGE.

Cc: Christoph Lameter <clameter@engr.sgi.com>
Cc: Martin Bligh <mbligh@google.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] serial core: work around sub-driver bugs
Pavel Machek [Wed, 8 Mar 2006 05:55:20 +0000 (21:55 -0800)]
[PATCH] serial core: work around sub-driver bugs

We're presently getting oopses because Bluetooth (and possibly other) drivers
are calling core functions after things have been shut down.

So rather than oopsing, let's drop a warning then take avoiding action, so the
machine survives.  Once all the sub-drivers are fixed up we can remove the
take-avoiding-action part.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] powerpc: restore eeh_add_device_late() prototype stub
Mark Fasheh [Wed, 8 Mar 2006 05:55:20 +0000 (21:55 -0800)]
[PATCH] powerpc: restore eeh_add_device_late() prototype stub

We fixed this:

arch/powerpc/platforms/pseries/eeh.c: In function `eeh_add_device_tree_late':
arch/powerpc/platforms/pseries/eeh.c:901: warning: implicit declaration of function `eeh_add_device_late'
arch/powerpc/platforms/pseries/eeh.c: At top level:
arch/powerpc/platforms/pseries/eeh.c:918: error: conflicting types for 'eeh_add_device_late'
arch/powerpc/platforms/pseries/eeh.c:901: error: previous implicit declaration of 'eeh_add_device_late' was here
make[2]: *** [arch/powerpc/platforms/pseries/eeh.o] Error 1

But we forgot the !CONFIG_EEH stub.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMark the pipe file operations static
Linus Torvalds [Wed, 8 Mar 2006 22:03:09 +0000 (14:03 -0800)]
Mark the pipe file operations static

They aren't used (nor even really usable) outside of pipe.c anyway

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Wed, 8 Mar 2006 21:20:46 +0000 (13:20 -0800)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] mca recovery return value when no bus check
  [IA64] SGI SN drivers: don't report !sn2 hardware as an error
  [IA64] don't report !sn2 or !summit hardware as an error
  [IA64] gensparse_defconfig: turn on PNPACPI
  [IA64] Increase severity of MCA recovery messages

18 years agoslab: fix calculate_slab_order() for SLAB_RECLAIM_ACCOUNT
Linus Torvalds [Wed, 8 Mar 2006 18:33:05 +0000 (10:33 -0800)]
slab: fix calculate_slab_order() for SLAB_RECLAIM_ACCOUNT

Instead of having a hard-to-read and confusing conditional in the
caller, just make the slab order calculation handle this special case,
since it's simple and obvious there.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'work-fixes'
Mauro Carvalho Chehab [Wed, 8 Mar 2006 15:34:10 +0000 (12:34 -0300)]
Merge branch 'work-fixes'

18 years agoV4L/DVB (3413): Typos grab bag of the month
Alexey Dobriyan [Wed, 8 Mar 2006 01:20:23 +0000 (22:20 -0300)]
V4L/DVB (3413): Typos grab bag of the month

Typos grab bag of the month.
Eyeballed by jmc@ in OpenBSD.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
18 years agoV4L/DVB (3403): Workaround to fix initialization for Nexus CA
Marco Schluessler [Fri, 24 Feb 2006 21:53:00 +0000 (18:53 -0300)]
V4L/DVB (3403): Workaround to fix initialization for Nexus CA

Workaround for Nexus CA: Debi test fails unless first debi write is repeated.

Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
18 years agopowerpc: Fix various syscall/signal/swapcontext bugs
Paul Mackerras [Wed, 8 Mar 2006 02:24:22 +0000 (13:24 +1100)]
powerpc: Fix various syscall/signal/swapcontext bugs

A careful reading of the recent changes to the system call entry/exit
paths revealed several problems, plus some things that could be
simplified and improved:

* 32-bit wasn't testing the _TIF_NOERROR bit in the syscall fast exit
  path, so it was only doing anything with it once it saw some other
  bit being set.  In other words, the noerror behaviour would apply to
  the next system call where we had to reschedule or deliver a signal,
  which is not necessarily the current system call.

* 32-bit wasn't doing the call to ptrace_notify in the syscall exit
  path when the _TIF_SINGLESTEP bit was set.

* _TIF_RESTOREALL was in both _TIF_USER_WORK_MASK and
  _TIF_PERSYSCALL_MASK, which is odd since _TIF_RESTOREALL is only set
  by system calls.  I took it out of _TIF_USER_WORK_MASK.

* On 64-bit, _TIF_RESTOREALL wasn't causing the non-volatile registers
  to be restored (unless perhaps a signal was delivered or the syscall
  was traced or single-stepped).  Thus the non-volatile registers
  weren't restored on exit from a signal handler.  We probably got
  away with it mostly because signal handlers written in C wouldn't
  alter the non-volatile registers.

* On 32-bit I simplified the code and made it more like 64-bit by
  making the syscall exit path jump to ret_from_except to handle
  preemption and signal delivery.

* 32-bit was calling do_signal unnecessarily when _TIF_RESTOREALL was
  set - but I think because of that 32-bit was actually restoring the
  non-volatile registers on exit from a signal handler.

* I changed the order of enabling interrupts and saving the
  non-volatile registers before calling do_syscall_trace_leave; now we
  enable interrupts first.

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Wed, 8 Mar 2006 02:04:54 +0000 (18:04 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-serial

* master.kernel.org:/home/rmk/linux-2.6-serial:
  [SERIAL] ip22zilog: Fix oops on runlevel change with serial console
  [SERIAL] Fix two bugs in parport_serial

18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Wed, 8 Mar 2006 02:02:16 +0000 (18:02 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3353/1: NAS100d: protect  nas100d_power_exit() with machine_is_nas100d()
  [ARM] 3352/1: DSB required for the completion of a TLB maintenance operation

18 years ago[IA64] mca recovery return value when no bus check
Russ Anderson [Fri, 3 Mar 2006 22:42:26 +0000 (16:42 -0600)]
[IA64] mca recovery return value when no bus check

When there is no bus check, the return code should be failure, not success.

Signed-off-by: Russ Anderson (rja@sgi.com)
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] SGI SN drivers: don't report !sn2 hardware as an error
Bjorn Helgaas [Fri, 3 Mar 2006 22:34:34 +0000 (15:34 -0700)]
[IA64] SGI SN drivers: don't report !sn2 hardware as an error

This stuff is all in the generic ia64 kernel, and the new initcall error
reporting complains about them.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] don't report !sn2 or !summit hardware as an error
Bjorn Helgaas [Fri, 3 Mar 2006 22:33:47 +0000 (15:33 -0700)]
[IA64] don't report !sn2 or !summit hardware as an error

This stuff is all in the generic ia64 kernel, and the new initcall error
reporting complains about them.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] gensparse_defconfig: turn on PNPACPI
Bjorn Helgaas [Thu, 2 Mar 2006 23:59:50 +0000 (16:59 -0700)]
[IA64] gensparse_defconfig: turn on PNPACPI

Turn on CONFIG_PNPACPI.  I recently removed 8250_acpi.c.  All devices
previously claimed by 8250_acpi.c should now be claimed by 8250_pnp.c.
This depends on having CONFIG_PNPACPI so ACPI devices show up as PNP
devices.

All other ia64 defconfigs either have CONFIG_PNPACPI already, or
don't have 8250 support turned on at all.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] Increase severity of MCA recovery messages
Russ Anderson [Tue, 7 Mar 2006 23:23:25 +0000 (15:23 -0800)]
[IA64] Increase severity of MCA recovery messages

The MCA recovery messages are currently KERN_DEBUG,
so they don't show up in /var/log/messages (by default).
Increase the severity to KERN_ERR, for the initial
message (and also add the physical address to this
message). Leave the successful isolation message as
KERN_DEBUG, but increase the severity when isolation
fails to KERN_CRIT.

[Russ' patch made these all KERN_CRIT]

Signed-off-by: Russ Anderson (rja@sgi.com)
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[NETFILTER] ip_queue: Fix wrong skb->len == nlmsg_len assumption
Thomas Graf [Tue, 7 Mar 2006 22:56:12 +0000 (14:56 -0800)]
[NETFILTER] ip_queue: Fix wrong skb->len == nlmsg_len assumption

The size of the skb carrying the netlink message is not
equivalent to the length of the actual netlink message
due to padding. ip_queue matches the length of the payload
against the original packet size to determine if packet
mangling is desired, due to the above wrong assumption
arbitary packets may not be mangled depening on their
original size.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[ARM] 3353/1: NAS100d: protect nas100d_power_exit() with machine_is_nas100d()
Alessandro Zummo [Tue, 7 Mar 2006 22:48:29 +0000 (22:48 +0000)]
[ARM] 3353/1: NAS100d: protect  nas100d_power_exit() with machine_is_nas100d()

Patch from Alessandro Zummo

nas100d_power_exit(void) gets some protection
to avoid freeing an irq when it is not appropriate to do so.

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[SERIAL] ip22zilog: Fix oops on runlevel change with serial console
Martin Michlmayr [Tue, 7 Mar 2006 21:04:59 +0000 (21:04 +0000)]
[SERIAL] ip22zilog: Fix oops on runlevel change with serial console

Incorrect uart_write_wakeup() calls cause reference to a NULL tty
pointer.  This has been fixed in the sunsab and sunzilog serial drivers
in October 2005.  Update the ip22zilog, which is based on sunzilog,
accordingly.

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 7 Mar 2006 18:29:54 +0000 (10:29 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [TG3]: Add DMA address workaround

18 years agoSimplify fifo_open() locking logic
Linus Torvalds [Tue, 7 Mar 2006 17:16:35 +0000 (09:16 -0800)]
Simplify fifo_open() locking logic

We don't do interruptible waits for the pipe mutex anywhere else any
more either, so don't do it in fifo_open() either.

Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[ARM] 3352/1: DSB required for the completion of a TLB maintenance operation
Catalin Marinas [Tue, 7 Mar 2006 14:42:27 +0000 (14:42 +0000)]
[ARM] 3352/1: DSB required for the completion of a TLB maintenance operation

Patch from Catalin Marinas

Chapter B2.7.3 in the latest ARM ARM (with v6 information) states that
the completion of a TLB maintenance operation is only guaranteed by
the execution of a DSB (Data Syncronization Barrier, formerly Data
Write Barrier or Drain Write Buffer).

Note that a DSB is only needed in the flush_tlb_kernel_* functions
since the completion is guaranteed by a mode change (i.e. switching
back to user mode) for the flush_tlb_user_* functions.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[TG3]: Add DMA address workaround
Michael Chan [Tue, 7 Mar 2006 03:28:35 +0000 (19:28 -0800)]
[TG3]: Add DMA address workaround

Add DMA workaround for chips that do not support full 64-bit DMA
addresses.

5714, 5715, and 5780 chips only support DMA addresses less than 40
bits. On 64-bit systems with IOMMU, set the dma_mask to 40-bit so
that pci_map_xxx() calls will map the DMA address below 40 bits if
necessary. On 64-bit systems without IOMMU, set the dma_mask to
64-bit and check for DMA addresses exceeding the limit in
tg3_start_xmit().

5788 only supports 32-bit DMA so need to set the mask appropriately
also.

Thanks to Chris Elmquist at SGI for reporting and helping to debug
the problem on 5714.

Thanks to David Miller for explaining the HIGHMEM and DMA stuff.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Tue, 7 Mar 2006 02:47:07 +0000 (18:47 -0800)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
  IB/srp: Don't send task management commands after target removal

18 years ago[PATCH] s390: improve response code handling in chsc_enable_facility()
Cornelia Huck [Mon, 6 Mar 2006 23:43:02 +0000 (15:43 -0800)]
[PATCH] s390: improve response code handling in chsc_enable_facility()

Rather than checking for some known failures, check positively for the
success response code 0x0001 and return -EIO for unrecognized failure
response codes.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Greg Smith <gsmith@nc.rr.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] s390: fix match in ccw modalias
Bastian Blank [Mon, 6 Mar 2006 23:43:00 +0000 (15:43 -0800)]
[PATCH] s390: fix match in ccw modalias

Fix matching of devmodel in modaliases.  It breaks automatic loading of any
dasd module.

Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] windfarm license fix
Benjamin Herrenschmidt [Mon, 6 Mar 2006 23:42:59 +0000 (15:42 -0800)]
[PATCH] windfarm license fix

The Windfarm PID module lacks a licence, it should be GPL, here it is

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] smaps: shared fix
Nick Piggin [Mon, 6 Mar 2006 23:42:58 +0000 (15:42 -0800)]
[PATCH] smaps: shared fix

The point of the smaps "shared" is to count the number of pages that are
mapped by more than one process, according to Mauricio Lin.  However, smaps
uses page_count for this, so it will return a false positive for every page
that is mapped by just that one process, which is also in pagecache or
swapcache.  There are false positive situations for anonymous pages not in
swapcache as well: - page reclaim, migration - get_user_pages (eg.
direct-io, ptrace)

Use page_mapcount instead, to count the number of mappings to the page.

Use vm_normal_page so that weird things like /dev/mem aren't counted either.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] smaps: hugepages fix
Nick Piggin [Mon, 6 Mar 2006 23:42:57 +0000 (15:42 -0800)]
[PATCH] smaps: hugepages fix

smaps doesn't have a hugepage pagetable walker. Skip walking hugepage
vmas.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ramfs needs to update directory m/ctime on symlink
Peter Staubach [Mon, 6 Mar 2006 23:42:56 +0000 (15:42 -0800)]
[PATCH] ramfs needs to update directory m/ctime on symlink

ramfs neglects to update the directory mtime and ctime fields when creating
a new symbolic link.  Ramfs was modified in 2.6.15 to update these fields
when other types of entries are created.  The symlink support is separate
from that other support, so that change did not cover quite all of the
possibilities.

All of the directory content manipulation entry points now seem to be
covered with respect to these time field updates.

Signed-off-by: Peter Staubach <staubach@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] EFI: Fix gdt load
Edgar Hucek [Mon, 6 Mar 2006 23:42:54 +0000 (15:42 -0800)]
[PATCH] EFI: Fix gdt load

This patch makes the kernel bootable again on ia32 EFI systems.

Signed-off-by: Edgar Hucek <hostmaster@ed-soft.at>
Cc: Matt Domsch <Matt_Domsch@dell.com>
Cc: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] numa_maps update
Christoph Lameter [Mon, 6 Mar 2006 23:42:53 +0000 (15:42 -0800)]
[PATCH] numa_maps update

Change the format of numa_maps to be more compact and contain additional
information that is useful for managing and troubleshooting memory on a
NUMA system.  Numa_maps can now also support huge pages.

Fixes:

1. More compact format. Only display fields if they contain additional
information.

2. Always display information for all vmas. The old numa_maps did not display
vma with no mapped entries. This was a bit confusing because page
migration removes ptes for file backed vmas. After page migration
a part of the vmas vanished.

3. Rename maxref to maxmap. This is the maximum mapcount of all the pages
in a vma and may be used as an indicator as to how many processes
may be using a certain vma.

4. Include the ability to scan over huge page vmas.

New items shown:

dirty
Number of pages in a vma that have either the dirty bit set in the
page_struct or in the pte.

file=<filename>
The file backing the pages if any

stack
Stack area

heap
Heap area

huge
Huge page area. The number of pages shows is the number of huge
pages not the regular sized pages.

swapcache
Number of pages with swap references. Must be >0 in order to
be shown.

active
Number of active pages. Only displayed if different from the number
of pages mapped.

writeback
Number of pages under writeback. Only displayed if >0.

Sample ouput of a process using huge pages:

00000000 default
2000000000000000 default file=/lib/ld-2.3.90.so mapped=13 mapmax=30 N0=13
2000000000044000 default file=/lib/ld-2.3.90.so anon=2 dirty=2 swapcache=2 N2=2
2000000000064000 default file=/lib/librt-2.3.90.so mapped=2 active=1 N1=1 N3=1
2000000000074000 default file=/lib/librt-2.3.90.so
2000000000080000 default file=/lib/librt-2.3.90.so anon=1 swapcache=1 N2=1
2000000000084000 default
2000000000088000 default file=/lib/libc-2.3.90.so mapped=52 mapmax=32 active=48 N0=52
20000000002bc000 default file=/lib/libc-2.3.90.so
20000000002c8000 default file=/lib/libc-2.3.90.so anon=3 dirty=2 swapcache=3 active=2 N1=1 N2=2
20000000002d4000 default anon=1 swapcache=1 N1=1
20000000002d8000 default file=/lib/libpthread-2.3.90.so mapped=8 mapmax=3 active=7 N2=2 N3=6
20000000002fc000 default file=/lib/libpthread-2.3.90.so
2000000000308000 default file=/lib/libpthread-2.3.90.so anon=1 dirty=1 swapcache=1 N1=1
200000000030c000 default anon=1 dirty=1 swapcache=1 N1=1
2000000000320000 default anon=1 dirty=1 N1=1
200000000071c000 default
2000000000720000 default anon=2 dirty=2 swapcache=1 N1=1 N2=1
2000000000f1c000 default
2000000000f20000 default anon=2 dirty=2 swapcache=1 active=1 N2=1 N3=1
200000000171c000 default
2000000001720000 default anon=1 dirty=1 swapcache=1 N1=1
2000000001b20000 default
2000000001b38000 default file=/lib/libgcc_s.so.1 mapped=2 N1=2
2000000001b48000 default file=/lib/libgcc_s.so.1
2000000001b54000 default file=/lib/libgcc_s.so.1 anon=1 dirty=1 active=0 N1=1
2000000001b58000 default file=/lib/libunwind.so.7.0.0 mapped=2 active=1 N1=2
2000000001b74000 default file=/lib/libunwind.so.7.0.0
2000000001b80000 default file=/lib/libunwind.so.7.0.0
2000000001b84000 default
4000000000000000 default file=/media/huge/test9 mapped=1 N1=1
6000000000000000 default file=/media/huge/test9 anon=1 dirty=1 active=0 N1=1
6000000000004000 default heap
607fffff7fffc000 default anon=1 dirty=1 swapcache=1 N2=1
607fffffff06c000 default stack anon=1 dirty=1 active=0 N1=1
8000000060000000 default file=/mnt/huge/test0 huge dirty=3 N1=3
8000000090000000 default file=/mnt/huge/test1 huge dirty=3 N0=1 N2=2
80000000c0000000 default file=/mnt/huge/test2 huge dirty=3 N1=1 N3=2

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: 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] alsa: fix error paths in snd_ctl_elem_add()
Takashi Iwai [Mon, 6 Mar 2006 23:42:51 +0000 (15:42 -0800)]
[PATCH] alsa: fix error paths in snd_ctl_elem_add()

Fix bugs in error paths of snd_ctl_elem_add()
 - NULL reference
 - double free (already freed in snd_ctl_add())

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: Jaroslav Kysela <perex@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] time: add barrier after updating jiffies_64
Atsushi Nemoto [Mon, 6 Mar 2006 23:42:51 +0000 (15:42 -0800)]
[PATCH] time: add barrier after updating jiffies_64

Add a compiler barrier so that we don't read jiffies before updating
jiffies_64.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Increase max kmalloc size for very large systems
Jack Steiner [Mon, 6 Mar 2006 23:42:50 +0000 (15:42 -0800)]
[PATCH] Increase max kmalloc size for very large systems

Systems with extemely large numbers of nodes or cpus need to kmalloc
structures larger than is currently supported.  This patch increases the
maximum supported size for very large systems.

This patch should have no effect on current systems.

(akpm: why not just use alloc_pages() for sysfs_cpus?)

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] memory-hotplug compile fix
KAMEZAWA Hiroyuki [Mon, 6 Mar 2006 23:42:49 +0000 (15:42 -0800)]
[PATCH] memory-hotplug compile fix

include/linux/memory_hotplug.h:53: warning: 'struct page' declared inside parameter list

(akpm: I tossed in a couple more possibly-needed-sometime struct decls too)

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] add missing pm_power_off's
Adrian Bunk [Mon, 6 Mar 2006 23:42:47 +0000 (15:42 -0800)]
[PATCH] add missing pm_power_off's

Add the missing pm_power_off's for the h8300, v850 and xtensa
architectures.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
Cc: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] s390: fix compile with VIRT_CPU_ACCOUNTING=n
Jan Blunck [Mon, 6 Mar 2006 23:42:46 +0000 (15:42 -0800)]
[PATCH] s390: fix compile with VIRT_CPU_ACCOUNTING=n

When CONFIG_VIRT_CPU_ACCOUNTING is not defined compiling fails with an
undefined reference to account_vtime().

Signed-off-by: Jan Blunck <jblunck@suse.de>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fix next_timer_interrupt() for hrtimer
Tony Lindgren [Mon, 6 Mar 2006 23:42:45 +0000 (15:42 -0800)]
[PATCH] fix next_timer_interrupt() for hrtimer

Also from Thomas Gleixner <tglx@linutronix.de>

Function next_timer_interrupt() got broken with a recent patch
6ba1b91213e81aa92b5cf7539f7d2a94ff54947c as sys_nanosleep() was moved to
hrtimer.  This broke things as next_timer_interrupt() did not check hrtimer
tree for next event.

Function next_timer_interrupt() is needed with dyntick (CONFIG_NO_IDLE_HZ,
VST) implementations, as the system can be in idle when next hrtimer event
was supposed to happen.  At least ARM and S390 currently use
next_timer_interrupt().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86: fix potential jiffies overflow in timer_resume()
Atsushi Nemoto [Mon, 6 Mar 2006 23:42:42 +0000 (15:42 -0800)]
[PATCH] x86: fix potential jiffies overflow in timer_resume()

i386 timer_resume is updating jiffies, not jiffies_64.  It looks there is a
potential overflow problem.  And jiffies_64 and wall_jiffies should be
protected by xtime_lock.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: john stultz <johnstul@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i4l: fix compatiblity issue with big endian systems
Karsten Keil [Mon, 6 Mar 2006 23:42:41 +0000 (15:42 -0800)]
[PATCH] i4l: fix compatiblity issue with big endian systems

This patch fix some compatiblity issues with big endian systems

Signed-off-by: Martin Bachem <info@colognechip.com>
Signed-off-by: Karsten Keil <kkeil@suse.de>
Cc: Al Viro <viro@ftp.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i4l: fix refcounting problem with ttyIx devices
Karsten Keil [Mon, 6 Mar 2006 23:42:39 +0000 (15:42 -0800)]
[PATCH] i4l: fix refcounting problem with ttyIx devices

If the same ttyIx device was opened by two processes the module was not
released and so the usage count went never to zero again.  This oneliner fixes
the issue.

Signed-off-by: Oskar Senft <o.senft@sirrix.com>
Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i4l: add new PCI IDs for HFC-S PCI
Karsten Keil [Mon, 6 Mar 2006 23:42:37 +0000 (15:42 -0800)]
[PATCH] i4l: add new PCI IDs for HFC-S PCI

Add new PCI IDs for HFC-S PCI based ISDN TA 'Primux II S0' and 'Primux II S0'
from Gerdes AG

Signed-off-by: Martin Bachem <info@colognechip.com>
Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] cramfs mounts provide corrupted content since 2.6.15
Dave Johnson [Mon, 6 Mar 2006 23:42:36 +0000 (15:42 -0800)]
[PATCH] cramfs mounts provide corrupted content since 2.6.15

Fix handling of cramfs images created by util-linux containing empty
regular files.  Images created by cramfstools 1.x were ok.

Fill out inode contents in cramfs_iget5_set() instead of get_cramfs_inode()
to prevent issues if cramfs_iget5_test() is called with I_LOCK|I_NEW still
set.

Signed-off-by: Dave Johnson <djohnson+linux-kernel@sw.starentnetworks.com>
Cc: Olaf Hering <olh@suse.de>
Cc: Chris Mason <mason@suse.com>
Cc: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoslab: clarify and fix calculate_slab_order()
Linus Torvalds [Tue, 7 Mar 2006 01:44:43 +0000 (17:44 -0800)]
slab: clarify and fix calculate_slab_order()

If we triggered the 'offslab_limit' test, we would return with
cachep->gfporder incremented once too many times.

This clarifies the logic somewhat, and fixes that bug.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoAllocate 96 bytes for SCSI sense data reply
Linus Torvalds [Tue, 7 Mar 2006 01:41:44 +0000 (17:41 -0800)]
Allocate 96 bytes for SCSI sense data reply

The SCSI layer uses SCSI_SENSE_BUFFERSIZE (96) for the sense buffer
size, even though some other code uses "sizeof(struct request_sense)"
(which is 64 bytes).  Allocate the buffer using the bigger of the two
for safety.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoAdd early-boot-safety check to cond_resched()
Linus Torvalds [Tue, 7 Mar 2006 01:38:49 +0000 (17:38 -0800)]
Add early-boot-safety check to cond_resched()

Just to be safe, we should not trigger a conditional reschedule during
the early boot sequence.  We've historically done some questionable
early on, and the safety warnings in __might_sleep() are generally
turned off during that period, so there might be problems lurking.

This affects CONFIG_PREEMPT_VOLUNTARY, which takes over might_sleep() to
cause a voluntary conditional reschedule.

Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] USB Serial: fix use-after-free bug in usb-serial core
Greg Kroah-Hartman [Mon, 6 Mar 2006 21:25:52 +0000 (13:25 -0800)]
[PATCH] USB Serial: fix use-after-free bug in usb-serial core

This fixes a use-after-free bug in the usb-serial core.  It is simple to
trigger this (open a usb-serial port, then yank the device out before
closing the port.)  Thanks to Stefan Seyfried <seife@suse.de> for
reporting this, and to the slab debugging code which enabled it to be
tracked down.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Mon, 6 Mar 2006 20:10:42 +0000 (12:10 -0800)]
Merge branch 'upstream-fixes' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  [PATCH] chelsio: fix kmalloc failure in t1_espi_create
  Merge branch 'master'
  s2io: set_multicast_list bug

18 years agoFix "check_slabp" printout size calculation
Linus Torvalds [Mon, 6 Mar 2006 20:10:07 +0000 (12:10 -0800)]
Fix "check_slabp" printout size calculation

We want to use the "struct slab" size, not the size of the pointer to
same.  As it is, we'd not print out the last <n> entry pointers in the
slab (where <n> is ~10, depending on whether it's a 32-bit or 64-bit
kernel).

Gaah, that slab code was written by somebody who likes unreadable crud.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] chelsio: fix kmalloc failure in t1_espi_create
Eric Sesterhenn [Sat, 4 Mar 2006 22:16:00 +0000 (01:16 +0300)]
[PATCH] chelsio: fix kmalloc failure in t1_espi_create

memset() is called before check.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agoMerge branch 'master'
Jeff Garzik [Mon, 6 Mar 2006 19:37:47 +0000 (14:37 -0500)]
Merge branch 'master'

18 years ago[SERIAL] Fix two bugs in parport_serial
Russell King [Sun, 5 Mar 2006 00:31:22 +0000 (00:31 +0000)]
[SERIAL] Fix two bugs in parport_serial

Steinar H. Gunderson reported:

  - For some reason, it detects the 9845 as a 9735 -- it appears this is
    simply related to the ordering in parport_serial_pci_tbl[]. If we move
    the 9845 up above the 9735, it prints out 9710:9845, but no change in
    behaviour. (We didn't find out why this was the case; we left it alone
    since it didn't affect our problem.)
  - The card has no parallel port (at least no physical ones), yet it reports
    (via its subsystem ID of 0x0014) one parallel port and four serial ports.
    The probe for the parallel port fails, and the driver just aborts. Thus,
    it doesn't find the serial ports.

Fix the debugging code to use dev_dbg, but don't bother displaying the
PCI ID of the detected board (that's accessible via other means.)

Also, arrange for parport_register() to return 0 even if it finds no
ports.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6-stable
Linus Torvalds [Sun, 5 Mar 2006 18:03:05 +0000 (10:03 -0800)]
Merge /linux/kernel/git/sfrench/cifs-2.6-stable

* master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6-stable:
  [CIFS] Always match oplock break (cache notification) to the right tcp

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Sun, 5 Mar 2006 18:02:25 +0000 (10:02 -0800)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Mark __ex_table section correctly.

18 years ago[SPARC64]: Mark __ex_table section correctly.
David S. Miller [Sun, 5 Mar 2006 07:23:56 +0000 (23:23 -0800)]
[SPARC64]: Mark __ex_table section correctly.

We must use the "a" (allocate) attribute every time we
emit an entry into the __ex_table section.

For consistency, use "a" instead of #alloc which is some
Solaris compat cruft GNU as provides on Sparc.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[DCCP] ccid3: Divide by zero fix
Ian McDonald [Sat, 4 Mar 2006 01:54:46 +0000 (17:54 -0800)]
[DCCP] ccid3: Divide by zero fix

In rare circumstances 0 is returned by dccp_li_hist_calc_i_mean which
leads to a divide by zero in ccid3_hc_rx_packet_recv. Explicitly check
for zero return now. Update copyright notice at same time.

Found by Arnaldo.

Signed-off-by: Ian McDonald <imcdnzl@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[ATM]: [fore200e] fix section mismatch warnings
Sam Ravnborg [Sat, 4 Mar 2006 01:50:37 +0000 (17:50 -0800)]
[ATM]: [fore200e] fix section mismatch warnings

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[ATM]: keep atmsvc failure messages quiet
Chas Williams [Sat, 4 Mar 2006 01:49:58 +0000 (17:49 -0800)]
[ATM]: keep atmsvc failure messages quiet

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[BRIDGE]: generate kobject remove event
Stephen Hemminger [Sat, 4 Mar 2006 01:16:15 +0000 (17:16 -0800)]
[BRIDGE]: generate kobject remove event

The earlier round of kobject/sysfs changes to bridge caused
it not to generate a uevent on removal. Don't think any application
cares (not sure about Xen) but since it generates add uevent
it should generate remove as well.

Signed-off-by: Stephen Hemminger <shemmigner@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[BRIDGE]: port timer initialization
Stephen Hemminger [Sat, 4 Mar 2006 01:15:34 +0000 (17:15 -0800)]
[BRIDGE]: port timer initialization

Initialize the STP timers for a port when it is created,
rather than when it is enabled. This will prevent future race conditions
where timer gets started before port is enabled.

Signed-off-by: Stephen Hemminger <shemmigner@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[BRIDGE]: fix crash in STP
Stephen Hemminger [Sat, 4 Mar 2006 01:14:51 +0000 (17:14 -0800)]
[BRIDGE]: fix crash in STP

Bridge would crash because of uninitailized timer if STP is used and
device was inserted into a bridge before bridge was up. This got
introduced when the delayed port checking was added.  Fix is to not
enable STP on port unless bridge is up.

Bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=6140
Dup:      http://bugzilla.kernel.org/show_bug.cgi?id=6156

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[CIFS] Always match oplock break (cache notification) to the right tcp
Steve French [Sun, 5 Mar 2006 03:39:55 +0000 (03:39 +0000)]
[CIFS] Always match oplock break (cache notification) to the right tcp
session when multiply mounted.

Fixes slow response when cifs client is mounted to shares on multiple
servers and oplock break occurs (usually due to attempt to multiply open a
file).  When treeids on mutiple mounted shares match and we find the wrong
match first, we searched for the wrong cached files to send oplock break
response for which usually meant that no matching file was found and thus
the server would have to timeout the notification.  Oplock break timeout is
about 20 seconds on some servers so this could cause significantly slower
performance on file open calls in a few cases (in particular when multiple
shares are mounted from multiple servers, tree ids match, and we have a
cached file which is later opened multiple times).  This was the most
important of the bugs that was found and fixed at Connectathon
(interoperability testing event) this week.

Acked-by: Shaggy (shaggy@austin.ibm.com)
Signed-off-by: Steve French (sfrench@us.ibm.com)
18 years agoMerge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Sun, 5 Mar 2006 02:51:45 +0000 (18:51 -0800)]
Merge branch 'upstream-fixes' of /linux/kernel/git/jgarzik/misc-2.6

* 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
  [PATCH] Add missing ifdef for VIA RNG code

18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-mmc
Linus Torvalds [Sat, 4 Mar 2006 23:30:32 +0000 (15:30 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-mmc

* master.kernel.org:/home/rmk/linux-2.6-mmc:
  [MMC] au1xmmc: Fix a compilation warning ('status' is not used)
  [MMC] au1xmmc: Fix linking error because mmc_rsp_type doesn't exist
  [MMC] au1xmmc: Fix compilation error by using platform_driver

18 years ago[MMC] au1xmmc: Fix a compilation warning ('status' is not used)
Martin Michlmayr [Sat, 4 Mar 2006 23:02:10 +0000 (23:02 +0000)]
[MMC] au1xmmc: Fix a compilation warning ('status' is not used)

Fix a trivial compilation warning:

  CC      drivers/mmc/au1xmmc.o
drivers/mmc/au1xmmc.c: In function ‘au1xmmc_dma_callback’:
drivers/mmc/au1xmmc.c:743: warning: unused variable ‘status’

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Acked-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[MMC] au1xmmc: Fix linking error because mmc_rsp_type doesn't exist
Martin Michlmayr [Sat, 4 Mar 2006 23:01:39 +0000 (23:01 +0000)]
[MMC] au1xmmc: Fix linking error because mmc_rsp_type doesn't exist

drivers/mmc/au1xmmc.c doesn't compile because commit
e92251762d02a46177d4105d1744041e3f8bc465 introduced a typo and passes
the wrong argument to the mmc_resp_type macro.

Error because of the typo:

  CC      drivers/mmc/au1xmmc.o
drivers/mmc/au1xmmc.c: In function ‘au1xmmc_send_command’:
drivers/mmc/au1xmmc.c:197: warning: implicit declaration of function ‘mmc_rsp_type’
...
  LD      .tmp_vmlinux1
drivers/built-in.o: In function `au1xmmc_request':au1xmmc.c:(.text+0x89504): undefined reference to `mmc_rsp_type'
:au1xmmc.c:(.text+0x8968c): undefined reference to `mmc_rsp_type'
make: *** [.tmp_vmlinux1] Error 1

Error because of the wrong argument:

  CC      drivers/mmc/au1xmmc.o
drivers/mmc/au1xmmc.c: In function ‘au1xmmc_send_command’:
drivers/mmc/au1xmmc.c:197: error: invalid type argument of ‘->’

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[MMC] au1xmmc: Fix compilation error by using platform_driver
Martin Michlmayr [Sat, 4 Mar 2006 23:01:13 +0000 (23:01 +0000)]
[MMC] au1xmmc: Fix compilation error by using platform_driver

drivers/mmc/au1xmmc.c currently doesn't compile; it needs to be
converted to use platform_driver.  I cannot test this change because
of lack of hardware but I followed the drivers this one is based on,
and the code is certainly not worse than before.

drivers/mmc/au1xmmc.c: At top level:
drivers/mmc/au1xmmc.c:1002: error: ‘platform_bus_type’ undeclared here (not in a function)
make[2]: *** [drivers/mmc/au1xmmc.o] Error 1

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years agoppc64: make sure to align stack pointer to 16 bytes at boot
Linus Torvalds [Sat, 4 Mar 2006 23:00:45 +0000 (15:00 -0800)]
ppc64: make sure to align stack pointer to 16 bytes at boot

yaboot is scrogged and calls us with an invalid stack alignment,
it seems.

Thanks to David Woodhouse to pointing me to the problem.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agos2io: set_multicast_list bug
Jeff Garzik [Sat, 4 Mar 2006 17:06:51 +0000 (12:06 -0500)]
s2io: set_multicast_list bug

The mac_addr variable doesn't get reset between
(re)additions of multicast addresses. One byte
of all multicast addresses (except the first)
can be incorrect.

Signed-off-by: Arthur Kepner <akepner@sgi.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] Add missing ifdef for VIA RNG code
Mark Brown [Sat, 4 Mar 2006 02:05:58 +0000 (21:05 -0500)]
[PATCH] Add missing ifdef for VIA RNG code

Almost all the code for the VIA RNG is guarded with __i386__ #ifdefs,
the only exception being the enumeration of RNG types which is used to
index into the rng_vector ops array.  This patch adds an ifdef around
that for consistency and since the guard makes a difference when adding
new RNG types on non-i386 hardware.

Signed-Off-By: Mark Brown <broonie@sirena.org.uk>
Signed-Off-By: Jeff Garzik <jeff@garzik.org>
18 years agoIB/srp: Don't send task management commands after target removal
Roland Dreier [Fri, 3 Mar 2006 23:47:25 +0000 (15:47 -0800)]
IB/srp: Don't send task management commands after target removal

Just fail abort and reset requests that come in after we've already
decided to remove a target.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoMerge branch 'work-fixes'
Mauro Carvalho Chehab [Fri, 3 Mar 2006 19:17:43 +0000 (16:17 -0300)]
Merge branch 'work-fixes'

18 years agoV4L/DVB (3395): Fixed Pinnacle 300i DVB-T support
Hartmut Hackmann [Fri, 3 Mar 2006 15:09:26 +0000 (12:09 -0300)]
V4L/DVB (3395): Fixed Pinnacle 300i DVB-T support

- fixed tda9886 port 2 setting
- turned remote control receiver off via saa7134 GPIO to avoid i2c hangs
- modified tda9886 client calls to direct i2c access to allow proper return
  to analog mode
- allow mode change to V4L2_TUNER_DIGITAL_TV in tuner VIDIOC_S_FREQUENCY
  client call

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
18 years agoV4L/DVB (3399): ELSA EX-VISION 500TV: fix incorrect PCI subsystem ID
Michael Krufky [Mon, 27 Feb 2006 18:22:49 +0000 (15:22 -0300)]
V4L/DVB (3399): ELSA EX-VISION 500TV: fix incorrect PCI subsystem ID

- ELSA EX-VISION 500TV was incorrectly programmed to have the same
  subsystem ID as ELSA EX-VISION 300TV, (1048:226b)
- This changeset replaces the incorrect subsystem ID (1048:226b)
  with the correct one (1048:226a) for the ELSA EX-VISION 500TV.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
18 years agoV4L/DVB (3382): Fix stv0297 for qam128 on tt c1500 (saa7146)
Mattias Nordstrom [Mon, 27 Feb 2006 03:09:17 +0000 (00:09 -0300)]
V4L/DVB (3382): Fix stv0297 for qam128 on tt c1500 (saa7146)

I have a TT C1500 card (saa7146, STV0297) which had problems tuning
channels at QAM128 (like the ones in the Finnish HTV / Welho network).
A fix which seems to work perfectly so far is to change the delay for
QAM128 to the same values as for QAM256 in stv0297_set_frontend(),

Signed-off-by: Mattias Nordstrom <nordstrom@realnode.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>