Matthew Wilcox [Fri, 13 Aug 2004 02:48:04 +0000 (19:48 -0700)]
[PATCH] Remove fcntl f_op
The newly introduced ->fcntl file_operation is badly thought out,
not to mention undocumented. This patch replaces it with two better
defined operations -- check_flags and dir_notify. Any other fcntl()s
that filesystems are interested in can have their own properly typed
f_op method when they need it.
Marc Singer [Fri, 13 Aug 2004 00:15:44 +0000 (01:15 +0100)]
[ARM PATCH] 2002/1: lh7a40x Timer fixup
Patch from Marc Singer
The work already done to rectify the timer code initialization missed
a necessary change. This patch adds a timer initialization function
to the LPD7A400 machine type. It also makes a small correction to the
kernel configuration that is out of step with the machine specific
Kconfig.
Marc Singer [Fri, 13 Aug 2004 00:08:22 +0000 (01:08 +0100)]
[ARM PATCH] 2001/1: lh7a40x IDE cleanup
Patch from Marc Singer
This patch aligns the lh7a40x port with the updated structure of IDE
drivers. It also removes an unused FIQ handler. This patch is made
in order to get the lh7a40x port to build.
Catalin Marinas [Thu, 12 Aug 2004 18:09:50 +0000 (19:09 +0100)]
[ARM PATCH] 2012/1: Use -malignment-traps instead of -mshort-load-bytes if gcc supports it
Patch from Catalin Marinas
This patch replaces the -mshort-load-bytes option with $(call
check_gcc,-malignment-traps,-mshort-load-bytes) in the CFLAGS
setting in arch/arm/Makefile.
Tom Rini [Thu, 12 Aug 2004 11:24:36 +0000 (04:24 -0700)]
[PATCH] ppc32: Fix warning on CONFIG_PPC32 && CONFIG_6xx
In the *ppos cleanups, proc_dol2crvec was updated, but the prototype
found at the top of kernel/sysctl.h was not, generating warning. This
corrects the prototype to match the code.
(I'm gonna take a stab at moving these into arch/ppc shortly)
Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Thu, 12 Aug 2004 02:43:09 +0000 (19:43 -0700)]
Be a bit more anal about allowing SCSI commands to be sent.
Normal users shouldn't have access to the raw device anyway
unless they are in the trusted "disk" group, but let's require
RAWIO capabilities. That's what the original SCSI interfaces
did anyhoo.
We probably _should_ just require write access, but that will
need more of a code change to pass down the file descriptor.
Jens Axboe [Thu, 12 Aug 2004 02:27:27 +0000 (19:27 -0700)]
[PATCH] setup queue before elevator_init()
We must setup the queue before calling elevator_init(), otherwise the
elevator cannot use the queue members. This really hurts cfq since it
checks ->nr_requests, which is zero at that time.
David Woodhouse [Tue, 10 Aug 2004 16:25:01 +0000 (17:25 +0100)]
Fix use-after-free bug in MTD partitioning code.
Define callback wrapper function mtd_erase_callback() to handle
partition offsets during the callback, rather than attempting to
fix them up in the freed erase_info structure after the callback
has already happened.
Andrew Morton [Tue, 10 Aug 2004 13:00:41 +0000 (09:00 -0400)]
[PATCH] wrong mac address with netgear FA311 ethernet card
From: Mathieu LESNIAK <maverick@eskuel.net>
This patch corrects a problem with Netgear FA311
ethernet card (a cheap one). Without it, the MAC address is byte swapped
ie :
HWaddr 02:00:07:E3:E9:F5
instead of :
HWaddr 00:02:E3:07:F5:E9
(the correct MAC address vendor code for Netgear/LiteOn is 00:02:E3)
Simon Kelley [Tue, 10 Aug 2004 13:00:21 +0000 (09:00 -0400)]
[PATCH] Atmel wireless bigendian fix.
The following patch adds a couple of missing byteswaps and allows the
Atmel wireless driver to work in WEP mode on big-endian CPUs. (tested
on powerPC).
* Change the "version" OID to what it should be.
* Fix memory leaks - mgt_get_request always returns
* allocated memory for non-int OIDS (with an exception -
* keep reading). If the caller checks the return and itself
* returns, then it must free memory.
* However, it is possible to return from mgt_get_request
* early (!priv->mib). In this case, weird things can happen
* in isl_ioctl. Quick fix, at least to force an oops, is
* to set the union value to NULL. The real fix is to
* recode all mgt_get_request calls in isl_ioctl.
* We are handing back HANDLED even though the IRQ is not for us.
We also change device state.
This is plainly wrong.
AFAICT we also need to take the spin lock early.
Tested/running on UP/SMP for about a week now.
(Discovered on one of my lappies that had the X driver on the same IRQ)
(Proposed on Prism54 Devel with no objections)
* It seems that Viro patched prism54 with the following patch set :
http://www.kernel.org/pub/linux/kernel/v2.6/testing/cset/
cset-viro@www.linux.org.uk[torvalds]|ChangeSet|20040727040034|54764.txt
* I do not see any indication in any mailing list of this.
It would be nice if we could be informed of such changes :-)
Removing the __section__() fixes it, as does moving to gcc 3.2 or 3.3,
but gcc 2.95 and 3.0 still exhibit the problem. It seems the 4k stack
developers like newer compilers than I do :)
The gcc 2.95 section declaration looks like this:
.section .bss.page_aligned,"aw",@progbits
while the 3.1 section looks like this:
.section .bss.page_aligned,"aw",@nobits
It's definitely a bug that's been fixed:
http://sources.redhat.com/ml/binutils/2002-10/msg00507.html
I've been told that I can fix it with a carefully crafted assembly file and
maybe a change to the linker script, but all that it buys us is a little
space in the uncompressed kernel image. Plus, the warning will still be
there at compile-time.
I say, put them back in plain old BSS.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Roger Luethi [Tue, 10 Aug 2004 02:57:16 +0000 (19:57 -0700)]
[PATCH] via-rhine: Really call rhine_power_init()
Without this patch, mainline via-rhine cannot wake the chip if some other
driver puts it to D3. The problem has hit quite a few people already.
This is a fix for the heisenbug with via-rhine refusing to work
sometimes. Patch "[9/9] Restructure reset code" contained a change made
necessary by patch [8/9]. Mainline merged [8/9] for 2.6.8 and is still
missing the fix, while -mm got it with [9/9].
Jesper Juhl provided crucial test data when no one else was able to
reproduce the symptoms.
Signed-off-by: Roger Luethi <rl@hellgate.ch> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David S. Miller [Mon, 9 Aug 2004 14:28:42 +0000 (07:28 -0700)]
[SPARC64]: Fix spitfire bugs in tlb flush and copy_page changes.
- VISEntry clobbers %g3, so have to do %asi stuff
after we invoke it.
- Need to or in 0x10 to TLB flush addresses when
flushing in secondary context
- Context register restore using wrong address register
- Spitfire not so tolerant of membar in delay slot.
[BRIDGE]: Fix problems with filtering and defragmentation.
Dave, this patch from Bart De Schuymer <bdschuym@pandora.be> fixes problems
when using filtering and defragmentation. The bridge needs to enforce the
MTU restriction after going through the filtering chain not before, because
the incoming filter may have reassembled an IP packet, that then needs to
be fragmented on the output chain.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@redhat.com>
[IPSEC]: Add missing flow_cache_genid update to xfrm_policy_delete()
Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@redhat.com>
If you rmmod a network device that is in a vlan, the system hangs waiting
for the refcount to go to zero, because it is -1. The problem is that the
vlan notifier does an extra dev_put in NETDEV_UNREGISTER case of notifier.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@redhat.com>
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.
David S. Miller [Mon, 9 Aug 2004 06:45:00 +0000 (23:45 -0700)]
[SPARC64]: Fix up copy_page just like clear_page.
- Do not save/restore existing TLB entries, that is
expensive, complicated, and does not really help
performance much at all.
- Only one unrolled loop for cheetah copy code.
- For spitfire, use %asi register for block commit
handling so we do not need two copies of the code.
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.
David S. Miller [Sun, 8 Aug 2004 12:55:28 +0000 (05:55 -0700)]
[SPARC64]: Make clear_user_page more leight weight.
- Do not save/restore existing TLB entries, that is
expensive, complicated, and does not really help
performance much at all.
- Only one block store per loop iteration, doing more
does not make things run any faster.
David S. Miller [Sun, 8 Aug 2004 12:53:23 +0000 (05:53 -0700)]
[SPARC64]: Always record actual PC when kernel profiling.
We used to play games reporting the callers
PC in certain functions such as the rwlock
and atomic_t routines. If anything, somethin
like this should be optional, not by default.
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).