Linus Torvalds [Mon, 9 Aug 2004 09:09:47 +0000 (02:09 -0700)]
Fix up sound driver proc-reading interfaces.
The old ones were not only hard to use, they were in fact
impossible or a low-level sound driver to get right, since
the core sound code didn't even export all the necessary
information.
Add the file offset to the /proc read interfaces, and make
them simpler to use. The core now does a offset updates, and
sanity-checks the values so that the low-level drivers don't
need to worry.
Anton Blanchard [Mon, 9 Aug 2004 06:56:59 +0000 (23:56 -0700)]
[PATCH] [ppc64] Fix SLB castout issue
The SLB rewrite removed a fix for a hard to hit bug, but the SFS guys
managed to hit it straight away. We need to check both r1 and PACAKSAVE
or else we could cast our kernel segment out when on the irq or softirq
stack.
Jens Axboe [Mon, 9 Aug 2004 03:28:06 +0000 (20:28 -0700)]
[PATCH] adjust SG reserved size automatically
The block layer SG should have the identical behaviour as SCSI sg when
it comes to SG_SET_RESERVED_SIZE - allow caller to specify a large
amount, truncate to largest we support, and return that with
SG_GET_RESERVED_SIZE. Currently we fail with -EINVAL if the value is
too large, I think the SCSI sg behaviour is more sane to use. This
one-liner fixes it up, please apply for 2.6.8.
Russell King [Sun, 8 Aug 2004 17:04:49 +0000 (18:04 +0100)]
[ARM] Fix sparse warnings in nwfpe.
This fixes sparse warnings in fpa11_cpdt (coprocessor data transfer)
instruction emulation. Note that pointers need to be cast to unsigned
long not unsigned int, so convert user registers to be unsigned long
type.
Linus Torvalds [Sun, 8 Aug 2004 07:07:55 +0000 (00:07 -0700)]
Remove ESPIPE logic from drivers, letting the VFS layer handle it instead.
This cleans up and simplifies drivers, and also allows us future
simplification in the VFS layer, since it removes knowledge about
internal VFS layer handling of "f_pos".
Linus Torvalds [Sat, 7 Aug 2004 16:43:47 +0000 (09:43 -0700)]
Make sysctl pass the pos pointer around properly.
Nobody ever fixed the big FIXME in sysctl - but we really need
to pass around the proper "loff_t *" to all the sysctl functions
if we want them to be well-behaved wrt the file pointer position.
This is all preparation for making direct f_pos accesses go
away.
Alexander Viro [Sat, 7 Aug 2004 12:15:08 +0000 (05:15 -0700)]
[PATCH] mpoa patch done right
- conversion to seq_file, overflow fixes
- qos_parse sanitized (3 sscanf calls instead of insane manual parsing)
leaks plugged
code cleaned up
We still have serious races, but they are general problem in atm code - it
has no locking whatsoever for any of the lists (mpcs, qos_head, per-client
lists).
Some new sysfs macros declare a store_purr() function that never gets used,
which makes a compiler warning happen. Suppress the warning with the used
attribute.
Signed-off-by: Dave Hansen <haveblue@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>
Anton Blanchard [Sat, 7 Aug 2004 07:57:15 +0000 (00:57 -0700)]
[PATCH] ppc64: set SMT thread priority to medium for all exceptions
We need to set the thread priority to medium when entering all exceptions.
We may have been executing in low priority (eg the idle loop), but
definitely do not want to remain in that priority for the duration of the
exception (eg a device interrupt).
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Anton Blanchard [Sat, 7 Aug 2004 07:57:04 +0000 (00:57 -0700)]
[PATCH] ppc64: avoid speculative execution after rfid
Due to speculative execution, a CPU may execute some instructions after the
rfid. This makes profiles confusing, since profiling ticks could end up in
those instructions following the rfid that are never executed.
Add a branch to self after each rfid to avoid this.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Anton Blanchard [Sat, 7 Aug 2004 07:56:42 +0000 (00:56 -0700)]
[PATCH] ppc64: various XICS fixes
- Remove unused includes.
- Be consistent about printing irq numbers, avoid a mix of decimal and
hexadecimal.
- Remove prototypes from xics.c, they should be in xics.h.
- Remove infinite loop on failure, and instead use panic. Panic has a chance to
log the error message on the LED panel and reboot the box, a while(1) loop
does not.
- xics isnt compiled for iseries any more, so no need for the
CONFIG_PPC_PSERIES hack.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
John Engel [Sat, 7 Aug 2004 07:56:31 +0000 (00:56 -0700)]
[PATCH] ppc64: 32-bit ptrace geteventmsg fix
Here's a fix for the 32-bit PTRACE_GETEVENTMSG ptrace call that handles the
passing of a 32-bit user address. Please apply, thanks.
Signed-off-by: John Engel <jhe@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>
Paul Mackerras [Sat, 7 Aug 2004 07:56:22 +0000 (00:56 -0700)]
[PATCH] ppc64: pci_dn cleanups
This patch just cleans up arch/ppc64/kernel/pci_dn.c a bit, including:
- remove it from the iSeries build completely
- small changes to Makefile
- remove the "post" parameter from traverse_pci_devices as
noone used it
- make traverse_all_pci_devices static
- remove CONFIG_PPC_PSERIES tests as we no longer build for iSeries
- some reformatting (closer to "standard")
- remove some of pointer casts
This has been built (with default config) on pSeries and pmac and built and
run on iSeries.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Thomas Spatzier [Sat, 7 Aug 2004 07:55:59 +0000 (00:55 -0700)]
[PATCH] s390: qeth performance.
qeth network driver performance improvements. The ping time on the
HiperSockets interface drops from 250 usecs to 50 usecs and the 1 bytes
request/response test improves from 70000 to 110000 transactions.
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>
Cornelia Huck [Sat, 7 Aug 2004 07:55:13 +0000 (00:55 -0700)]
[PATCH] s390: common i/o layer changes.
common i/o layer changes:
- Set state of a disconnected device to offline before calling
ccw_device_online, otherwise the device doesn't come up again.
- Check for channel end when trying to find out if basic sense
was successful.
- Fix error handling in new_channel_path.
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>
[PATCH] sparc32: gcc-3.3 macro parenthesization fix for memcpy.S
From: Art Haas <ahaas@airmail.net>
The 1.3->1.4 changes to the arch/sparc/lib/copy_user.S file added parenthesis
to a number of macros within that file. The BK changlog associated with this
change indicate the change was to make the file work with gcc-3.3.
When looking at the changes made, I see that similar macros exist in memcpy.S
as well, so would a patch adding parens to that file be worthwhile? Also,
just what was the problem with gcc-3.3 that was resolved by adding the
parenthesis? Macro mis-expansion I'm guessing.
Signed-off-by: Art Haas <ahaas@airmail.net> Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
cache_decay_ticks needs to be defined in order for the kernel to link. This
placeholder is inaccurate, however, other, more grave SMP issues need to be
addressed first.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
smp_reschedule_irq() mysteriously vanished sometime after 2.4. This patch
reinstates it so that the kernel will link properly and so cpus will set
TIF_NEED_RESCHED when it's asked of them.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The SMP initialization functions try to do btfixups on the wrong symbols for
smp_processor_id(), which is now implemented in terms of
current_thread_info()->cpu. hard_smp_processor_id() etc. are now in use
where smp_processor_id() was once used.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
An analysis of the code determined that AP initialization called init_idle()
no less than three times, 2 out of the three with incorrect numbers of
arguments. This patch removes the superfluous calls.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 7 Aug 2004 07:52:47 +0000 (00:52 -0700)]
[PATCH] jbd: journal_head unmapping race fix
Fix a race identified by Chris Mason <mason@suse.com>
journal_unmap_buffer -> __dispose_buffers has the j_list_lock and the
jbd_lock_bh_state held.
journal_get_write_access calls journal_put_journal_head, which takes
jbd_lock_bh_journal_head(bh) and doesn't seem to have any other locks held.
Since journal_unmap_buffers trusts the buffer_jbd bit to see if we need to
call __dispose_buffer, and nobody seems to test buffer_jbd after taking
jbd_lock_bh_journal_head. The kernel dereferences a null jh pointer in
__journal_remove_journal_head.
The patch fixes this by using journal_grab_journal_head() in
journal_unmap_buffer(). It ensures that we either grab and pin the
journal_head if the bh has one, or we bale out if the bh doesn't have a
journal_head.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Sat, 7 Aug 2004 07:52:36 +0000 (00:52 -0700)]
[PATCH] Restore PPP filtering
Karsten Keil's patch entitled "[ISDN]: Fix kernel PPP/IPPP active/passiv
filter code" that went in back in April was an attempt to solve a real
problem - namely that the libpcap maintainers have removed useful
functionality that pppd was using - but his fix broke existing pppd
binaries and IMO didn't end up actually solving the problem.
This patch reverts the change to ppp_generic.c so that existing pppd
binaries work again. I am going to have to work out a proper fix, which
may involve further changes to ppp_generic.c, but I will make sure existing
pppd binaries still work.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Sam Ravnborg [Sat, 7 Aug 2004 07:52:25 +0000 (00:52 -0700)]
[PATCH] kbuild: Remove LANG preset in top-level Makefile
In the top-level Makefile a number of locale related environment
variables were preset to give a small speed up when building the kernel.
Unfortunately this had the bad sideeffect that the variable
CFLAGS_vmlinux.lds.o lost the exported vaule in some setups (obviously
not mine). This smells like a make issue - but the best solution is
simply to drop presetting the locale related variables.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Sat, 7 Aug 2004 05:12:52 +0000 (22:12 -0700)]
Add infrastructure for the VFS layer to mark files seekable.
We use a FMODE_LSEEK flag to match the existing read/write
bits. This allows us to check for seekability on a VFS level
for lseek/pread/pwrite, and cleans things up.
Update some sites that used the numeric constants to use
the symbolic values instead.
Kevin Hilman [Fri, 6 Aug 2004 15:20:34 +0000 (16:20 +0100)]
[ARM PATCH] 1986/1: bootpImage/ARM: add ability to run from non-zero address
Patch from Kevin Hilman
The following patch allows the bootpImage to be loaded and executed
from a non-zero address. On OMAP platforms for example, the physical
address for SDRAM is 0x10000000 and not zero.
Paul Mackerras [Fri, 6 Aug 2004 08:12:56 +0000 (01:12 -0700)]
[PATCH] Remove ppc32 proc_rtas.c
This patch removes proc_rtas.c and error_log.[ch] from
arch/ppc/platforms. It turns out that the code in error_log.[ch] is
completely unused, and the code in proc_rtas.c is buggy, almost
impossible to understand, and rarely used.
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
James Morris [Fri, 6 Aug 2004 02:46:07 +0000 (19:46 -0700)]
[PATCH] Re-implemented i586 asm AES
This code is a rework of the original Gladman AES code, and does not
include any supposed BSD licensed work by Jari Ruusu.
Linus converted the Intel asm to Gas format, and made some minor
alterations.
Fruhwirth's glue module has also been retained, although I rebased the
table generation and key scheduling back to Gladman's code. I've tested
this code with some standard FIPS test vectors, and large FTP transfers
over IPSec (both locally and over the wire to a system running the
generic AES implementation).
Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexander Viro [Thu, 5 Aug 2004 13:37:01 +0000 (06:37 -0700)]
[PATCH] ppc64: Fix rtas file mess
This does the seq_file conversion + annotation + cleanup + race fixes
for arch/ppc64/kernel/rtas-proc.c.
How the fuck did that file manage to get anywhere near the tree, anyway?
Take a look at guy's "implementation" of sprintf(buf, "%04d", num), for
example:
<vomit>
/* construct the sensor number like 0003 */
/* fill with zeros */
n = sprintf(tmp, "%d", s.token);
len = strlen(tmp);
while (strlen(tmp) < 4)
n += sprintf (tmp+n, "0");
/* invert the string */
while (tmp[i]) {
if (i<len)
tmp2[4-len+i] = tmp[i];
else
tmp2[3-i] = tmp[i];
i++;
}
tmp2[4] = '\0';
</vomit>
Linus Torvalds [Thu, 5 Aug 2004 13:30:40 +0000 (06:30 -0700)]
Fix shrink_dcache_anon() LRU list accesses.
It would potentially remove dentries from the LRU list
without re-initializing the d_lru fields, causing later
accesses to that dentry to do bad things to the LRU list.
Tom Rini [Thu, 5 Aug 2004 11:18:41 +0000 (04:18 -0700)]
[PATCH] ppc32: Fix 'mktree' on 64bit hosts
The following patch changes some 'unsigned long's into 'uint32_t's in
mktree (a program that runs on the host to frob the kernel image for
some firmwares). Without it, the program is not correct when run
on/compiled on a 64bit host.
Signed-off-by: Dan Zink <dan.zink@hp.com> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Roland McGrath [Thu, 5 Aug 2004 10:43:51 +0000 (03:43 -0700)]
[PATCH] fix /proc printing of TASK_DEAD state
I just stumbled across this patch that's been sitting in my tree for ages.
I thought I'd sent this in before. It's a trivial fix for the printing
of task state in /proc and sysrq dumps and such, so that TASK_DEAD shows
up correctly. This state is pretty much only ever there to be seen when
there are exit/reaping bugs, but it's not like that hasn't come up.
Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>