David Woodhouse [Wed, 11 Jan 2006 14:41:26 +0000 (14:41 +0000)]
[PATCH] fix/simplify mutex debugging code
Let's switch mutex_debug_check_no_locks_freed() to take (addr, len) as
arguments instead, since all its callers were just calculating the 'to'
address for themselves anyway... (and sometimes doing so badly).
Thibaut VARENE [Wed, 11 Jan 2006 01:48:01 +0000 (20:48 -0500)]
[PARISC] pdc_stable: More robust sysfs error checking
pdc_stable 0.10:
As mentioned on LKML, pdc_stable wasn't checky enough on the return
values of some calls. This patch makes it more robust to errors when
registering objects in sysfs.
Grant Grundler [Wed, 11 Jan 2006 01:47:57 +0000 (20:47 -0500)]
[PARISC] Fix BLK_BOUNCE_HIGH on parisc by initializing max_low_pfn
max_low_pfn was not being set in arch/parisc/mm/init.c, causing severe
problems whenever anything tried to use BLK_BOUNCE_HIGH. Set it to
max_pfn like other similar architectures do.
Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Matthew Wilcox [Wed, 11 Jan 2006 01:47:53 +0000 (20:47 -0500)]
[PARISC] Fix GSC graphics cards with 64MB regions
Make knapps work with its 64MB gfx card. I probably just broke another
machine in the process, but assuming 64MB when 64MB aligned is probably
safer than assuming 32MB all the time.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Kyle McMartin [Wed, 11 Jan 2006 01:47:52 +0000 (20:47 -0500)]
[PARISC] Fix and cleanup ioremap.c to work with 4level-fixup.h
Fixup ioremap a bit. It seems to work on 32-bit kernels, but fails
miserably on the first ioremapped access on 64-bit kernels. Also, having
STI enabled causes it to fail. Probably because we're passing an ioremapped
region to a real-mode STI call...
Helge Deller [Wed, 11 Jan 2006 01:47:50 +0000 (20:47 -0500)]
[PARISC] Fix Cirrus 6832 Cardbus on RDI Tadpole PARISC Laptop
Fix irq-off-by-one for Cirrus 6832 Cardbus on RDI Tadpole PARISC Laptop.
We just DECLARE_PCI_FIXUP_ENABLE as it is unlikely that this will be
found in any other parisc system.
Matthew Wilcox [Wed, 11 Jan 2006 01:47:49 +0000 (20:47 -0500)]
[PARISC] Make local cache flushes take a void *
Make flush_data_cache_local, flush_instruction_cache_local and
flush_tlb_all_local take a void * so they don't have to be cast
when using on_each_cpu(). This becomes a problem when on_each_cpu
is a macro (as it is in current -mm).
Also move the prototype of flush_tlb_all_local into tlbflush.h and
remove its declaration from .c files.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Jesper Juhl [Wed, 11 Jan 2006 00:51:26 +0000 (01:51 +0100)]
missing printk loglevel and tiny tiny whitespace change in binfmt_elf()
Patch adds a mising printk loglevel (I think KERN_WARNING is appropriate
here) in fs/binfmt_elf.c, and while I was there I made some tiny tiny tiny
adjustments to whitespacing in the neighborhood.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Adrian Bunk <bunk@stusta.de>
Jesper Juhl [Wed, 11 Jan 2006 00:50:28 +0000 (01:50 +0100)]
add missing printk loglevel in mm/swapfile.c
in mm/swapfile.c a printk() is missing a loglevel. I believe the proper
loglevel for this situation is KERN_ERR, so that's what the patch below
sets -if you agree, please apply.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Adrian Bunk <bunk@stusta.de>
Jesper Juhl [Wed, 11 Jan 2006 00:48:08 +0000 (01:48 +0100)]
Tiny esthetic changes to Documentation/laptop-mode.txt
Here's a tiny patch making a few esthetic changes to
Documentation/laptop-mode.txt
To me this patch makes sense, but feel free to disagree, I don't feel
strongly about it at all.
It changes a single URL to its strictly correct form (directories should
end in /), and it makes the arguments to main in an included example
program follow convention and be named argc and argv.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Adrian Bunk <bunk@stusta.de>
This memset() line was indented with seven spaces, this patch fixes
it to use a tab instead. Yes, very trivial but it's the third time
I have to look at this line..
Signed-off-by: Luiz Capitulino <lcapitulino@mandriva.com.br> Signed-off-by: Adrian Bunk <bunk@stusta.de>
Ingo Molnar [Tue, 10 Jan 2006 21:07:44 +0000 (22:07 +0100)]
[PATCH] fix i386 mutex fastpath on FRAME_POINTER && !DEBUG_MUTEXES
Call the mutex slowpath more conservatively - e.g. FRAME_POINTERS can
change the calling convention, in which case a direct branch to the
slowpath becomes illegal. Bug found by Hugh Dickins.
Adrian Bunk [Tue, 10 Jan 2006 21:10:02 +0000 (13:10 -0800)]
[IRDA]: kill drivers/net/irda/sir_core.c
EXPORT_SYMBOL's do nowadays belong to the files where the actual
functions are.
Moving the module_init/module_exit to the file with the actual functions
has the advantage of saving a few bytes due to the removal of two
functions.
Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Small cleanups for drivers/atm/zatm.c
Get rid of unneeded cast of kmalloc() return value.
Small whitespace/CodingStyle/formatting cleanup (since I was in there anyway).
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Tue, 10 Jan 2006 01:48:09 +0000 (17:48 -0800)]
[NETFILTER]: Fix timeout sysctls on big-endian 64bit architectures
The connection tracking timeout variables are unsigned long, but
proc_dointvec_jiffies is used with sizeof(unsigned int) in the sysctl
tables. Since there is no proc_doulongvec_jiffies function, change the
timeout variables to unsigned int.
Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Tue, 10 Jan 2006 00:44:00 +0000 (16:44 -0800)]
[NETFILTER]: Fix another crash in ip_nat_pptp
The PPTP NAT helper calculates the offset at which the packet needs
to be mangled as difference between two pointers to the header. With
non-linear skbs however the pointers may point to two seperate buffers
on the stack and the calculation results in a wrong offset beeing
used.
Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Tue, 10 Jan 2006 00:43:43 +0000 (16:43 -0800)]
[NETFILTER]: Fix crash in ip_nat_pptp
When an inbound PPTP_IN_CALL_REQUEST packet is received the
PPTP NAT helper uses a NULL pointer in pointer arithmentic to
calculate the offset in the packet which needs to be mangled
and corrupts random memory or crashes.
Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
The congestion ops and af_ops in the inet_connection_sock
can be const.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Greg Ungerer [Tue, 10 Jan 2006 07:00:39 +0000 (17:00 +1000)]
[PATCH] m68knommu: fix find_next_zero_bit in bitops.h
We're starting a number of big applications (memory footprint app.
1MByte) on our Arcturus uC5272. Therefore memory fragmentation is a
real pain for us. We've switched to uClinux-2.4.27-uc1 and found that
page_alloc2 fragments the memory heavily.
Digging into it we found a bug in the find_next_zero_bit function in the
m68knommu/bitops.h file. if the size isn't a multiple of 32 than the
upper bits of the last word to be searched should be masked. But the
functions masks the lower bits of the last word because it uses a right
shift instead of a left shift operator.
Patch submitted by Sascha Smejkal <s.smejkal@centersystems.at>
Greg Ungerer [Tue, 10 Jan 2006 06:59:37 +0000 (16:59 +1000)]
[PATCH] uclinux: delay binfmt_flat trace
Modify the initial trace output (which is based on flags in the binary
header) so that it is not done until after the magic number check. This
may well not be a flat format binary, so the flags could be invalid.
(Prime example, running a script).
Greg Ungerer [Tue, 10 Jan 2006 06:59:04 +0000 (16:59 +1000)]
[PATCH] m68knommu: set irq priority/level different for each ColdFire serial port
Set the hardware interrupt priority to a different value for each
attached ColdFire serial port. According to the CPU documentation you
should not use the same combination of level/priority on more than one
device. People have reported odd serial port behavior with them set the
same.
Greg Ungerer [Tue, 10 Jan 2006 06:42:59 +0000 (16:42 +1000)]
[PATCH] m68knommu: fix a5 reg corruption in signal handlers
This is a patch adapted from a posting by Andrea Tarani which was
pointed out to me by Bernardo Innocenti. Thanks to both of them for
their help and patience.
The original posting is here:
http://mailman.uclinux.org/pipermail/uclinux-dev/2005-July/033543.html
The problem first manifest itself as busybox ping terminating with an
"Illegal instruction". I reduced this to a test case and found that
variable size arrays allocated on the stack could lead to stacks not
aligned on 32 bit boundaries. For the Coldfire this proved fatal.
Having been pointed out this patch by Bernardo, I applied it and it
fixed the first test case. I then went back to busybox's ping. This
still failed with "Illegal instruction", but in a different way. Before
it depended on the size allocated for the ping buffer, now it happened
every time. I also found it depended on optimisation level (gcc-3.4.0)
-Os was okay but not -O2.
After a lot of looking, it turned out that register a5 was being
corrupted by the signal handler (after applying the patch). I re-worked
the patch a bit to save/restore a5 and now all seems well.
Patch submitted by Stuart Hughs <stuarth@freescale.com>
Linus Torvalds [Tue, 10 Jan 2006 16:56:39 +0000 (08:56 -0800)]
Fix rpc shutdown event condition bug
We want to wait for the cl_users to go down to zero, not for it to stay
positive. Quoth Trond (who wasn't even the author, but acked the wrong
version): "Argh! I need to increase my daily caffeine dosages."
Oleg Nesterov [Tue, 10 Jan 2006 13:48:02 +0000 (16:48 +0300)]
[PATCH] rcu: join rcu_ctrlblk and rcu_state
This patch moves rcu_state into the rcu_ctrlblk. I think there
are no reasons why we should have 2 different variables to control
rcu state. Every user of rcu_state has also "rcu_ctrlblk *rcp" in
the parameter list.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: Paul E. McKenney <paulmck@us.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jens Axboe [Tue, 10 Jan 2006 09:48:02 +0000 (10:48 +0100)]
[PATCH] dm: don't enable bouncing by default
DM doesn't need to bounce bio's on its own, but the block layer defaults
to that in blk_queue_make_request(). The lower level drivers should
bounce ios themselves, that is what they need to do if not layered below
dm anyways.
Anton Blanchard [Tue, 10 Jan 2006 07:21:20 +0000 (18:21 +1100)]
[PATCH] Work around ppc64 compiler bug
In the process of optimising our per cpu data code, I found a ppc64
compiler bug that has been around forever. Basically the current
RELOC_HIDE can end up trashing r30. Details of the bug can be found at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25572
This bug is present in all compilers before 4.1. It is masked by the
fact that our current per cpu data code is inefficient and causes
other loads that end up marking r30 as used.
A workaround identified by Alan Modra is to use the =r asm constraint
instead of =g.
Signed-off-by: Anton Blanchard <anton@samba.org>
[ Verified that this makes no real difference on x86[-64] */ Signed-off-by: Linus Torvalds <torvalds@osdl.org>