Dave Jones [Fri, 4 Jun 2004 00:46:25 +0000 (01:46 +0100)]
[CPUFREQ] Remove bogus longhaul v4
The code only supports 3 versions, so numbering them 1,2 and 4
doesn't make a lot of sense. Signed-off-by: Dave Jones <davej@redhat.com>
Dave Jones [Fri, 4 Jun 2004 00:44:00 +0000 (01:44 +0100)]
[CPUFREQ] Move longhaul multiplier debug printk to somewhere more useful.
If we abort due to a reserved FSB being found, we probably want to know the multipliers.
Dave Jones [Fri, 4 Jun 2004 00:29:42 +0000 (01:29 +0100)]
[CPUFREQ] Remove lots of redundant code from longhaul driver.
The recent Nehemiah changes introduced lots of stuff that does
a whole lot of nothing. Nuke it.
Alexander Viro [Thu, 3 Jun 2004 11:19:22 +0000 (04:19 -0700)]
[PATCH] sparse: wavefront annotation
Both ALSA and OSS drivers + wavefront ioctl structure annotated. NB:
both should be switched to generic firmware loading - as it is, they are
using a homegrown and rather ugly variant
Alexander Viro [Thu, 3 Jun 2004 11:18:29 +0000 (04:18 -0700)]
[PATCH] sparse: sound/core/pcm* annotation
The tricky part here was an iterator that used to take a callback and
argument for that callback as parameters. Iterator itself didn't care
what type that argument had been; it's entirely up to callback. The
thing is, two callbacks expect (and get) char __user * while other two
expect (and also get) char __user **.
Iterator used to use void * as "opaque data"; I've switched it to
unsigned long. Note that there was nothing that said "it's a pointer" -
use of callback that would take e.g. int is also perfectly legitimate.
Alexander Viro [Thu, 3 Jun 2004 09:47:28 +0000 (02:47 -0700)]
[PATCH] sparse: msnd sound fix
msnd_pinnacle/msnd_classic do copy_{to,from}_user under a spinlock.
Taken out of spinlock (into a temp. buffer). Calls of msnd_fifo_{read,write}
always go from kernel buffer now, so we can drop the 'int user' argument in
them _and_ simplify error handling - all errors were from copy_..._user() and
now these are called directly by dsp_read()/dsp_write().
Alexander Viro [Thu, 3 Jun 2004 09:47:17 +0000 (02:47 -0700)]
[PATCH] sparse: sound sb fix
In some cases snd_sb_csp_load() did kmalloc() and copy_from_user()
under a spinlock. Split into snd_sb_csp_load() and snd_sb_csp_load_user() -
ther former always from kernel pointer, the latter - from userland.
snd_sb_csp_load_user() doesn't take any locks itself, it just
does kmalloc, copy_from_user and calls snd_sb_csp_load() to do the rest.
Russell King [Thu, 3 Jun 2004 18:01:25 +0000 (19:01 +0100)]
[ARM] Don't include lubbock.h in asm/arch/hardware.h
Since asm/arch/hardware.h is included (indirectly) by most kernel
files, we don't want all these files depending on the individual
machine support files, especially as only five files really require
the header.
Instead, explicitly include lubbock.h into files as necessary.
Paul Mackerras [Thu, 3 Jun 2004 08:06:05 +0000 (01:06 -0700)]
[PATCH] ppc32: Fix locks.c properly this time
When I moved the exports into arch/ppc/lib/locks.c, I forgot to
include module.h, so it doesn't compile (with CONFIG_SMP +
CONFIG_SPINLOCK_DEBUG). This patch fixes it.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Thu, 3 Jun 2004 01:22:18 +0000 (18:22 -0700)]
[PATCH] ppc32: Reduce WARN_ON(0) to nothing
The last patch I sent means that we have WARN_ON(0) in a couple of
places when CONFIG_PREEMPT=n. This patch makes that reduce to
nothing (rather than a conditional trap on a 0 value), and also makes
BUG_ON(0) reduce to nothing for completeness.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Thu, 3 Jun 2004 01:22:08 +0000 (18:22 -0700)]
[PATCH] ppc32: Fix preemptible check
Ben H added a check in a couple of places to make sure that we had
preemption disabled when we call enable_kernel_{fp,altivec}.
Unfortunately the check he used trips in the case when
CONFIG_PREEMPT=n. This patch fixes it by defining a preemptible()
macro (which reduces to 0 when CONFIG_PREEMPT=n) and doing
WARN_ON(preemptible()).
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Thu, 3 Jun 2004 01:21:57 +0000 (18:21 -0700)]
[PATCH] ppc32: Make ppc32 PCI code more robust
The main thrust of this patch is to make the ppc32 PCI code more
robust by checking for bus->resource[] being NULL before using it. We
can legitimately get elements of bus->resource being NULL and I have
actually hit that on some machines. This patch also allows resources
starting at 0 to be accepted as assigned (we can and do get PCI
resources starting at 0 in I/O space on PPC machines) and provides a
sensible default for the case where Open Firmware doesn't give us a
bus-range property for a PCI bridge.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Thu, 3 Jun 2004 01:21:47 +0000 (18:21 -0700)]
[PATCH] ppc32: Use -fPIC instead of -mrelocatable-lib
The ppc32 boot code has a couple of files that are executed very early
on before the kernel is mapped at the address it is linked at. We
have been using -mrelocatable-lib to compile these files, but
apparently -mrelocatable-lib is deprecated and the gcc developers are
threatening to remove it. In fact the -fPIC flag does what we need.
This patch changes -mrelocatable-lib to -fPIC.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Thu, 3 Jun 2004 01:21:36 +0000 (18:21 -0700)]
[PATCH] ppc32: Suppress bogus info in /proc/ppc_htab on 64-bit cpus
In the ppc32 kernel, we have a /proc/ppc_htab file that trawls through
the MMU hash table and prints various statistics on it such as percent
occupancy. However, the hash table entry format is different on
64-bit cpus (POWER3, G5) which the ppc32 kernel does support (in
32-bit mode).
This patch disables the scanning of the MMU hash table and printing of
the statistics that we get from it on 64-bit cpus. Since the
statistics are only for interest, and the ppc32 kernel is being used
less and less on 64-bit cpus now that the ppc64 kernel is in
reasonable shape, I didn't think it worth while to add code to deal
with the 64-bit HPTE format.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Thu, 3 Jun 2004 01:21:26 +0000 (18:21 -0700)]
[PATCH] ppc32: Don't synchronize in disable_irq() if no handler
This patch is the ppc32 counterpart to a fix that went into
arch/i386/kernel/irq.c last October. The bug was noted by Al Viro: if
no handler exists, and we have IRQ_INPROGRESS set because of an
earlier irq that got through, synchronize_irq() will end up waiting
forever.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Thu, 3 Jun 2004 01:21:15 +0000 (18:21 -0700)]
[PATCH] ppc32: Add _raw_write_trylock
I tried compiling a PPC32 kernel with PREEMPT + SMP and it failed
because we didn't have a _raw_write_trylock. This patch adds
_raw_write_trylock, moves the exports of _raw_*lock from
arch/ppc/kernel/ppc_ksyms.c to arch/ppc/lib/locks.c, and makes
__spin_trylock static since it is only used in locks.c.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 3 Jun 2004 01:05:20 +0000 (18:05 -0700)]
[PATCH] direct-io invalidation fix
clean_blockdev_aliases() is using the wrong thing to work out how many
filesystem blocks should be invalidated. It invalidates too many, which can
cause live fs metadata buffers to be invalidated when they are pending
writeout. It's a filesystem-wrecker, although seems very hard to hit.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 3 Jun 2004 01:05:09 +0000 (18:05 -0700)]
[PATCH] bug in sys_io_setup
From: Jerzy Szczepkowski <js189202@zodiac.mimuw.edu.pl>
There is a bug in sys_io_setup().
If ioctx_alloc() succeeds and put_user() fails io_destroy() is called.
io_destroy() assumes that ioctx->users >= 2 (if context is alive) and calls
put_ioctx twice, while in this sequence ioctx->users == 1.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 3 Jun 2004 01:04:58 +0000 (18:04 -0700)]
[PATCH] Use decimal instead of hex for EDD values
From: "Patrick J. LoPresti" <patl@users.sourceforge.net>
This patch changes default_cylinders, default_heads,
default_sectors_per_track, legacy_max_cylinder, legacy_max_head,
legacy_sectors_per_track, and sectors to decimal.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 3 Jun 2004 01:04:36 +0000 (18:04 -0700)]
[PATCH] use c99 struct initializer in hotcpu_notifier
From: Nathan Lynch <nathanl@austin.ibm.com>
The hotcpu_notifier macro does not properly record the given priority in
the notifier block. This causes trouble only for callers which specify a
non-zero priority, of which there are none (yet).
Andrew Morton [Thu, 3 Jun 2004 01:04:25 +0000 (18:04 -0700)]
[PATCH] ext3_orphan_del may double-decrement bh->b_count
From: Jeff Mahoney <jeffm@suse.com>
Chris Mason and I ran across this one while hunting down another bug.
If ext3_mark_iloc_dirty() fails in ext3_orphan_del() on the outer buffer,
bh->b_count will be decremented twice. ext3_mark_iloc_dirty() will brelse
the buffer, even on error. ext3_orphan_del() is explicity brelse'ing the
buffer on error. Prior to calling ext3_mark_iloc_dirty(), this is the
correct behavior.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 3 Jun 2004 01:03:52 +0000 (18:03 -0700)]
[PATCH] quota: fix for old quota format
From: Jan Kara <jack@ucw.cz>
Fix a problem in the old quota format when we tried to read quota
information after the end of quota file (that is correct as it might a user
with sufficiently large UID which has no limits or usage).
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 3 Jun 2004 01:03:41 +0000 (18:03 -0700)]
[PATCH] quota: fix writing of quota info
From: Jan Kara <jack@ucw.cz>
Fixes a problem with some quota operations not writing the quota info they
changed which could later cause that some transaction to use more buffers
than it had reserved or it could cause corrupted quota files when the
system was rebooted at the right time.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 3 Jun 2004 01:03:27 +0000 (18:03 -0700)]
[PATCH] s390: network device driver
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Network driver changes:
- iucv: Fix special case of a "Connection Pending" interrupt within
iucv_do_int.
- netiucv: Revoke broken iucvMagic change for more than one connection.
- qeth: Fix string parsing in notifier_register attribute function.
- qeth: Add code for socket ioctl SIOC_QETH_GET_CARD_TYPE.
- qeth: Fix debug log entry and buffer copy in qeth_snmp_command_cb.
- qeth: Fix race on qeth_dbf_txt_buf.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 3 Jun 2004 01:03:07 +0000 (18:03 -0700)]
[PATCH] s390: block device driver
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
block device driver changes:
- dasd: Fix diag discipline if it is loaded as a module.
- dcssblk: Replace r/w lock with r/w semaphore to be able to call
device_register inside a critical section.
- dcssblk: Fix error handling in write function for dcss "add" attribute.
- xpram & dcssblk: Fix sanity check for sector number.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 3 Jun 2004 01:02:51 +0000 (18:02 -0700)]
[PATCH] s390: common i/o layer
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Common i/o layer changes:
- qdio: Lose the adapter lock for thin interrupts to improve performance
and do unregister of the adapter interrupt handler with rcu.
- ccwgroup: Fix error handling when creating a ccwgroup device.
- Convert the slow crw kernel thread to a single threaded workqueue.
- Use the slow crw workqueue to unregister a subchannel after it was
found not operational to serialize it with other possible unregister/
register events coming in via machine checks.
- Trigger a rescan of the css via the slow path if a missing channel path
is found in __recover_lost_chpids.
- Use saner default levels for the debug feature, add some debugging code.
- Remove request_irq and free_irq stubs.
- Remove bogus inlines.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>