This just reformats the goto labels to a more accepted style. Now to
do some more reformatting after ages and then make it aware of the
new modules infrastructure, i.e. kill MOD_{INC,DEC}_USE_COUNT, then
rinse and repeat it with LLC, Appletalk, etc.
Russell King [Sun, 30 Mar 2003 10:14:49 +0000 (11:14 +0100)]
[PCMCIA] Reorganise SA11xx PCMCIA support.
The SA1100 PCMCIA structure didn't lend itself well to the device
model. With this reorganisation, we end up with a reasonable
structure which fits better with the driver model. It is now
obvious that SA11x0-based socket drivers are separate from
SA1111-based socket drivers, and are treated as two separate drivers
by the driver model.
Trying to read the overlong target of a /proc/*/fd/N file descriptor
leads to a SIGSEGV inside the kernel, because the code doesn't check
for an error pointer return from d_path.
Linus Torvalds [Sat, 29 Mar 2003 14:34:37 +0000 (06:34 -0800)]
Update direct-rendering to current DRI CVS tree.
This adds support for i830 interrupt handling, and new improved
lock context keying. See per-file comments for more detail, as this
commit sadly mixes up a few different things (that's what you get
for not tracking the changes at a fine enough granularity).
Jean Tourrilhes [Sat, 29 Mar 2003 04:41:15 +0000 (23:41 -0500)]
[PATCH] : Discovery locking fixes
o [CRITICA] Fix remaining locking problem with discovery log
o [CRITICA] Don't call expiry callback under spinlock
o [FEATURE] Simplify/cleanup/optimise discovery/expiry code
Martin J. Bligh [Fri, 28 Mar 2003 19:43:27 +0000 (14:43 -0500)]
[PATCH] remove warning for 3c509.c
Get this compile warning:
drivers/net/3c509.c:207: warning: `el3_device_remove' declared `static' but never defined
because the function definition is under
"#if defined(CONFIG_EISA) || defined(CONFIG_MCA)".
This patch puts the declaration under the same conditions.
I'd be shocked if it wasn't correct ;-)
Paul Mackerras [Fri, 28 Mar 2003 19:43:08 +0000 (14:43 -0500)]
[PATCH] MACE ethernet driver update
This patch updates the MACE ethernet driver, used on older powermacs,
to remove the uses of save_flags/restore_flags/cli/sti and use a
spinlock instead.
Adrian Bunk [Fri, 28 Mar 2003 19:42:29 +0000 (14:42 -0500)]
[PATCH] fix .text.exit error in drivers/net/r8169.c
In drivers/net/r8169.c the function rtl8169_remove_one is __devexit but
the pointer to it didn't use __devexit_p resulting in a.text.exit
compile error when !CONFIG_HOTPLUG.
Andrew Morton [Fri, 28 Mar 2003 11:20:19 +0000 (03:20 -0800)]
[PATCH] use page_to_pfn() in __blk_queue_bounce()
From: William Lee Irwin III <wli@holomorphy.com>
__blk_queue_bounce() contains an open-coded page_to_pfn() for the
discontig, non-MAP_NR_DENSE() case (wherever MAP_NR_DENSE() went).
This converts it to use the standard page_to_pfn() abstraction.
Andrew Morton [Fri, 28 Mar 2003 11:19:37 +0000 (03:19 -0800)]
[PATCH] x86 clock override boot option
From: john stultz <johnstul@us.ibm.com>
This patch allows one to manually specify the i386 gettimeofday time-source
by passing clock=[pit|tsc|cyclone|...] as a boot argument. The argument will
override the default probled selection, and in case the selected time-source
not be avalible the code defaults to using the PIT (printing a warning saying
so).
Andrew Morton [Fri, 28 Mar 2003 11:19:30 +0000 (03:19 -0800)]
[PATCH] wait_on_buffer refcounting checks
It is generally illegal to wait on an unpinned buffer - another CPU could
free it up even before __wait_on_buffer() has taken a ref against the buffer.
Maybe external locking rules will prevent this in specific cases, but that is
really subtle and fragile as locking rules are evolved.
The patch detects people calling wait_on_buffer() against an unpinned buffer
and issues a diagnostic.
Also remove the get_bh() from __wait_on_buffer(). It is too late.
Andrew Morton [Fri, 28 Mar 2003 11:19:09 +0000 (03:19 -0800)]
[PATCH] handle oom in tmpfs
From: Hugh Dickins <hugh@veritas.com>
move_from_swap_cache and add_to_page_cache_lru are using GFP_ATOMIC,
which can easily fail in an intermittent way. Rude if shmem_getpage
then fails with -ENOMEM: use blk_congestion_wait() to let kswapd in,
and repeat.
Andrew Morton [Fri, 28 Mar 2003 11:19:02 +0000 (03:19 -0800)]
[PATCH] tmpfs truncation fix
From: Hugh Dickins <hugh@veritas.com>
Recent testing has shown that swapoff can sneak a page back into the
tmpfs page cache after truncate_inode_pages has cleaned it, before
shmem_truncate resets next_index to stop that: BUG_ON(inode->i_blocks)
in shmem_delete_inode. So call truncate_inode_pages again to be safe.
Andrew Morton [Fri, 28 Mar 2003 11:18:54 +0000 (03:18 -0800)]
[PATCH] make add_to_swap_cache() static
From: Hugh Dickins <hugh@veritas.com>
Make add_to_swap_cache static, it's only used by read_swap_cache_async;
and since that has just done a GFP_HIGHUSER allocation, surely it's
better for add_to_swap_cache to use GFP_KERNEL than GFP_ATOMIC.
Andrew Morton [Fri, 28 Mar 2003 11:18:47 +0000 (03:18 -0800)]
[PATCH] permit page unmapping if !CONFIG_SWAP
From: Hugh Dickins <hugh@veritas.com>
Raised #endif CONFIG_SWAP in shrink_list, it was excluding
try_to_unmap of file pages. Suspect !CONFIG_MMU relied on
that to suppress try_to_unmap, added SWAP_FAIL stub for it.
Andrew Morton [Fri, 28 Mar 2003 11:18:18 +0000 (03:18 -0800)]
[PATCH] slab: fix off-by-one in size calculation
From: Manfred Spraul <manfred@colorfullife.com>
Brian spotted a stupid bug in the slab initialization:
If multiple objects fit into one cacheline, then the allocator ignores
SLAB_HWCACHE_ALIGN and squeezes the objects into the same cacheline. The
implementation contains an off by one error and thus doesn't work correctly:
For Athlon optimized kernels, the 32-byte slab uses 64 byte of memory.
Andrew Morton [Fri, 28 Mar 2003 11:18:11 +0000 (03:18 -0800)]
[PATCH] POSIX timers interface long/int cleanup
From: Eric Piel <Eric.Piel@Bull.Net>
Fixes some long/int confusion on 64-bit machines which was causing failures
on ia64 - we end up trying to set bits in the 32-63 range on an int and the
kernel locks up.
Andrew Morton [Fri, 28 Mar 2003 11:18:04 +0000 (03:18 -0800)]
[PATCH] initcall debug code
The patch is designed to help locate where the kernel is dying during the
startup sequence.
- Boot parameter "initcall_debug" causes the kernel to print out the
address of each initcall before calling it.
The kallsyms tables do not cover __init sections, so printing the
symbolic version of these symbols doesn't work. They need to be looked up
in System.map.
- Detect whether an initcall returns with interrupts disabled or with a
locking imbalance. If it does, complain and then try to fix it up.
Patrick Mochel [Thu, 27 Mar 2003 10:27:09 +0000 (04:27 -0600)]
sysfs: Fix file removal
Turns out we do need to do d_delete() on individual files (and symlinks)
when removing them the tree, to make sure they actually get removed from
the hierarchy.
Trond Myklebust [Thu, 27 Mar 2003 19:43:56 +0000 (20:43 +0100)]
[PATCH] Fix misleading EIO on NFS client
The following patch by Joe Korty removes an over-zealous check in the NFS
read code that causes pages to be incorrectly marked with PG_error and
hence causes an EIO to be returned to userland.
The test is incorrect as it ignores the fact that we may be caching a
write that will extend the file on the server (and hence will create a
hole in the region concerned.).
Trond Myklebust [Thu, 27 Mar 2003 19:34:55 +0000 (20:34 +0100)]
Fix xprt.c so that it resends RPC requests immediately after a timeout.
Doing this ensures that we keep probing the connection to the server
rather than just waiting for the entire congestion window to time out.
The latter can be very expensive due to the exponential backoff rule.
Neil Brown [Thu, 27 Mar 2003 02:57:29 +0000 (18:57 -0800)]
[PATCH] kNFSd: Be more careful with readlock in exp_parent
We currently hold a read_lock of dparent_lock
while calling exp_get_by_name on several ancestors
of a given dentry. However exp_get_by_name can
malloc(GFP_KERNEL), so that isn't a good idea.
Now we only claim the lock while actually
stepping up the parent chain.