powerpc.git
16 years agoInput: linux-input mailing list moved to vger.kernel.org
Dmitry Torokhov [Fri, 2 Nov 2007 13:07:33 +0000 (09:07 -0400)]
Input: linux-input mailing list moved to vger.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
16 years ago[BLOCK] Don't allow empty barriers to be passed down to queues that don't grok them
Jens Axboe [Fri, 2 Nov 2007 07:49:08 +0000 (08:49 +0100)]
[BLOCK] Don't allow empty barriers to be passed down to queues that don't grok them

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agodm: bounce_pfn limit added
Vasily Averin [Wed, 31 Oct 2007 07:33:24 +0000 (08:33 +0100)]
dm: bounce_pfn limit added

Device mapper uses its own bounce_pfn that may differ from one on underlying
device. In that way dm can build incorrect requests that contain sg elements
greater than underlying device is able to handle.

This is the cause of slab corruption in i2o layer, occurred on i386 arch when
very long direct IO requests are addressed to dm-over-i2o device.

Signed-off-by: Vasily Averin <vvs@sw.ru>
Cc: <stable@kernel.org>
Cc: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDeadline iosched: Fix batching fairness
Aaron Carroll [Tue, 30 Oct 2007 09:40:13 +0000 (10:40 +0100)]
Deadline iosched: Fix batching fairness

After switching data directions, deadline always starts the next batch
from the lowest-sector request.  This gives excessive deadline expiries
and large latency and throughput disparity between high- and low-sector
requests; an order of magnitude in some tests.

This patch changes the batching behaviour so new batches start from the
request whose expiry is earliest.

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDeadline iosched: Reset batch for ordered requests
Aaron Carroll [Tue, 30 Oct 2007 09:40:13 +0000 (10:40 +0100)]
Deadline iosched: Reset batch for ordered requests

The deadline I/O scheduler does not reset the batch count when starting
a new batch at a higher-sectored request.  This means the second and
subsequent batch in the same data direction will never exceed a single
request in size whenever higher-sectored requests are pending.

This patch gives new batches in the same data direction as old ones
their full quota of requests by resetting the batch count.

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoDeadline iosched: Factor out finding latter reques
Aaron Carroll [Tue, 30 Oct 2007 09:40:12 +0000 (10:40 +0100)]
Deadline iosched: Factor out finding latter reques

Factor finding the next request in sector-sorted order into
a function deadline_latter_request.

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years ago[SG] Get rid of __sg_mark_end()
Jens Axboe [Wed, 31 Oct 2007 11:06:37 +0000 (12:06 +0100)]
[SG] Get rid of __sg_mark_end()

sg_mark_end() overwrites the page_link information, but all users want
__sg_mark_end() behaviour where we just set the end bit. That is the most
natural way to use the sg list, since you'll fill it in and then mark the
end point.

So change sg_mark_end() to only set the termination bit. Add a sg_magic
debug check as well, and clear a chain pointer if it is set.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agocleanup asm/scatterlist.h includes
Adrian Bunk [Tue, 30 Oct 2007 09:35:04 +0000 (10:35 +0100)]
cleanup asm/scatterlist.h includes

Not architecture specific code should not #include <asm/scatterlist.h>.

This patch therefore either replaces them with
#include <linux/scatterlist.h> or simply removes them if they were
unused.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoSG: Make sg_init_one() use general table init functions
Jens Axboe [Tue, 30 Oct 2007 09:34:33 +0000 (10:34 +0100)]
SG: Make sg_init_one() use general table init functions

Don't open code sg_init_one(), make it reuse sg_init_table().

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosh64: Update defconfigs.
Paul Mundt [Fri, 2 Nov 2007 05:36:55 +0000 (14:36 +0900)]
sh64: Update defconfigs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Update r7785rp defconfig.
Paul Mundt [Fri, 2 Nov 2007 05:33:21 +0000 (14:33 +0900)]
sh: Update r7785rp defconfig.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: mach-type updates.
Paul Mundt [Fri, 2 Nov 2007 05:28:07 +0000 (14:28 +0900)]
sh: mach-type updates.

This adds in the x3proto and magicpanelr2 mach types, plugs in
highlander and rts7751r2d groups, and also hooks up the r2d
subtypes.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Fix up r7780rp highlander CF access size.
Paul Mundt [Fri, 2 Nov 2007 05:17:19 +0000 (14:17 +0900)]
sh: Fix up r7780rp highlander CF access size.

R7780RP can't do byte-sized accesses to CF, so needs to do word
sized access with low-byte masking. This same problem exists
on older versions of the R2D, with the same workaround having
been implemented in 43f4b8c7578b928892b6f01d374346ae14e5eb70
there. Follow that change for the highlander boards.

This does not impact R7780MP or SH7785 based Highlander modules.

If you're unfortunate enough to be stuck with an R7780RP, this
patch is for you!

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Terminate .eh_frame in VDSO with a 4-byte 0.
Kaz Kojima [Fri, 2 Nov 2007 03:29:37 +0000 (12:29 +0900)]
sh: Terminate .eh_frame in VDSO with a 4-byte 0.

It's assumed that .eh_frame is terminated with 4-byte 0 in shared
libraries and executable.  It seems to be the case for VDSOs too.
Without this terminator, I saw failures when unwinding from VDSO,
though I don't know how other architectures handle this issue.
For the normal libs, crtendS.o gives this terminator.  We can use
such terminating objects.  Or we can add a 4-byte 0 with modifying
the linker script like as the patch below.

Signed-off-by: Kaz Kojima <kkojima@rr.iij4u.or.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Correct SUBARCH matching.
Paul Mundt [Fri, 2 Nov 2007 03:22:47 +0000 (12:22 +0900)]
sh: Correct SUBARCH matching.

When configuring the kernel natively the uname matching is off,
so fix up the uname mangling to get the proper SUBARCH. Needs
an explicit range so that SH-5 doesn't break.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Decouple 4k and soft/hardirq stacks.
Paul Mundt [Fri, 2 Nov 2007 03:16:51 +0000 (12:16 +0900)]
sh: Decouple 4k and soft/hardirq stacks.

While using separate IRQ stacks can cut down on stack consumption,
many users can also use 4k stacks directly without the additional
need of separate stacks for soft and hardirqs.

With this split, we support the same rationale for 4KSTACKS as
m68knommu, with the IRQSTACKS abstraction as per ppc64.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Fix optimized __copy_user() movca.l usage.
Stuart Menefy [Fri, 2 Nov 2007 03:14:09 +0000 (12:14 +0900)]
sh: Fix optimized __copy_user() movca.l usage.

movca.l is restricted to SH-4 and up only, though compilers that
are unable to support ISA tuning (especially older versions of
binutils) will happily compile in the bogus opcode on older parts.

Conditionalize it to fix SH-3 regressions noted by Kristoffer.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoInput: inport, logibm - use KERN_INFO when reporting missing mouse
Helge Deller [Fri, 2 Nov 2007 02:19:15 +0000 (22:19 -0400)]
Input: inport, logibm - use KERN_INFO when reporting missing mouse

Many mouse drivers are often compiled (e.g. in Linux distributions) into the
kernel at the same time just to make sure that at least one driver will suceed
in find it's mouse device. Nevertheless, only the inport and logitech busmouse
mouse drivers report with KERN_ERR log level if the mouse wasn't found. They
should use KERN_INFO instead, because it's not an error if the mouse isn't
attached at all.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
16 years agoInput: appletouch - idle reset logic broke older Fountains
Dmitry Torokhov [Fri, 2 Nov 2007 02:13:32 +0000 (22:13 -0400)]
Input: appletouch - idle reset logic broke older Fountains

Fountains do not support change mode request and therefore
should be excluded from idle reset attempts.

Also:
 - do not re-submit URB when we decide that touchpad needs to be
   reinicialized
 - do not repeat size detection when reinitializing the touchpad
 - Add missing KERN_* prefixes to messages

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Linus Torvalds [Thu, 1 Nov 2007 22:08:07 +0000 (15:08 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jikos/hid

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
  HID: Don't access input_dev->private directly
  HID: fix hidinput_connect ignoring retval from input_register_device
  HID: hiddev - fix compiler warning
  HID: Add GoTop tablets to blacklist

16 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Thu, 1 Nov 2007 22:07:29 +0000 (15:07 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  Fix myri10ge NAPI oops & warnings
  Fix region size check in mpc5200 FEC driver
  mpc5200: Fix Kconfig dependancies on MPC5200 FEC device driver

16 years agoFix myri10ge NAPI oops & warnings
Andrew Gallatin [Wed, 31 Oct 2007 21:40:06 +0000 (17:40 -0400)]
Fix myri10ge NAPI oops & warnings

When testing the myri10ge driver with 2.6.24-rc1, I found
that the machine crashed under heavy load:

Unable to handle kernel paging request at 0000000000100108 RIP:
  [<ffffffff803cc8dd>] net_rx_action+0x11b/0x184

The address corresponds to the list_move_tail() in
netif_rx_complete():
                     if (unlikely(work == weight))
                             list_move_tail(&n->poll_list, list);

Eventually, I traced the crashes to calling netif_rx_complete() with
work_done == budget.  From looking at other drivers, it appears that
one should only call netif_rx_complete() when work_done < budget.

To fix it, I changed the test in myri10ge_poll() so that it refers
to to work_done rather than looking at the rx ring status.  If
work_done is < budget, then that implies we have no more packets to
process. Any races will be resolved by the NIC when the write to
irq_claim is made.

In myri10ge_clean_rx_done(), if we ever exceeded our budget, it would
report a work_done one larger than was acutally done.  This is because
the increment was done in the conditional, so work_done would be
incremented regardless of whether or not the test passed or failed.
This would lead to the WARN_ON_ONCE(work > weight); warning in
net_rx_action triggering.  I've moved the increment of work_done
inside the loop.  Note that this would only be a problem when we had
exceeded our budget.

Signed off by: Andrew Gallatin <gallatin@myri.com>

Andrew Gallatin Myricom Inc

Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoFix region size check in mpc5200 FEC driver
Grant Likely [Thu, 1 Nov 2007 14:22:35 +0000 (08:22 -0600)]
Fix region size check in mpc5200 FEC driver

Driver shouldn't complain if the register range is larger than what
it expects.  This works around failures with some device trees.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agompc5200: Fix Kconfig dependancies on MPC5200 FEC device driver
Grant Likely [Thu, 1 Nov 2007 14:22:30 +0000 (08:22 -0600)]
mpc5200: Fix Kconfig dependancies on MPC5200 FEC device driver

When not building an arch/powerpc kernel, the mpc5200 FEC driver depends
on some symbols which are not defined (BESTCOMM & BESTCOMM_FEC).

This patch flips around the dependancy logic so that it cannot be
selected unless BESTCOMM_FEC is selected first.  Kconfig stops
complaining this way.

Also, the driver only works for arch/powerpc (not arch/ppc) anyway so
it should depend on PPC_MERGE also.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 1 Nov 2007 19:09:33 +0000 (12:09 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [IRDA] IRNET: Fix build when TCGETS2 is defined.
  [NET]: docbook fixes for netif_ functions
  [NET]: Hide the net_ns kmem cache
  [NET]: Mark the setup_net as __net_init
  [NET]: Hide the dead code in the net_namespace.c
  [NET]: Relax the reference counting of init_net_ns
  [NETNS]: Make the init/exit hooks checks outside the loop
  [NET]: Forget the zero_it argument of sk_alloc()
  [NET]: Remove bogus zero_it argument from sk_alloc
  [NET]: Make the sk_clone() lighter
  [NET]: Move some core sock setup into sk_prot_alloc
  [NET]: Auto-zero the allocated sock object
  [NET]: Cleanup the allocation/freeing of the sock object
  [NET]: Move the get_net() from sock_copy()
  [NET]: Move the sock_copy() from the header
  [TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion
  [TCP]: Process DSACKs that reside within a SACK block

16 years ago[SPARC64]: Update defconfig.
David S. Miller [Thu, 1 Nov 2007 10:18:02 +0000 (03:18 -0700)]
[SPARC64]: Update defconfig.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IRDA] IRNET: Fix build when TCGETS2 is defined.
David S. Miller [Thu, 1 Nov 2007 09:26:38 +0000 (02:26 -0700)]
[IRDA] IRNET: Fix build when TCGETS2 is defined.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: docbook fixes for netif_ functions
Stephen Hemminger [Thu, 1 Nov 2007 09:21:47 +0000 (02:21 -0700)]
[NET]: docbook fixes for netif_ functions

Documentation updates for network interfaces.

1. Add doc for netif_napi_add
2. Remove doc for unused returns from netif_rx
3. Add doc for netif_receive_skb

[ Incorporated minor mods from Randy Dunlap -DaveM ]

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Hide the net_ns kmem cache
Pavel Emelyanov [Thu, 1 Nov 2007 07:46:50 +0000 (00:46 -0700)]
[NET]: Hide the net_ns kmem cache

This cache is only required to create new namespaces,
but we won't have them in CONFIG_NET_NS=n case.

Hide it under the appropriate ifdef.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Mark the setup_net as __net_init
Pavel Emelyanov [Thu, 1 Nov 2007 07:45:59 +0000 (00:45 -0700)]
[NET]: Mark the setup_net as __net_init

The setup_net is called for the init net namespace
only (int the CONFIG_NET_NS=n of course) from the __init
function, so mark it as __net_init to disappear with the
caller after the boot.

Yet again, in the perfect world this has to be under
#ifdef CONFIG_NET_NS, but it isn't guaranteed that every
subsystem is registered *after* the init_net_ns is set
up. After we are sure, that we don't start registering
them before the init net setup, we'll be able to move
this code under the ifdef.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Hide the dead code in the net_namespace.c
Pavel Emelyanov [Thu, 1 Nov 2007 07:44:50 +0000 (00:44 -0700)]
[NET]: Hide the dead code in the net_namespace.c

The namespace creation/destruction code is never called
if the CONFIG_NET_NS is n, so it's OK to move it under
appropriate ifdef.

The copy_net_ns() in the "n" case checks for flags and
returns -EINVAL when new net ns is requested. In a perfect
world this stub must be in net_namespace.h, but this
function need to know the CLONE_NEWNET value and thus
requires sched.h. On the other hand this header is to be
injected into almost every .c file in the networking code,
and making all this code depend on the sched.h is a
suicidal attempt.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Relax the reference counting of init_net_ns
Pavel Emelyanov [Thu, 1 Nov 2007 07:43:49 +0000 (00:43 -0700)]
[NET]: Relax the reference counting of init_net_ns

When the CONFIG_NET_NS is n there's no need in refcounting
the initial net namespace. So relax this code by making a
stupid stubs for the "n" case.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Make the init/exit hooks checks outside the loop
Pavel Emelyanov [Thu, 1 Nov 2007 07:42:43 +0000 (00:42 -0700)]
[NETNS]: Make the init/exit hooks checks outside the loop

When the new pernet something (subsys, device or operations) is
being registered, the init callback is to be called for each
namespace, that currently exitst in the system. During the
unregister, the same is to be done with the exit callback.

However, not every pernet something has both calls, but the
check for the appropriate pointer to be not NULL is performed
inside the for_each_net() loop.

This is (at least) strange, so tune this.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Forget the zero_it argument of sk_alloc()
Pavel Emelyanov [Thu, 1 Nov 2007 07:39:31 +0000 (00:39 -0700)]
[NET]: Forget the zero_it argument of sk_alloc()

Finally, the zero_it argument can be completely removed from
the callers and from the function prototype.

Besides, fix the checkpatch.pl warnings about using the
assignments inside if-s.

This patch is rather big, and it is a part of the previous one.
I splitted it wishing to make the patches more readable. Hope
this particular split helped.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Remove bogus zero_it argument from sk_alloc
Pavel Emelyanov [Thu, 1 Nov 2007 07:38:43 +0000 (00:38 -0700)]
[NET]: Remove bogus zero_it argument from sk_alloc

At this point nobody calls the sk_alloc(() with zero_it == 0,
so remove unneeded checks from it.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Make the sk_clone() lighter
Pavel Emelyanov [Thu, 1 Nov 2007 07:37:32 +0000 (00:37 -0700)]
[NET]: Make the sk_clone() lighter

The sk_prot_alloc() already performs all the stuff needed by the
sk_clone(). Besides, the sk_prot_alloc() requires almost twice
less arguments than the sk_alloc() does, so call the sk_prot_alloc()
saving the stack a bit.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Move some core sock setup into sk_prot_alloc
Pavel Emelyanov [Thu, 1 Nov 2007 07:36:26 +0000 (00:36 -0700)]
[NET]: Move some core sock setup into sk_prot_alloc

The security_sk_alloc() and the module_get is a part of the
object allocations - move it in the proper place.

Note, that since we do not reset the newly allocated sock
in the sk_alloc() (memset() is removed with the previous
patch) we can safely do this.

Also fix the error path in sk_prot_alloc() - release the security
context if needed.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Auto-zero the allocated sock object
Pavel Emelyanov [Thu, 1 Nov 2007 07:34:42 +0000 (00:34 -0700)]
[NET]: Auto-zero the allocated sock object

We have a __GFP_ZERO flag that allocates a zeroed chunk of memory.
Use it in the sk_alloc() and avoid a hand-made memset().

This is a temporary patch that will help us in the nearest future :)

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Cleanup the allocation/freeing of the sock object
Pavel Emelyanov [Thu, 1 Nov 2007 07:33:50 +0000 (00:33 -0700)]
[NET]: Cleanup the allocation/freeing of the sock object

The sock object is allocated either from the generic cache with
the kmalloc, or from the proc->slab cache.

Move this logic into an isolated set of helpers and make the
sk_alloc/sk_free look a bit nicer.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Move the get_net() from sock_copy()
Pavel Emelyanov [Thu, 1 Nov 2007 07:31:26 +0000 (00:31 -0700)]
[NET]: Move the get_net() from sock_copy()

The sock_copy() is supposed to just clone the socket. In a perfect
world it has to be just memcpy, but we have to handle the security
mark correctly. All the extra setup must be performed in sk_clone()
call, so move the get_net() into more proper place.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Move the sock_copy() from the header
Pavel Emelyanov [Thu, 1 Nov 2007 07:29:45 +0000 (00:29 -0700)]
[NET]: Move the sock_copy() from the header

The sock_copy() call is not used outside the sock.c file,
so just move it into a sock.c

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion
Ilpo Järvinen [Thu, 1 Nov 2007 07:10:18 +0000 (00:10 -0700)]
[TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion

Similar to commit 3eec0047d9bdd, point of this is to avoid
skipping R-bit skbs.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TCP]: Process DSACKs that reside within a SACK block
Ilpo Järvinen [Thu, 1 Nov 2007 07:09:37 +0000 (00:09 -0700)]
[TCP]: Process DSACKs that reside within a SACK block

DSACK inside another SACK block were missed if start_seq of DSACK
was larger than SACK block's because sorting prioritizes full
processing of the SACK block before DSACK. After SACK block
sorting situation is like this:

             SSSSSSSSS
                  D
                        SSSSSS
                               SSSSSSS

Because write_queue is walked in-order, when the first SACK block
has been processed, TCP is already past the skb for which the
DSACK arrived and we haven't taught it to backtrack (nor should
we), so TCP just continues processing by going to the next SACK
block after the DSACK (if any).

Whenever such DSACK is present, do an embedded checking during
the previous SACK block.

If the DSACK is below snd_una, there won't be overlapping SACK
block, and thus no problem in that case. Also if start_seq of
the DSACK is equal to the actual block, it will be processed
first.

Tested this by using netem to duplicate 15% of packets, and
by printing SACK block when found_dup_sack is true and the
selected skb in the dup_sack = 1 branch (if taken):

  SACK block 0: 4344-5792 (relative to snd_una 2019137317)
  SACK block 1: 4344-5792 (relative to snd_una 2019137317)

equal start seqnos => next_dup = 0, dup_sack = 1 won't occur...

  SACK block 0: 5792-7240 (relative to snd_una 2019214061)
  SACK block 1: 2896-7240 (relative to snd_una 2019214061)
  DSACK skb match 5792-7240 (relative to snd_una)

...and next_dup = 1 case (after the not shown start_seq sort),
went to dup_sack = 1 branch.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC64]: Fix linkage of enormous kernels.
David S. Miller [Wed, 31 Oct 2007 04:11:28 +0000 (21:11 -0700)]
[SPARC64]: Fix linkage of enormous kernels.

This was found by make randconfig

If the kernel .text is very large, the .fixup section branches
are too far away to be relocated correctly.

Use "sethi %hi(label), reg; jmpl reg + %lo(label); %g0" sequence
instead of the branch to fix this.

There is another case in switch_to() involving a branch, which
is fixed similarly.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC64]: Fix build with CONFIG_NET disabled.
David S. Miller [Mon, 29 Oct 2007 08:19:14 +0000 (01:19 -0700)]
[SPARC64]: Fix build with CONFIG_NET disabled.

We can't export verify_compat_iovec when CONFIG_NET is
disabled, and consequently the Solaris compat module
should also depend upon CONFIG_NET.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC64]: Fix build failure when CONFIG_BUG is disabled.
David S. Miller [Mon, 29 Oct 2007 07:36:09 +0000 (00:36 -0700)]
[SPARC64]: Fix build failure when CONFIG_BUG is disabled.

When CONFIG_BUG is turned off, the standard trick of:

switch (x) {
case X:
...
case Y:
...
default:
BUG();
};

to mark impossible cases does not work because BUG() evalutes
to nothing and thus GCC just sees a fallthrough code path.

Add an explicit KERN_ERR log message and a do_exit() to trap
this case.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC64]: Kill unused ITAG_MASK macro in ultra.S
David S. Miller [Mon, 29 Oct 2007 07:23:07 +0000 (00:23 -0700)]
[SPARC64]: Kill unused ITAG_MASK macro in ultra.S

It is unused since we went to an I-cache flush that solely used
the 'flush' instruction, and it's presence breaks the build
when PAGE_SIZE is 512KB.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC64]: Fix bogus '&' conditinal in set_rtc_mmss().
David S. Miller [Sun, 28 Oct 2007 05:33:33 +0000 (22:33 -0700)]
[SPARC64]: Fix bogus '&' conditinal in set_rtc_mmss().

We're using '&' instead of '&&'.

Noticed by Roel Kluin.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Wed, 31 Oct 2007 20:43:31 +0000 (13:43 -0700)]
Merge git://git./linux/kernel/git/gregkh/driver-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  Revert "Driver core: remove class_device_*_bin_file"

16 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Wed, 31 Oct 2007 20:40:29 +0000 (13:40 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 4634/1: DaVinci GPIO header build fix
  [ARM] 4636/1: pxa: add default configuration for zylonite
  [ARM] 4635/1: pxa: Change Eric Miao's email address to eric.miao@marvell.com
  [ARM] Fix assignment instead of condition in arm/mach-omap2/clock.c
  [ARM] nommu: fix breakage caused by f9720205d1f847cb59e197e851b5276425363f6b
  [ARM] pxa: shut up CLOCK_EVT_MODE_RESUME warning
  [ARM] Fix FIQ issue with ARM926
  [ARM] Fix pxamci regression
  [ARM] Fix netx_defconfig regression
  [ARM] Fix ateb9200_defconfig build regression
  [ARM] Fix an rpc_defconfig regression
  [ARM] Fix omap_h2_1610_defconfig regressions
  [ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.h

16 years agoRevert "Driver core: remove class_device_*_bin_file"
Greg Kroah-Hartman [Wed, 31 Oct 2007 19:51:29 +0000 (12:51 -0700)]
Revert "Driver core: remove class_device_*_bin_file"

This reverts commit fcd239d3d5575e5cc63aab5c33cf6dc66904f6d6.

I messed up, ia64 still uses these files in the current tree, and now
can not build the pci code, which all ia64 boxes seem to require :)

This fixes that mistake.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoieee1394: ieee1394_transactions.c: remove dead code
Adrian Bunk [Sun, 28 Oct 2007 15:51:32 +0000 (16:51 +0100)]
ieee1394: ieee1394_transactions.c: remove dead code

This patch removes dead code spotted by the Intel C Compiler.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
16 years agofirewire: Fix pci resume to not pass in a __be32 config rom.
Kristian Høgsberg [Tue, 5 Jun 2007 23:27:05 +0000 (19:27 -0400)]
firewire: Fix pci resume to not pass in a __be32 config rom.

The ohci_enable() function shared between pci_probe and pci_resume
takes a host endian config rom, but ohci->config_rom is __be32.  This
sets up the config rom in the wrong endian on little endian machine,
specifically, BusOptions will be initialized to a 0 max receive size.

This patch changes the way we reuse the config rom so that we avoid
this problem.

Signed-off-by: Kristian Hoegsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
16 years agoRemove broken ptrace() special-case code from file mapping
Linus Torvalds [Wed, 31 Oct 2007 16:19:46 +0000 (09:19 -0700)]
Remove broken ptrace() special-case code from file mapping

The kernel has for random historical reasons allowed ptrace() accesses
to access (and insert) pages into the page cache above the size of the
file.

However, Nick broke that by mistake when doing the new fault handling in
commit 54cb8821de07f2ffcd28c380ce9b93d5784b40d7 ("mm: merge populate and
nopage into fault (fixes nonlinear)".  The breakage caused a hang with
gdb when trying to access the invalid page.

The ptrace "feature" really isn't worth resurrecting, since it really is
wrong both from a portability _and_ from an internal page cache validity
standpoint.  So this removes those old broken remnants, and fixes the
ptrace() hang in the process.

Noticed and bisected by Duane Griffin, who also supplied a test-case
(quoth Nick: "Well that's probably the best bug report I've ever had,
thanks Duane!").

Cc: Duane Griffin <duaneg@dghda.com>
Acked-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[ARM] 4634/1: DaVinci GPIO header build fix
David Brownell [Mon, 29 Oct 2007 23:15:46 +0000 (00:15 +0100)]
[ARM] 4634/1: DaVinci GPIO header build fix

This fixes a build problem with GPIOs on DaVinci.  Since it inlines
operations for on-chip GPIOs, it needs some headers to support those
direct register accesses.  Those headers won't be included on other
platforms, since they don't have that optimization.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4636/1: pxa: add default configuration for zylonite
eric miao [Tue, 30 Oct 2007 07:02:55 +0000 (08:02 +0100)]
[ARM] 4636/1: pxa: add default configuration for zylonite

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4635/1: pxa: Change Eric Miao's email address to eric.miao@marvell.com
eric miao [Tue, 30 Oct 2007 07:01:38 +0000 (08:01 +0100)]
[ARM] 4635/1: pxa: Change Eric Miao's email address to eric.miao@marvell.com

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] Fix assignment instead of condition in arm/mach-omap2/clock.c
Roel Kluin [Fri, 26 Oct 2007 21:22:51 +0000 (23:22 +0200)]
[ARM] Fix assignment instead of condition in arm/mach-omap2/clock.c

Fix assignment instead of condition

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] nommu: fix breakage caused by f9720205d1f847cb59e197e851b5276425363f6b
Russell King [Sat, 27 Oct 2007 20:48:43 +0000 (21:48 +0100)]
[ARM] nommu: fix breakage caused by f9720205d1f847cb59e197e851b5276425363f6b

Someone forgot to use 'ls include/asm-*/flat.h' or
'grep -r flat_get_addr_from_rp .' to find all architectures which
may be affected by their change.  Fix the fall out.

Noticed-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: shut up CLOCK_EVT_MODE_RESUME warning
Russell King [Sat, 27 Oct 2007 14:15:49 +0000 (15:15 +0100)]
[ARM] pxa: shut up CLOCK_EVT_MODE_RESUME warning

Resolve:
  CC      arch/arm/mach-pxa/time.o
arch/arm/mach-pxa/time.c: In function `pxa_osmr0_set_mode':
arch/arm/mach-pxa/time.c:154: warning: enumeration value `CLOCK_EVT_MODE_RESUME' not handled in switch

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] Fix FIQ issue with ARM926
Russell King [Sat, 27 Oct 2007 10:01:35 +0000 (11:01 +0100)]
[ARM] Fix FIQ issue with ARM926

Jon Eibertzon writes:
> We have noticed that the I-cache is disabled while waiting for
> interrupt in cpu_arm926_do_idle in arch/arm/mm/proc-arm926.S
> and we are curious to know why, because this causes us a great
> performance hit when executing in FIQ-handlers. Is it assumed
> here that every individual FIQ-handler re-enables the I-cache?

The I-cache disable is an errata workaround, so the solution is to
disable FIQs across the section with the I-cache disabled.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] Fix pxamci regression
Russell King [Fri, 26 Oct 2007 16:56:40 +0000 (17:56 +0100)]
[ARM] Fix pxamci regression

Fix:

WARNING: at arch/arm/mach-pxa/clock.c:69 clk_disable()
[<c002d7c8>] (dump_stack+0x0/0x14) from [<c00334f4>] (clk_disable+0x34/0xa0)
[<c00334c0>] (clk_disable+0x0/0xa0) from [<c028a43c>] (pxamci_set_ios+0x74/0xf0)
[<c028a3c8>] (pxamci_set_ios+0x0/0xf0) from [<c0281548>] (mmc_power_off+0x90/0x9c)
[<c02814b8>] (mmc_power_off+0x0/0x9c) from [<c0281a30>] (mmc_start_host+0x18/0x28)
[<c0281a18>] (mmc_start_host+0x0/0x28) from [<c02825a0>] (mmc_add_host+0xe8/0x104)
[<c02824b8>] (mmc_add_host+0x0/0x104) from [<c028a7d0>] (pxamci_probe+0x24c/0x2f4)
[<c028a584>] (pxamci_probe+0x0/0x2f4) from [<c01e5948>] (platform_drv_probe+0x20/0x24)
...

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] Fix netx_defconfig regression
Russell King [Fri, 26 Oct 2007 16:55:28 +0000 (17:55 +0100)]
[ARM] Fix netx_defconfig regression

Fix:

  CC      arch/arm/mach-netx/xc.o
arch/arm/mach-netx/xc.c: In function 'request_xc':
arch/arm/mach-netx/xc.c:192: error: 'struct kobject' has no member named 'name'
arch/arm/mach-netx/xc.c:196: error: 'struct kobject' has no member named 'name'
arch/arm/mach-netx/xc.c:200: error: 'struct kobject' has no member named 'name'

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] Fix ateb9200_defconfig build regression
Russell King [Fri, 26 Oct 2007 16:54:39 +0000 (17:54 +0100)]
[ARM] Fix ateb9200_defconfig build regression

Fix:

  CC      drivers/serial/atmel_serial.o
drivers/serial/atmel_serial.c: In function 'atmel_serial_suspend':
drivers/serial/atmel_serial.c:924: error: implicit declaration of function 'at91_suspend_entering_slow_clock'

Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] Fix an rpc_defconfig regression
Russell King [Fri, 26 Oct 2007 16:47:34 +0000 (17:47 +0100)]
[ARM] Fix an rpc_defconfig regression

Fix:

  CC      drivers/scsi/arm/powertec.o
In file included from drivers/scsi/arm/powertec.c:29:
drivers/scsi/arm/scsi.h: In function 'next_SCp':
drivers/scsi/arm/scsi.h:42: error: 'struct scatterlist' has no member named 'page'
drivers/scsi/arm/scsi.h: In function 'init_SCp':
drivers/scsi/arm/scsi.h:80: error: 'struct scatterlist' has no member named 'page'

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] Fix omap_h2_1610_defconfig regressions
Russell King [Fri, 26 Oct 2007 15:33:31 +0000 (16:33 +0100)]
[ARM] Fix omap_h2_1610_defconfig regressions

Fix:

arch/arm/mach-omap1/built-in.o: In function `h2_init':
board-h2.c:(.init.text+0xbb4): undefined reference to `i2c_register_board_info'

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.h
Matt Reimer [Thu, 25 Oct 2007 18:06:44 +0000 (19:06 +0100)]
[ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.h

Fix a typo in include/asm-arm/plat-s3c/regs-nand.h.

Signed-off-by: Matt Reimer <mreimer@vpop.net>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[MEDIA] IVTV: exit_ivtv_i2c() cannot be __devexit
David Miller [Wed, 31 Oct 2007 04:23:48 +0000 (21:23 -0700)]
[MEDIA] IVTV: exit_ivtv_i2c() cannot be __devexit

It is referenced both from __devinit code (ivtv_probe) and
normal .text (ivtv_process_eeprom), and therefore cannot
be discarded via __devexit.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 31 Oct 2007 14:46:51 +0000 (07:46 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/davem/net-2.6

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  [AF_KEY]: suppress a warning for 64k pages.
  [TIPC]: Fix headercheck wrt. tipc_config.h
  [COMPAT]: Fix build on COMPAT platforms when CONFIG_NET is disabled.
  [CONNECTOR]: Fix a spurious kfree_skb() call
  [COMPAT]: Fix new dev_ifname32 returning -EFAULT
  [NET]: Fix incorrect sg_mark_end() calls.
  [IPVS]: Remove /proc/net/ip_vs_lblcr
  [IPV6]: remove duplicate call to proc_net_remove
  [NETNS]: fix net released by rcu callback
  [NET]: Fix free_netdev on register_netdev failure.
  [WAN]: fix drivers/net/wan/lmc/ compilation

16 years agoHID: Don't access input_dev->private directly
Dmitry Torokhov [Wed, 31 Oct 2007 11:33:26 +0000 (12:33 +0100)]
HID: Don't access input_dev->private directly

input_{get|set}_drvdata() helpers should be used instead.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: fix hidinput_connect ignoring retval from input_register_device
Dirk Hohndel [Tue, 30 Oct 2007 12:02:44 +0000 (13:02 +0100)]
HID: fix hidinput_connect ignoring retval from input_register_device

hidinput_connect() ignores retval from input_register_device(). Fix it
by properly undoing all the registrations that have been already done,
and return error.

Signed-off-by: Dirk Hohndel <hohndel@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: hiddev - fix compiler warning
Jiri Kosina [Thu, 25 Oct 2007 09:38:21 +0000 (11:38 +0200)]
HID: hiddev - fix compiler warning

drivers/hid/usbhid/hiddev.c: In function 'hiddev_compat_ioctl':
drivers/hid/usbhid/hiddev.c:746: warning: passing argument 4 of 'hiddev_ioctl' makes
integer from pointer without a cast

Add cast to hiddev_compat_ioctl()

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years agoHID: Add GoTop tablets to blacklist
Jerrold Jones [Mon, 22 Oct 2007 09:38:41 +0000 (11:38 +0200)]
HID: Add GoTop tablets to blacklist

GoTop devices are handled by usbtouchscreen driver, make sure HID
ignores them.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
16 years ago[AF_KEY]: suppress a warning for 64k pages.
Stephen Rothwell [Wed, 31 Oct 2007 06:57:05 +0000 (23:57 -0700)]
[AF_KEY]: suppress a warning for 64k pages.

On PowerPC allmodconfig build we get this:

net/key/af_key.c:400: warning: comparison is always false due to limited range of data type

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosh: Clean up SR.RB Kconfig mess.
Paul Mundt [Wed, 31 Oct 2007 06:22:45 +0000 (15:22 +0900)]
sh: Clean up SR.RB Kconfig mess.

CPU_HAS_SR_RB is selected by both CPU_SH3 and CPU_SH4, so having a
dependency and default y on those additionally doesn't make much sense.
The select also has to be special cased for CPUs that don't support
this.

This is also something that has been abused too much as a result
of being user-visible, hence the addition of the select in the first
place. So just kill the user-visibility entirely while we're at it.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Kill off dead ipr_irq_demux().
Paul Mundt [Wed, 31 Oct 2007 06:17:03 +0000 (15:17 +0900)]
sh: Kill off dead ipr_irq_demux().

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Wed, 31 Oct 2007 05:23:27 +0000 (22:23 -0700)]
Merge git://git./linux/kernel/git/gregkh/driver-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  add SubmittingPatches to Documentation/ja_JP
  fix typo in SubmittingPatches
  Driver Core: fix bug in device_rename() for SYSFS_DEPRECATED=y
  sysfs: make sysfs_{get,put}_active() static
  kobject: check for duplicate names in kobject_rename
  Driver core: remove class_device_*_bin_file

16 years agoadd SubmittingPatches to Documentation/ja_JP
Keiichi Kii [Fri, 26 Oct 2007 06:55:24 +0000 (15:55 +0900)]
add SubmittingPatches to Documentation/ja_JP

This patch adds SubmittingPatches translated into Japanese to
Documentation/ja_JP directory.

I attach the patch because there is a possibility that MUA
will change the character encoding sometimes.

Signed-off-by: Keiichi KII <k-keiichi@bx.jp.nec.com>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agofix typo in SubmittingPatches
Keiichi Kii [Fri, 26 Oct 2007 06:51:44 +0000 (15:51 +0900)]
fix typo in SubmittingPatches

Fix typo.

Signed-off-by: Keiichi Kii <k-keiichi@bx.jp.nec.com>
Cc: Andy Whitcroft <apw@shadowen.org>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoDriver Core: fix bug in device_rename() for SYSFS_DEPRECATED=y
Kay Sievers [Fri, 26 Oct 2007 18:07:44 +0000 (20:07 +0200)]
Driver Core: fix bug in device_rename() for SYSFS_DEPRECATED=y

This should fix the sysfs warnings that renaming network devices is
causing to show up with CONFIG_SYSFS_DEPRECATED=y

The code just shouldn't run if class devices are real directories, it's
an update for the symlink in the class directory. Nobody noticed that as
long as the creation of sysfs files silently failed, and we both missed
it before the merge, because we don't run SYSFS_DEPRECATED=y.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: David Miller <davem@davemloft.net>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agosysfs: make sysfs_{get,put}_active() static
Adrian Bunk [Wed, 24 Oct 2007 16:23:32 +0000 (18:23 +0200)]
sysfs: make sysfs_{get,put}_active() static

sysfs_{get,put}_active() can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agokobject: check for duplicate names in kobject_rename
Greg Kroah-Hartman [Wed, 24 Oct 2007 23:52:31 +0000 (16:52 -0700)]
kobject: check for duplicate names in kobject_rename

This should catch any duplicate names before we try to tell sysfs to
rename the object.  This happens a lot with older versions of udev and
the network rename scripts.

Cc: David Miller <davem@davemloft.net>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoDriver core: remove class_device_*_bin_file
Greg Kroah-Hartman [Wed, 17 Oct 2007 21:52:43 +0000 (15:52 -0600)]
Driver core: remove class_device_*_bin_file

These functions are not used by anyone, so remove them from the tree.

The class_device code will be removed soon anyway, so no future users
will ever be possible.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years ago[TIPC]: Fix headercheck wrt. tipc_config.h
David S. Miller [Wed, 31 Oct 2007 04:44:00 +0000 (21:44 -0700)]
[TIPC]: Fix headercheck wrt. tipc_config.h

It wants string functions like memcpy() for inline
routines, and these define userland interfaces.

The only clean way to deal with this is to simply
put linux/string.h into unifdef-y and have it
include <string.h> when not-__KERNEL__.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[COMPAT]: Fix build on COMPAT platforms when CONFIG_NET is disabled.
David S. Miller [Mon, 29 Oct 2007 07:54:39 +0000 (00:54 -0700)]
[COMPAT]: Fix build on COMPAT platforms when CONFIG_NET is disabled.

Add some missing cond_syscall() entries for this case.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[CONNECTOR]: Fix a spurious kfree_skb() call
Michal Januszewski [Wed, 31 Oct 2007 03:41:49 +0000 (20:41 -0700)]
[CONNECTOR]: Fix a spurious kfree_skb() call

Remove a spurious call to kfree_skb() in the connector rx_skb handler.

This fixes a regression introduced by the '[NET]: make netlink user ->
kernel interface synchronious' patch (cd40b7d3983c708aabe3d3008ec64ffce56d33b0)

Signed-off-by: Michal Januszewski <spock@gentoo.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[COMPAT]: Fix new dev_ifname32 returning -EFAULT
Benjamin Herrenschmidt [Wed, 31 Oct 2007 03:40:45 +0000 (20:40 -0700)]
[COMPAT]: Fix new dev_ifname32 returning -EFAULT

A stray semicolon slipped in the patch that updated dev_ifname32 to
not be inline, causing it to always return -EFAULT. This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Fix incorrect sg_mark_end() calls.
David S. Miller [Wed, 31 Oct 2007 04:29:29 +0000 (21:29 -0700)]
[NET]: Fix incorrect sg_mark_end() calls.

This fixes scatterlist corruptions added by

commit 68e3f5dd4db62619fdbe520d36c9ebf62e672256
[CRYPTO] users: Fix up scatterlist conversion errors

The issue is that the code calls sg_mark_end() which clobbers the
sg_page() pointer of the final scatterlist entry.

The first part fo the fix makes skb_to_sgvec() do __sg_mark_end().

After considering all skb_to_sgvec() call sites the most correct
solution is to call __sg_mark_end() in skb_to_sgvec() since that is
what all of the callers would end up doing anyways.

I suspect this might have fixed some problems in virtio_net which is
the sole non-crypto user of skb_to_sgvec().

Other similar sg_mark_end() cases were converted over to
__sg_mark_end() as well.

Arguably sg_mark_end() is a poorly named function because it doesn't
just "mark", it clears out the page pointer as a side effect, which is
what led to these bugs in the first place.

The one remaining plain sg_mark_end() call is in scsi_alloc_sgtable()
and arguably it could be converted to __sg_mark_end() if only so that
we can delete this confusing interface from linux/scatterlist.h

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPVS]: Remove /proc/net/ip_vs_lblcr
Alexey Dobriyan [Tue, 30 Oct 2007 22:40:49 +0000 (15:40 -0700)]
[IPVS]: Remove /proc/net/ip_vs_lblcr

It's under CONFIG_IP_VS_LBLCR_DEBUG option which never existed.

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6]: remove duplicate call to proc_net_remove
Daniel Lezcano [Tue, 30 Oct 2007 22:39:33 +0000 (15:39 -0700)]
[IPV6]: remove duplicate call to proc_net_remove

The file /proc/net/if_inet6 is removed twice.
First time in:
        inet6_exit
             ->addrconf_cleanup
And followed a few lines after by:
        inet6_exit
             -> if6_proc_exit

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: fix net released by rcu callback
Daniel Lezcano [Tue, 30 Oct 2007 22:38:57 +0000 (15:38 -0700)]
[NETNS]: fix net released by rcu callback

When a network namespace reference is held by a network subsystem,
and when this reference is decremented in a rcu update callback, we
must ensure that there is no more outstanding rcu update before
trying to free the network namespace.

In the normal case, the rcu_barrier is called when the network namespace
is exiting in the cleanup_net function.

But when a network namespace creation fails, and the subsystems are
undone (like the cleanup), the rcu_barrier is missing.

This patch adds the missing rcu_barrier.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Fix free_netdev on register_netdev failure.
Daniel Lezcano [Tue, 30 Oct 2007 22:38:18 +0000 (15:38 -0700)]
[NET]: Fix free_netdev on register_netdev failure.

Point 1:
The unregistering of a network device schedule a netdev_run_todo.
This function calls dev->destructor when it is set and the
destructor calls free_netdev.

Point 2:
In the case of an initialization of a network device the usual code
is:
 * alloc_netdev
 * register_netdev
    -> if this one fails, call free_netdev and exit with error.

Point 3:
In the register_netdevice function at the later state, when the device
is at the registered state, a call to the netdevice_notifiers is made.
If one of the notification falls into an error, a rollback to the
registered state is done using unregister_netdevice.

Conclusion:
When a network device fails to register during initialization because
one network subsystem returned an error during a notification call
chain, the network device is freed twice because of fact 1 and fact 2.
The second free_netdev will be done with an invalid pointer.

Proposed solution:
The following patch move all the code of unregister_netdevice *except*
the call to net_set_todo, to a new function "rollback_registered".

The following functions are changed in this way:
 * register_netdevice: calls rollback_registered when a notification fails
 * unregister_netdevice: calls rollback_register + net_set_todo, the call
                         order to net_set_todo is changed because it is the
                         latest now. Since it justs add an element to a list
                         that should not break anything.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[WAN]: fix drivers/net/wan/lmc/ compilation
Adrian Bunk [Tue, 30 Oct 2007 22:34:34 +0000 (15:34 -0700)]
[WAN]: fix drivers/net/wan/lmc/ compilation

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Tue, 30 Oct 2007 22:26:56 +0000 (15:26 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/fmr_pool: Stop ib_fmr threads from contributing to load average
  IB/ipath: Fix incorrect use of sizeof on msg buffer (function argument)
  IB/ipath: Limit length checksummed in eeprom
  IB/ipath: Fix a race where s_last is updated without lock held
  IB/mlx4: Lock SQ lock in mlx4_ib_post_send()
  IPoIB/cm: Fix receive QP cleanup

16 years agoIB/fmr_pool: Stop ib_fmr threads from contributing to load average
Anton Blanchard [Tue, 30 Oct 2007 21:57:43 +0000 (14:57 -0700)]
IB/fmr_pool: Stop ib_fmr threads from contributing to load average

I noticed my machine was at a constant load average of 1. This was
because ib_create_fmr_pool calls kthread_create but does not
immediately wake the thread up.

Change to using kthread_run so we enter ib_fmr_cleanup_thread(), set
TASK_INTERRUPTIBLE, then go to sleep.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoKbuild/doc: fix links to Documentation files
Dirk Hohndel [Tue, 30 Oct 2007 20:37:19 +0000 (13:37 -0700)]
Kbuild/doc: fix links to Documentation files

Fix links to files in Documentation/* in various Kconfig files

Signed-off-by: Dirk Hohndel <hohndel@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodio: fix cache invalidation after sync writes
Zach Brown [Tue, 30 Oct 2007 18:45:46 +0000 (11:45 -0700)]
dio: fix cache invalidation after sync writes

Commit commit 65b8291c4000e5f38fc94fb2ca0cb7e8683c8a1b ("dio: invalidate
clean pages before dio write") introduced a bug which stopped dio from
ever invalidating the page cache after writes.  It still invalidated it
before writes so most users were fine.

Karl Schendel reported ( http://lkml.org/lkml/2007/10/26/481 ) hitting
this bug when he had a buffered reader immediately reading file data
after an O_DIRECT wirter had written the data.  The kernel issued
read-ahead beyond the position of the reader which overlapped with the
O_DIRECT writer.  The failure to invalidate after writes caused the
reader to see stale data from the read-ahead.

The following patch is originally from Karl.  The following commentary
is his:

The below 3rd try takes on your suggestion of just invalidating
no matter what the retval from the direct_IO call.  I ran it
thru the test-case several times and it has worked every time.
The post-invalidate is probably still too early for async-directio,
but I don't have a testcase for that;  just sync.  And, this
won't be any worse in the async case.

I added a test to the aio-dio-regress repository which mimics Karl's IO
pattern.  It verifed the bad behaviour and that the patch fixed it.  I
agree with Karl, this still doesn't help the case where a buffered
reader follows an AIO O_DIRECT writer.  That will require a bit more
work.

This gives up on the idea of returning EIO to indicate to userspace that
stale data remains if the invalidation failed.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Cc: Karl Schendel <kschendel@datallegro.com>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Leonid Ananiev <leonid.i.ananiev@linux.intel.com>
Cc: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Tue, 30 Oct 2007 19:04:45 +0000 (12:04 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Fix incorrect return value from ia64_setup_msi_irq()
  [IA64] arch/ia64/sn/kernel/mca.c: undo lock when sn_oemdata can't be extended
  [IA64] update sn2 defconfig to 64kb pages
  [IA64] fix typo in per_cpu_offset
  [IA64] /proc/cpuinfo "physical id" field cleanups
  [IA64] vDSO vs --build-id
  [IA64] check-segrel.lds vs --build-id
  [IA64] vmcore_find_descriptor_size should be in __init
  [IA64] ia64/mm/init.c: fix section mismatches

16 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Tue, 30 Oct 2007 19:04:29 +0000 (12:04 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  ixgb: fix TX hangs under heavy load
  e1000e: Fix typo ! &
  ixgbe: minor sparse fixes
  e1000: sparse warnings fixes
  ixgb: fix sparse warnings
  e1000e: fix sparse warnings
  mv643xx_eth: Fix MV643XX_ETH offsets used by Pegasos 2
  Blackfin EMAC driver: Fix Ethernet communication bug (dupliated and lost packets)
  DM9601: Support for ADMtek ADM8515 NIC

16 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Tue, 30 Oct 2007 18:49:13 +0000 (11:49 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  libata: implement and use ATA_QCFLAG_QUIET
  libata: stop being overjealous about non-IO commands
  libata: flush is an IO command
  sata_promise: cleanups
  sata_promise: ASIC PRD table bug workaround, take 2