Dave Jones [Tue, 1 Jun 2004 19:10:55 +0000 (20:10 +0100)]
Merge delerium.codemonkey.org.uk:/mnt/nfs/neologic/bar/src/kernel/2.6/trees/bk-linus
into delerium.codemonkey.org.uk:/mnt/nfs/neologic/bar/src/kernel/2.6/trees/agpgart
Dave Jones [Tue, 1 Jun 2004 18:39:56 +0000 (19:39 +0100)]
[AGPGART] intel-agp: skip non-AGP devices
From: Matt Domsch.
The E7205 doesn't have an AGP header, so printing this message is
pretty much useless. Also make it KERN_WARNING as well, as it's
not really worthy of a KERN_ERR
Dave Jones [Tue, 1 Jun 2004 10:00:11 +0000 (11:00 +0100)]
[AGPGART] Make agp=off work again.
This option only worked for the amd64 driver.
On every other driver, the only thing it did was
make it not printk the banner on startup.
Dave Jones [Tue, 1 Jun 2004 09:50:18 +0000 (10:50 +0100)]
[AGPGART] Fix broken serverworks tlb flush routine.
This is horribly broken due to a jiffy wrap bug, we never get out of
the while loop, preventing booting on a kernel with this driver
compiled in. (See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=124495)
The warning message there has never been reported in any bug report
that google can find, so I'm of the opinion that this driver is trying
to be too clever for its own good. Rip out the jiffies logic completely,
it should be totally unnecessary.
Andrew Morton [Tue, 1 Jun 2004 01:52:40 +0000 (18:52 -0700)]
[PATCH] radeonfb powerdown doesn't work
From: <fxkuehl@gmx.de>
When I switch the computer to standby with echo -n standby >
/sys/power/state the radeonfb driver tells me its suspending to state 1 but
the display does not get turned off. It turns out to be a small typo in
drivers/video/aty/radeon_pm.c.
(from http://bugme.osdl.org/show_bug.cgi?id=2758)
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:51:07 +0000 (18:51 -0700)]
[PATCH] Fix readahead handling in knfsd
From: NeilBrown <neilb@cse.unsw.edu.au>
The read-ahead structures were not being initialised properly, and were not
having the use-count decremented after use, making them fairly useless
(since Apr 2002!).
From: Colin Gibbs <colin@gibbsonline.net> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:49:51 +0000 (18:49 -0700)]
[PATCH] SECURITY_SELINUX depends on NET
From: Adrian Bunk <bunk@fs.tum.de>
LD .tmp_vmlinux1
security/built-in.o(.text+0x97e4): In function `selnl_notify':
: undefined reference to `alloc_skb'
security/built-in.o(.text+0x988a): In function `selnl_notify':
: undefined reference to `netlink_broadcast'
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:49:20 +0000 (18:49 -0700)]
[PATCH] Missing pop-off in arch/i386/kernel/acpi/wakeup.S
From: <gniibe@m17n.org>
There is a missing pop-off after call of acpi_enter_sleep_state. On
success, acpi_enter_sleep_state never returns, but on failure, it will
cause kernel OOPS.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:48:47 +0000 (18:48 -0700)]
[PATCH] Add FUTEX_CMP_REQUEUE futex op
From: Jakub Jelinek <jakub@redhat.com>
FUTEX_REQUEUE operation has been added to the kernel mainly to improve
pthread_cond_broadcast which previously used FUTEX_WAKE INT_MAX op.
pthread_cond_broadcast releases internal condvar mutex before FUTEX_REQUEUE
operation, as otherwise the woken up thread most likely immediately sleeps
again on the internal condvar mutex until the broadcasting thread releases it.
Unfortunately this is racy and causes e.g.
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/nptl/tst-cond16.c?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=glibc
to hang on SMP.
http://listman.redhat.com/archives/phil-list/2004-May/msg00023.html contains
analysis how the hang happens, the problem is if any thread does
pthread_cond_*wait in between releasing of the internal condvar mutex and
FUTEX_REQUEUE operation, a wrong thread might be awaken (and immediately go to
sleep again because it doesn't satisfy conditions for returning from
pthread_cond_*wait) while the right thread requeued on the associated mutex
and there would be nobody to wake that thread up.
The patch below extends FUTEX_REQUEUE operation with something FUTEX_WAIT
already uses:
FUTEX_CMP_REQUEUE is passed an additional argument which is the expected value
of *futex. Kernel then while holding the futex locks checks if *futex !=
expected and returns -EAGAIN in that case, while if it is equal, continues
with a normal FUTEX_REQUEUE operation. If the syscall returns -EAGAIN, NPTL
can fall back to FUTEX_WAKE INT_MAX operation which doesn't have this problem,
but is less efficient, while in the likely case that nobody hit the (small)
window the efficient FUTEX_REQUEUE operation is used.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:48:36 +0000 (18:48 -0700)]
[PATCH] Add watchdog timer to iseries_veth driver
From: David Gibson <david@gibson.dropbear.id.au>
Currently the iSeries virtual ethernet driver has no Tx watchdog timer.
This makes it vulnerable to clagging up if the other end of connection is
misbehaving - in particular if it is not giving timely hypervisor level
acks to our data frams.
This patch adds a watchdog timer which resets the connection to any lpar we
seem to be having trouble sending to. With any luck the other end might
behave better after the reset. If not, this will at least unclag the queue
for a while so we can keep talking to the lpars which are behaving
correctly.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:48:25 +0000 (18:48 -0700)]
[PATCH] ppc64: iseries bolted SLB fix
From: Anton Blanchard <anton@samba.org>
Legacy iseries has problems with the bolted vmalloc patch. This patch
disables the optimisation on iseries and creates a slb_add_bolted helper
function.
Also, while we require all SLB entries to be context switched, we werent
informing the iseries hypervisor.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:48:14 +0000 (18:48 -0700)]
[PATCH] ppc64: SLB accounting fix
From: Anton Blanchard <anton@samba.org>
Even though we have a variable containing the number of entries in the SLB,
we hardwire the value at boot. We also dont use the variable in the head.S
fastpath handler.
This patch removes it.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:48:03 +0000 (18:48 -0700)]
[PATCH] ppc64: bolt first vmalloc segment into SLB
From: Anton Blanchard <anton@samba.org>
Based on some profiles we noticed the first vmalloc region was being
continually cast out and replaced. All modules end up there so it is one
of our hottest segments.
This patch bolts the vmalloc region into the second segment. SLB misses on
an NFS benchmark were reduced by about 10% with this patch.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:47:52 +0000 (18:47 -0700)]
[PATCH] ppc64: reset iseries progress indicator on boot
From: Anton Blanchard <anton@samba.org>
Reset the progress indicator on iseries after boot.
Signed-off-by: John Engel <engel@us.ibm.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch fixes the virtual ethernet driver so that it will not block the
transmit queue indefinitely. This patch appplies on top of the previous
patch from Rusty that removed skb_clone. There is one white space fix in
hte middle of this - I hope that doesn't offend :-).
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 1 Jun 2004 01:47:09 +0000 (18:47 -0700)]
[PATCH] ppc64: iSeries default config update
From: Stephen Rothwell <sfr@canb.auug.org.au>
This patch brings the iSeries default config up to date and changes some of
the options to what I use. These are more sensible options (at least in my
opinion :-)). Please apply.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This fixes a couple of bugs in arch/ppc64/kernel/prom.c. We were
missing a couple of places where we needed to use RELOC(). I added the
RELOC in one case, and in the other, moved the variable that we were
accessing onto the stack (and reduced its size). (We use the variable
to get a property value, but we aren't interested in the value, just in
whether the property exists or not. Since we pass the size of the
variable to the OF getprop call, it won't overflow.) The effect of
missing the RELOCs would be that random memory locations get used on IBM
pSeries systems (possibly causing random boot failures).
The other thing that this does is add a linux,phandle property to each
node, containing the phandle for the node, which is the token that OF
uses to identify the node. Some nodes reference other nodes by means
of their phandle. Without the linux,phandle property, userspace code
looking at the OF device-tree image in /proc/device-tree has no way of
knowing which other node is being referenced.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jörn Engel [Mon, 31 May 2004 15:36:02 +0000 (08:36 -0700)]
[PATCH] Improve `make checkstack'
On i386, stack usually grows with "sub $0x8,%esp" and shrinks with
"add $0x8,%esp" respectively. In some cases, though, stack grows with
"add $0xffffff80,%esp" and shrinks with "sub $0xffffff80,%esp".
Obviously, we don't want to miss those cases.
Since in either case add and sub seem to be balanced and contain the
same parameter, we don't need a second regex. We simply accept hex
numbers of up to 8 digits and treat them as negative numbers when the
sub appears to be a little too high.
...or so I thought. But another day of testing proved me wrong again.
Some functions do stuff like "sub $0x10,%esp", ..., "add $0x20,%esp".
In other words, add and sub are *NOT* balanced. Manual inspection
showed that 0x20 is a more realistic number, so I accept either
variant, just in case. We pay for this with a bunch of duplicates in
our output, but that beats missing some stack hogs.
In the long run, this script has to be replaced by gcc options,
really. Looking at the result and guessing back is such a stupid
idea.
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
Matthew Wilcox [Mon, 31 May 2004 19:01:40 +0000 (15:01 -0400)]
[PATCH] Better tulip handling on PA-RISC
This patch improves some of the handling of PA-RISC tulip cards.
- Introduce HAS_SWAPPED_SEEPROM and NEEDS_FAKE_MEDIA_TABLE
- Only trigger this code on GSC machines. The pure PCI machines don't
have these cards.
- Allow the chip_name to be overridden in tulip_init_one().
- Fix some indentation.
- Handle the output from tulip_read_eeprom() better.
Krzysztof Halasa [Mon, 31 May 2004 19:01:28 +0000 (15:01 -0400)]
[PATCH] Re: [Fwd: [PATCH] Stop queue on close in hdlcdrv]
> From: Ralf Baechle <ralf@linux-mips.org>
> Subject: [PATCH] Stop queue on close in hdlcdrv
> To: Jeff Garzik <garzik@gtf.org>
> Date: Tue, 4 May 2004 13:59:15 +0200
>
> The stop method of a driver should ensure queueing is stopped ...
>
> diff -u -r1.19 hdlcdrv.c
> --- suckage/drivers/net/hamradio/hdlcdrv.c 12 Apr 2004 20:23:32 -0000
the above means the following is needed for my drivers - please apply to 2.6:
Andrew Morton [Mon, 31 May 2004 19:00:56 +0000 (15:00 -0400)]
[PATCH] fix net/ixgb/ixgb_main.c warning
From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
drivers/net/ixgb/ixgb_main.c: In function `ixgb_intr':
drivers/net/ixgb/ixgb_main.c:1593: warning: unused variable `hw'
(catch by J. Cherry).
This happens because `hw' is only used when CONFIG_IXGB_NAPI is not set.
As `hw' is used only to have the code readable, we can use it for
!CONFIG_IXGB_NAPI too.
Marcel Holtmann [Tue, 1 Jun 2004 01:34:49 +0000 (03:34 +0200)]
[Bluetooth] Add quirk for broken RTX Telecom based dongles
Some RTX Telecom based USB dongles offer SCO support, but their
implementation is broken. This patch disables the use of the ISOC
interface for these devices.
Marcel Holtmann [Mon, 31 May 2004 23:04:38 +0000 (01:04 +0200)]
[Bluetooth] Move function exports out of syms.c
With Linux 2.6 there is no need to keep the function exports in a
central file and thus the use of syms.c makes no real sense. Remove
it and add the EXPORT_SYMBOL calls to the functions they belong to.
Russell King [Mon, 31 May 2004 12:15:46 +0000 (13:15 +0100)]
[PCMCIA] Fix up SOC PCMCIA socket timing calculations
The timing calculations used by the PXA platforms did not always take
account of the timings handed to us by PCMCIA, and where it did, it
assumed IO timings for memory windows.
We fix this, and provide a generic function which calculates the
required timings (in nanoseconds) for IO, memory and attribute
windows. The SOC drivers only have to convert this information to
whatever format the hardware requires to achieve at least these
timing parameters.
Russell King [Mon, 31 May 2004 12:41:16 +0000 (13:41 +0100)]
[ARM] Eliminate meminfo 'end' element
Some machines decided to initialise this element. It's not necessary
since find_memend_and_nodes() initialises this itself. However,
'end' is not required if we initialise high_memory in this function
rather than waiting until mem_init() is called.
Peter Osterlund [Mon, 31 May 2004 08:11:45 +0000 (01:11 -0700)]
[PATCH] Avoid excessive stack usage in NFS
Assigning '*wdata' with a dynamic initializer creates a
temporary structure copy on the stack, and then the final
data is initialized with a "memcpy()".
As a result, these NFS functions use more than 800 bytes
of stack-space.
Changing the code to just do a memset followed by explicit
initialization of the non-zero member variables takes the
stack usage down to 36 bytes.
Alexander Viro [Sun, 30 May 2004 14:35:38 +0000 (07:35 -0700)]
[PATCH] sparse alpha: the rest of it
A bunch of "return in void function" dealt with, removed bogus extern
from definition of __load_new_mm_context(), sanitized fscking ugly
CROSS_64K() helper (even if sparse doesn't segfault on that anymore,
it's _still_ fscking ugly).