This patch kills the bogus radeonfb_read/write routines. In order to do so,
it adds a new member to fb_info, along with screen_base, which is screen_size,
indicating the mapped area. The default fb_read/write will now use that instead
of fix->smem_len if it is non-0, and radeonfb now sets it to the mapped size
of the framebuffer.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] ppc64:Fix missing register in altivec context switch
This is a resend of a patch sent in July and that got lost somewhat,
the "VSCR" register wasn't restored properly from the context on
load_up_altivec (typo), please apply the fix:
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Rusty Russell [Sun, 12 Sep 2004 10:00:47 +0000 (03:00 -0700)]
[NETFILTER]: Fix conntrack seq_file handling.
Am travelling, but this passed simple tests here. If this isn't going
in, the current seqfile stuff should be ripped out; it's a mess.
/proc/net/ip_conntrack was changed over to seq_file. However,
seq_file isn't a great fit (a linked list which is changing is not a
good candidate for seq file), and the conversion was done badly.
1) Don't do allocation: simply hand the pointer head of the correct chain.
2) Actually output the original tuple.
3) Lock only when actually traversing hash chain.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: David S. Miller <davem@davemloft.net>
[IPVS]: Do not use skb_checksum_help(), create and use nf_reset_debug()
Appended is a 2nd version that uses nf_reset_debug.
- do not use skb_checksum_help in input path as ipvs can handle
incoming CHECKSUM_HW packets
- do not use skb_checksum_help in forwarding path
- claim that checksum is valid (CHECKSUM_NONE) when entering output
path for out->in packets
- do not reset/destroy the nfct in IP_VS_XMIT, the intention is to
reset the debugging field just to avoid log floods from nf_debug_ip_*
functions, it is known that the ipvs packets traverse other
hooks, eg. LOCAL_IN->LOCAL_OUT. Use nf_reset_debug instead of nf_reset.
Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
Well, rt->rt6i_idev is always set if it is dynamically allocated.
However, when we hit ip6_null_entry here, its rt6i_idev is NULL.
This patch is minimum fix to avoid the oops for now.
Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
1. If the fake 5513 id bit is not set by the BIOS we must have the 5518
id in the device table.
2. If the register remapping is not set by the BIOS then the enable bit
check in ide_pci_setup_ports will fail. It's safe to switch to the
remapping mode here. Keeping the not remapped mode would need quite big
changes AFAICS.
This driver caused a _lot_ of warnings due to tons
of explicit casts to "uclong". Making all the types
sane not only removed the warnings, but got rid of
a lot of silly casting, since the types are now much
more natural to what the driver wanted to do in the
first place.
Roland McGrath [Fri, 10 Sep 2004 16:20:19 +0000 (09:20 -0700)]
[PATCH] Fix PTRACE_CONT after single-step into signal delivery
The previous single-step patch ("make single-step into signal delivery
stop in handler") took things a little too far.
It left TF set in the sigcontext on the stack, so a PTRACE_CONT after
stopping at the handler entry will step instead of resume. This
additional patch fixes it.
Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Add sparse "__iomem" infrastructure to check PCI address usage
There's tons of mis-use of PCI memory-mapped IO that is used
as if it was regular memory. That fails disastrously on a number
of architectures, and it doesn't help that it just happens to
work on regular x86 boxes.
This makes makes us do much stricter type-checking. Some of it
visible to the regular compiler, but the bulk of it is for sparse.
Thomas Graf [Fri, 10 Sep 2004 08:48:29 +0000 (01:48 -0700)]
[NET]: Device name changing via rtnetlink
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 10 Sep 2004 08:35:59 +0000 (01:35 -0700)]
[TCP]: Fix packet counting during retransmission.
We run into a potential problem if we are doing
TSO and we reduce the congestion window. We might
create a case where the TSO packet is what we need
to resend but the congestion window is not large
enough to allow it through.
The fix is very simple, since tcp_retransmit_skb()
is going to chop the size of the packet down to size
of the normal non-TSO MSS, we can pretend at the top
level that each SKB is composed of only one real MSS
worth of data.
Signed-off-by: David S. Miller <davem@davemloft.net>
If we don't have IPv6 default routes, we assume all ipv6 destinations
are on-link as specified in RFC2461. It, however, is considered harmful now;
it is problematic with IPv6-capable nodes that do not have off-link
IPv6 connectivity (eg no default routers) and such nodes will take
a few seconds until they fall back to use IPv4.
See <draft-ietf-v6ops-onlinkassumption-02.txt> for details.
From: KUNITAKE Koichi <kunitake@anchor.jp> Signed-off-by: KUNITAKE Koichi <kunitake@anchor.jp> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Fri, 10 Sep 2004 07:37:08 +0000 (00:37 -0700)]
[IPCOMP]: Use per-cpu buffers for compression/decompression.
Here is a really ugly patch to get IPCOMP to use per-cpu buffers. But
I'm afraid it really is necessary. At 300K per SA IPCOMP isn't very
affordable at all.
With per-cpu buffers this goes down to 300K per CPU.
I've also turned the kmalloc'ed scratch space into a vmalloc'ed one
since people may be loading the ipcomp module after the system has
been running for a while. On an i386 machine with 64M of RAM or less
this can often cause a 64K kmalloc to fail.
The crypto deflate buffer space are vmalloc'ed already as well.
Part of the ugliness comes from the lazy allocation. However we need
the lazy initialisation since new IPCOMP algorithms may be introduced
in future. That means we can't allocate space for every single IPCOMP
algorithm at module-load time.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Fri, 10 Sep 2004 07:36:11 +0000 (00:36 -0700)]
[IPSEC]: Find larval SAs by sequence number
When larval states are generated along with ACQUIRE messages, we should
use the sequence to find the corresponding larval state when creating
states with ADD_SA or ALLOC_SPI.
If we don't do that, then it may take down an unrelated larval state
with the same parameters (think different TCP sessions). This not only
leaves behind a larval state that shouldn't be there, it may also cause
another ACQUIRE message to be sent unnecessarily.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
[PATCH] ide: fix LBA48 support for ALi chipsets (rev < 0xC5)
Affected chipsets support LBA48 but not LBA48 DMA.
Just use DMA for area < 137GB and revert to PIO for > 137GB one.
Also disallow transfers > 256 sectors for better performance.
[PATCH] ide: remove kmalloc() from ide_unregister()
tmp_hwif should not be kmalloc()ed in ide_unregister().
If the kmalloc fails, there is no possible error recovery.
This patch makes tmp_hwif static, protected by ide_cfg_sem.
Signed-off-by: Jorn Engel <joern@wh.fh-wedel.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The recent sungem NAPI change introduced a bug: dev_kfree_skb() is
called within a softirq context, thus triggers all sort of WARN_ON's
later on down the stack.
This patch changes it to dev_kfree_skb_any().
Acked by David Miller.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The recent fbdev changes broke something quite fundamental on ppc, which
is the way offb works. It's a "fallback" driver that is to be used when
no other driver picked up the video, or when "forced" via the video=ofonly
command line option.
The recent changes completely broke that (which is a pretty important
behaviour on ppc since we still have some models regulary with video
cards that don't work properly with the kernel drivers, like some nVidias
or some older stuffs).
This patch moves offb to the end of the Makefile, so at least the behaviour
of taking over as a "fallback" is restored (the current kernel will have
offb take control of the framebuffer before any fbdev has a chance to do
it, which breaks everything).
Apparently, the entire support for "video=ofonly" was removed though,
that NEEDS to be restored in some way, though i'm not yet sure what is
the best path to that yet, I have to look more deeply at the new code.
Anton Blanchard [Fri, 10 Sep 2004 00:13:40 +0000 (17:13 -0700)]
[PATCH] Move __preempt_*lock into kernel_spinlock, clean up.
- create in_lock_functions() to match in_sched_functions(). Export it
for use in oprofile.
- use char __lock_text_start[] instead of long __lock_text_start when
declaring linker symbols. Rusty fixed a number of these a while ago
based on advice from rth.
- Move __preempt_*_lock into kernel/spinlock.c and make it inline. This
means locks are only one deep.
- Make in_sched_functions() check in_lock_functions()
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexander Viro [Thu, 9 Sep 2004 04:49:50 +0000 (21:49 -0700)]
[PATCH] udf endianness annotations
That one was slightly messier than ext2 - several data structures had
been used both in little-endian (on-disk) and host-endian (in-core)
situations. They had to be split, the rest was trivial annotations.
Gets UDF sparse-clean with -Wbitwise. Note that here we just annotate -
bug fixes from the original version of that patch had already been
merged.
Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexander Viro [Thu, 9 Sep 2004 03:35:38 +0000 (20:35 -0700)]
[PATCH] affs endianness annotations
AFFS partially annotated - some fields of on-disk structures are never
used and while I'm reasonably sure that they ought to be big-endian, I'd
rather leave them alone for now; annotating them won't change the amount
of noise since nothing in the kernel ever accesses them.
Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>