]> err.no Git - linux-2.6/log
linux-2.6
19 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Tue, 4 Oct 2005 23:55:43 +0000 (16:55 -0700)]
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband

19 years ago[PATCH] Fix broken IXP4xx GPIO macro
Deepak Saxena [Tue, 4 Oct 2005 23:32:38 +0000 (16:32 -0700)]
[PATCH] Fix broken IXP4xx GPIO macro

Macro ended up backwards during one of cleanups. Found by Alessandro Zummo.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Tue, 4 Oct 2005 22:57:53 +0000 (15:57 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] x86_64: Drop global bit from early low mappings
Andi Kleen [Tue, 4 Oct 2005 22:21:39 +0000 (00:21 +0200)]
[PATCH] x86_64: Drop global bit from early low mappings

Drop global bit from early low mappings

Suggested by Linus, originally also proposed by Suresh.

This fixes a race condition with early start of udev, originally
tracked down by Suresh B. Siddha. The problem was that switching
to the user space VM would not clear the global low mappings
for the beginning of memory, which lead to memory corruption.

Drop the global bits.

The kernel mapping stays global because it should stay constant.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ARM] 2952/1: fix a register clobber list
Nicolas Pitre [Tue, 4 Oct 2005 22:17:53 +0000 (23:17 +0100)]
[ARM] 2952/1: fix a register clobber list

Patch from Nicolas Pitre

If gcc decides to assign lr to %0 we're screwed.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2951/1: fix wrong comment
Nicolas Pitre [Tue, 4 Oct 2005 22:17:52 +0000 (23:17 +0100)]
[ARM] 2951/1: fix wrong comment

Patch from Nicolas Pitre

The cmpxchg emulation syscall needs write access.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2950/1: i.MX gpio setup function
Sascha Hauer [Tue, 4 Oct 2005 22:17:52 +0000 (23:17 +0100)]
[ARM] 2950/1: i.MX gpio setup function

Patch from Sascha Hauer

Current implementation of imx_gpio_mode does not allow to
configure all alternate routing possibilities of the i.MX. With
this patch every bit in the gpio setup registers has a
corresponding bit in the gpio_mode parameter, so every routing
should be possible now.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2949/1: Hynix h720x Run mode
Sascha Hauer [Tue, 4 Oct 2005 22:17:51 +0000 (23:17 +0100)]
[ARM] 2949/1: Hynix h720x Run mode

Patch from Sascha Hauer

After coming out of idle mode the h720x goes into slow mode. Switch
it back to run mode.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 4 Oct 2005 20:55:22 +0000 (13:55 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

19 years ago[PATCH] uml: Fix sysrq-r support for skas mode
Allan Graves [Tue, 4 Oct 2005 18:53:52 +0000 (14:53 -0400)]
[PATCH] uml: Fix sysrq-r support for skas mode

The old code had the IP and SP coming from the registers in the thread
struct, which are completely wrong since those are the userspace
registers.  This fixes that by pulling the correct values from the
jmp_buf in which the kernel state of each thread is stored.

Signed-off-by: Allan Graves <allan.graves@oracle.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] UML - Fix Al's build tidying
Jeff Dike [Tue, 4 Oct 2005 18:53:49 +0000 (14:53 -0400)]
[PATCH] UML - Fix Al's build tidying

Al's build tidying missed one bit from me - without this UML doesn't boot.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Acked-by: Al Viro <viro@ftp.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] bfs iget() abuses
Al Viro [Tue, 4 Oct 2005 16:48:44 +0000 (17:48 +0100)]
[PATCH] bfs iget() abuses

bfs_fill_super() walks the inode table to get the bitmap of free inodes
and collect stats.  It has no business using iget() for that - it's a
lot of extra work, extra icache pollution and more complex code.
Switched to walking the damn thing directly.

Note: that also allows to kill ->i_dsk_ino in there - separate patch if
Tigran can confirm that this field can be zero only for deleted inodes
(i.e.  something that could only be found during that scan and not by
normal lookups).

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] bfs endianness annotations
Alexey Dobriyan [Tue, 4 Oct 2005 16:43:06 +0000 (17:43 +0100)]
[PATCH] bfs endianness annotations

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] bogus kfree() in ibmtr
Al Viro [Tue, 4 Oct 2005 16:40:44 +0000 (17:40 +0100)]
[PATCH] bogus kfree() in ibmtr

On several failure exits in ibmtr we end up doing kfree() on dev->priv,
with dev allocated by alloc_trdev() and ->priv never reassigned.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] missing include in megaraid_sas
Al Viro [Tue, 4 Oct 2005 16:36:04 +0000 (17:36 +0100)]
[PATCH] missing include in megaraid_sas

megaraid_sas depends on arch-specific indirect includes pulling
fs.h in; on alpha they do not.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[IPV4]: fib_trie root-node expansion
Robert Olsson [Tue, 4 Oct 2005 20:01:58 +0000 (13:01 -0700)]
[IPV4]: fib_trie root-node expansion

The patch below introduces special thresholds to keep root node in the trie
large. This gives a flatter tree at the cost of a modest memory increase.
Overall it seems to be gain and this was also proposed by one the authors
of the paper in recent a seminar.

Main table after loading 123 k routes.

Aver depth:     3.30
Max depth:      9
        Root-node size  12 bits
        Total size: 4044  kB

With the patch:
Aver depth:     2.78
Max depth:      8
        Root-node size  15 bits
        Total size: 4150  kB

An increase of 8-10% was seen in forwading performance for an rDoS attack.

Signed-off-by: Robert Olsson <robert.olsson@its.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Fix infinite loop in udp_v6_get_port().
YOSHIFUJI Hideaki [Tue, 4 Oct 2005 20:00:39 +0000 (13:00 -0700)]
[IPV6]: Fix infinite loop in udp_v6_get_port().

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/aia21/ntfs-2.6
Linus Torvalds [Tue, 4 Oct 2005 16:34:00 +0000 (09:34 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/aia21/ntfs-2.6

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Tue, 4 Oct 2005 15:11:13 +0000 (08:11 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

19 years agoNTFS: Fix a 64-bitness bug where a left-shift could overflow a 32-bit variable
Anton Altaparmakov [Tue, 4 Oct 2005 12:08:53 +0000 (13:08 +0100)]
NTFS: Fix a 64-bitness bug where a left-shift could overflow a 32-bit variable
      which we now cast to 64-bit first (fs/ntfs/mft.c::map_mft_record_page().

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
19 years agoNTFS: Fix a stupid bug in __ntfs_bitmap_set_bits_in_run() which caused the
Anton Altaparmakov [Tue, 4 Oct 2005 12:06:00 +0000 (13:06 +0100)]
NTFS: Fix a stupid bug in __ntfs_bitmap_set_bits_in_run() which caused the
      count to become negative and hence we had a wild memset() scribbling
      all over the system's ram.

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
19 years ago[PATCH] sungem: fix gfp flags type
Randy Dunlap [Tue, 4 Oct 2005 07:41:22 +0000 (00:41 -0700)]
[PATCH] sungem: fix gfp flags type

Fix nocast sparse warnings in sungen:
drivers/net/sungem.h:1040:45: warning: implicit cast to nocast type

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] ns83820: fix gfp flags type
Randy Dunlap [Tue, 4 Oct 2005 04:24:36 +0000 (21:24 -0700)]
[PATCH] ns83820: fix gfp flags type

Fix implicit nocast warnings in ns83820 code, including __nocast:
drivers/net/ns83820.c:603:46: warning: implicit cast to nocast type

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] ieee80211: fix gfp flags type
Randy Dunlap [Tue, 4 Oct 2005 04:24:45 +0000 (21:24 -0700)]
[PATCH] ieee80211: fix gfp flags type

Fix implicit nocast warnings in ieee80211 code, including __nocast:
net/ieee80211/ieee80211_tx.c:215:9: warning: implicit cast to nocast type

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[netdrvr starfire] fix highmem and broken firmware issues
Ion Badulescu [Tue, 4 Oct 2005 02:31:36 +0000 (22:31 -0400)]
[netdrvr starfire] fix highmem and broken firmware issues

Unfortunately, [your patch] might address the crash but doesn't address
the real problem. It turns out that the problem is one of padding
(the firmware cksum engine works only on 32-bit chunks, yuck), so
the special casing for length == 1 wasn't sufficient anyway.

This patch addresses the issue, as well the other issue of i386 +
CONFIG_HIGHMEM being broken. It is pretty much the same workaround
that Adaptec themselves used in their Windows driver. I have yet to
check if it fixes the problem when the skb is non-linear, but this
patch _will_ solve the problem for 99% of the users out there (those
not using sendfile).

Signed-off-by: Ion Badulescu <ionut@badula.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] net/Kconfig: convert pocket_adapter ISA to PARPORT
Grant Coady [Fri, 9 Sep 2005 14:14:05 +0000 (00:14 +1000)]
[PATCH] net/Kconfig: convert pocket_adapter ISA to PARPORT

This patch changes pocket and parallel adaptors to depend on PARPORT
instead of ISA in order to get the option in newer SuperIO based systems.

Signed-off-by: Grant Coady <gcoady@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] emac: add support for platform-specific unsupported PHY features
Wade Farnsworth [Tue, 4 Oct 2005 02:21:33 +0000 (22:21 -0400)]
[PATCH] emac: add support for platform-specific unsupported PHY features

This patch adds support to the ibm_emac driver for platform-specific
unsupported PHY features.

The patch attempts to determine the highest speed and duplex when
autonegotiation is unsupported.

Signed-off-by: Wade Farnsworth <wfarnsworth@mvista.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] tulip DC21143 rev 48 10Mbit HDX fix
Philippe De Muyter [Thu, 22 Sep 2005 09:09:44 +0000 (11:09 +0200)]
[PATCH] tulip DC21143 rev 48 10Mbit HDX fix

The patch below is necessary to allow my Digital DS21143 Tulip rev 48
ethernet interface to work in a 10Mbit Half Duplex network.  Without
it, the driver keeps retrying other modes in an endless loop.  It seems
like someone already had the same problem with a rev 65 board :)

Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] fix bonding crash, remove old ABI support
Jay Vosburgh [Mon, 26 Sep 2005 23:11:50 +0000 (16:11 -0700)]
[PATCH] fix bonding crash, remove old ABI support

David S. Miller <davem@davemloft.net> wrote:
>I think removing support for older ifenslave binaries is
>the least painful solution to this problem.

This patch removes backwards compatibility for old ifenslave
binaries (ifenslave prior to verison 1.0.0).

I did not similarly modify ifenslave itself; with sysfs on the
horizon, I don't see that as being worthwhile.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] s390: qeth driver fixes
Ursula Braun [Fri, 30 Sep 2005 08:17:24 +0000 (10:17 +0200)]
[PATCH] s390: qeth driver fixes

From: Peter Tiedemann <ptiedem@de.ibm.com>
From: Frank Pavlic <pavlic@de.ibm.com>
minor qeth fixes:
- free old skb in qeth_realloc_headroom after duplicating skb
- disable IPV6 support for Hipersockets devices
- call ccw_device_set_offline on every channel regardless
  of the return value of the prior ccw_device_set_offline calls
- allocate qdio structures in DMA-area
- schedule recovery of appropriate card
  when cable has been inserted again.
- add missing initialization of card->lock
- write sequence number in skb->cb for SNA protocol which
  requires strictly serialized packets.

Signed-off-by: Frank Pavlic <pavlic@de.ibm.com>
diffstat:
 qeth.h      |    2 ++
 qeth_main.c |   37 +++++++++++++++++--------------------
 2 files changed, 19 insertions(+), 20 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[netdrvr] fix smc91c92_cs multicast bug
Komuro [Tue, 4 Oct 2005 02:03:28 +0000 (22:03 -0400)]
[netdrvr] fix smc91c92_cs multicast bug

The smc91c92_cs multicast does not work
if the count of multicast address is 1.

Signed-off-by: <komurojun-mbn@nifty.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] ieee80211: fix gfp flags type
Randy Dunlap [Mon, 3 Oct 2005 05:41:09 +0000 (22:41 -0700)]
[PATCH] ieee80211: fix gfp flags type

Fix implicit nocast warnings in ieee80211 code:
net/ieee80211/ieee80211_tx.c:215:9: warning: implicit cast to nocast type

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] ns83820: fix gfp flags type
Randy Dunlap [Mon, 3 Oct 2005 05:42:11 +0000 (22:42 -0700)]
[PATCH] ns83820: fix gfp flags type

Fix implicit nocast warnings in ns83820 code:
drivers/net/ns83820.c:603:46: warning: implicit cast to nocast type

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] skge: set mac address oops with bonding
Stephen Hemminger [Mon, 3 Oct 2005 19:03:13 +0000 (12:03 -0700)]
[PATCH] skge: set mac address oops with bonding

Skge driver was bringing link up/down when changing mac
address.  This doesn't work in the bonding environment, and is
more effort than needed.

Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=5271

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[SUNSU]: Fix bogus locking in sunsu_change_mouse_baud()
David S. Miller [Tue, 4 Oct 2005 00:37:27 +0000 (17:37 -0700)]
[SUNSU]: Fix bogus locking in sunsu_change_mouse_baud()

The lock is not held when calling this function, so we
shouldn't drop then reacquire it.

Based upon a report from Jim MacBaine.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC]: "extern inline" doesn't make much sense.
Adrian Bunk [Tue, 4 Oct 2005 00:37:02 +0000 (17:37 -0700)]
[SPARC]: "extern inline" doesn't make much sense.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Update driver version and release date.
David S. Miller [Mon, 3 Oct 2005 23:25:23 +0000 (16:25 -0700)]
[TG3]: Update driver version and release date.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Update icmp sysctl docs and disable broadcast ECHO/TIMESTAMP by default
David S. Miller [Mon, 3 Oct 2005 23:07:30 +0000 (16:07 -0700)]
[IPV4]: Update icmp sysctl docs and disable broadcast ECHO/TIMESTAMP by default

It's not a good idea to be smurf'able by default.
The few people who need this can turn it on.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Get rid of bogus __in_put_dev in pktgen
Herbert Xu [Mon, 3 Oct 2005 21:36:32 +0000 (14:36 -0700)]
[IPV4]: Get rid of bogus __in_put_dev in pktgen

This patch gets rid of a bogus __in_dev_put() in pktgen.c.  This was
spotted by Suzanne Wood.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl
Herbert Xu [Mon, 3 Oct 2005 21:35:55 +0000 (14:35 -0700)]
[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl

The following patch renames __in_dev_get() to __in_dev_get_rtnl() and
introduces __in_dev_get_rcu() to cover the second case.

1) RCU with refcnt should use in_dev_get().
2) RCU without refcnt should use __in_dev_get_rcu().
3) All others must hold RTNL and use __in_dev_get_rtnl().

There is one exception in net/ipv4/route.c which is in fact a pre-existing
race condition.  I've marked it as such so that we remember to fix it.

This patch is based on suggestions and prior work by Suzanne Wood and
Paul McKenney.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Fix leak added by udp connect dst caching fix.
David S. Miller [Mon, 3 Oct 2005 21:21:58 +0000 (14:21 -0700)]
[IPV6]: Fix leak added by udp connect dst caching fix.

Based upon a patch from Mitsuru KANDA <mk@linux-ipv6.org>

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Fix ipv6 fragment ID selection at slow path
Yan Zheng [Mon, 3 Oct 2005 21:19:15 +0000 (14:19 -0700)]
[IPV6]: Fix ipv6 fragment ID selection at slow path

Signed-Off-By: Yan Zheng <yanzheng@21cn.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Fix "Proxy ARP seems broken"
Herbert Xu [Mon, 3 Oct 2005 21:18:10 +0000 (14:18 -0700)]
[IPV4]: Fix "Proxy ARP seems broken"

Meelis Roos <mroos@linux.ee> wrote:
> RK> My firewall setup relies on proxyarp working.  However, with 2.6.14-rc3,
> RK> it appears to be completely broken.  The firewall is 212.18.232.186,
>
> Same here with some kernel between 14-rc2 and 14-rc3 - no reposnse to
> ARP on a proxyarp gateway. Sorry, no exact revison and no more debugging
> yet since it'a a production gateway.

The breakage is caused by the change to use the CB area for flagging
whether a packet has been queued due to proxy_delay.  This area gets
cleared every time arp_rcv gets called.  Unfortunately packets delayed
due to proxy_delay also go through arp_rcv when they are reprocessed.

In fact, I can't think of a reason why delayed proxy packets should go
through netfilter again at all.  So the easiest solution is to bypass
that and go straight to arp_process.

This is essentially what would've happened before netfilter support
was added to ARP.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Fix "sysctl_net.c:36: error: 'core_table' undeclared here"
Russell King [Mon, 3 Oct 2005 21:16:34 +0000 (14:16 -0700)]
[NET]: Fix "sysctl_net.c:36: error: 'core_table' undeclared here"

During the build for ARM machine type "fortunet", this error occurred:

  CC      net/sysctl_net.o
net/sysctl_net.c:36: error: 'core_table' undeclared here (not in a function)

It appears that the following configuration settings cause this error
due to a missing include:
CONFIG_SYSCTL=y
CONFIG_NET=y
# CONFIG_INET is not set

core_table appears to be declared in net/sock.h.  if CONFIG_INET were
defined, net/sock.h would have been included via:
  sysctl_net.c -> net/ip.h -> linux/ip.h -> net/sock.h

so include it directly.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[INET]: speedup inet (tcp/dccp) lookups
Eric Dumazet [Mon, 3 Oct 2005 21:13:38 +0000 (14:13 -0700)]
[INET]: speedup inet (tcp/dccp) lookups

Arnaldo and I agreed it could be applied now, because I have other
pending patches depending on this one (Thank you Arnaldo)

(The other important patch moves skc_refcnt in a separate cache line,
so that the SMP/NUMA performance doesnt suffer from cache line ping pongs)

1) First some performance data :
--------------------------------

tcp_v4_rcv() wastes a *lot* of time in __inet_lookup_established()

The most time critical code is :

sk_for_each(sk, node, &head->chain) {
     if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif))
         goto hit; /* You sunk my battleship! */
}

The sk_for_each() does use prefetch() hints but only the begining of
"struct sock" is prefetched.

As INET_MATCH first comparison uses inet_sk(__sk)->daddr, wich is far
away from the begining of "struct sock", it has to bring into CPU
cache cold cache line. Each iteration has to use at least 2 cache
lines.

This can be problematic if some chains are very long.

2) The goal
-----------

The idea I had is to change things so that INET_MATCH() may return
FALSE in 99% of cases only using the data already in the CPU cache,
using one cache line per iteration.

3) Description of the patch
---------------------------

Adds a new 'unsigned int skc_hash' field in 'struct sock_common',
filling a 32 bits hole on 64 bits platform.

struct sock_common {
unsigned short skc_family;
volatile unsigned char skc_state;
unsigned char skc_reuse;
int skc_bound_dev_if;
struct hlist_node skc_node;
struct hlist_node skc_bind_node;
atomic_t skc_refcnt;
+ unsigned int skc_hash;
struct proto *skc_prot;
};

Store in this 32 bits field the full hash, not masked by (ehash_size -
1) Using this full hash as the first comparison done in INET_MATCH
permits us immediatly skip the element without touching a second cache
line in case of a miss.

Suppress the sk_hashent/tw_hashent fields since skc_hash (aliased to
sk_hash and tw_hash) already contains the slot number if we mask with
(ehash_size - 1)

File include/net/inet_hashtables.h

64 bits platforms :
#define INET_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\
     (((__sk)->sk_hash == (__hash))
     ((*((__u64 *)&(inet_sk(__sk)->daddr)))== (__cookie))   &&  \
     ((*((__u32 *)&(inet_sk(__sk)->dport))) == (__ports))   &&  \
     (!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif))))

32bits platforms:
#define TCP_IPV4_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\
     (((__sk)->sk_hash == (__hash))                 &&  \
     (inet_sk(__sk)->daddr          == (__saddr))   &&  \
     (inet_sk(__sk)->rcv_saddr      == (__daddr))   &&  \
     (!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif))))

- Adds a prefetch(head->chain.first) in
__inet_lookup_established()/__tcp_v4_check_established() and
__inet6_lookup_established()/__tcp_v6_check_established() and
__dccp_v4_check_established() to bring into cache the first element of the
list, before the {read|write}_lock(&head->lock);

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Acked-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Refine AMD K8 write-reorder chipset test.
Michael Chan [Mon, 3 Oct 2005 21:02:39 +0000 (14:02 -0700)]
[TG3]: Refine AMD K8 write-reorder chipset test.

Test for VIA K8T800 north bridge instead of AMD K8 HyperTransport
bridge based on new information from Andi Kleen. The AMD
HyperTransport interface is not responsible for PCI transactions
and so the re-ordering is more likely done by the VIA north bridge.
This code is subject to change if we get more information from AMD
or VIA.

PCI Express devices are excluded from doing the read flush since all
chipsets in the write_reorder list are PCI chipsets.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[CASSINI]: Convert to ethtool_ops
Al Viro [Mon, 3 Oct 2005 21:01:37 +0000 (14:01 -0700)]
[CASSINI]: Convert to ethtool_ops

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Fix packet timestamping.
Herbert Xu [Mon, 3 Oct 2005 20:57:23 +0000 (13:57 -0700)]
[NET]: Fix packet timestamping.

I've found the problem in general.  It affects any 64-bit
architecture.  The problem occurs when you change the system time.

Suppose that when you boot your system clock is forward by a day.
This gets recorded down in skb_tv_base.  You then wind the clock back
by a day.  From that point onwards the offset will be negative which
essentially overflows the 32-bit variables they're stored in.

In fact, why don't we just store the real time stamp in those 32-bit
variables? After all, we're not going to overflow for quite a while
yet.

When we do overflow, we'll need a better solution of course.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] x86_64: Fix numa node topology detection for srat based x86_64 boxes
Ravikiran G Thirumalai [Mon, 3 Oct 2005 17:36:28 +0000 (10:36 -0700)]
[PATCH] x86_64: Fix numa node topology detection for srat based x86_64 boxes

2.6.14-rc2 does not assign cpus to proper nodeids on our em64t numa boxen.
Our boxes use acpi srat for parsing the numa information.

srat_detect_node() used phys_proc_id[] to get to the cpu's local apic id,
but phys_proc_id[] represents the cpu<->initial_apic_id mapping.  The
following patch fixes this problem.  Now apicid_to_node[] is properly
indexed with the local apic id.

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6
Linus Torvalds [Mon, 3 Oct 2005 15:07:10 +0000 (08:07 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6

19 years ago[PATCH] Document patch subject line better
Paul Jackson [Mon, 3 Oct 2005 07:29:10 +0000 (00:29 -0700)]
[PATCH] Document patch subject line better

Improve explanation of the Subject line fields in
Documentation/SubmittingPatches Canonical Patch Format.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SCSI] Legacy MegaRAID: Fix READ CAPACITY
James Bottomley [Sat, 1 Oct 2005 14:38:05 +0000 (09:38 -0500)]
[SCSI] Legacy MegaRAID: Fix READ CAPACITY

Some Legacy megaraid cards can't actually cope with the scatter/gather
version of the READ CAPACITY command (which is what we now send them
since altering all SCSI internal I/O to go via the block layer).  Fix
this (and a few other broken megaraid driver assumptions) by sending
the non-sg version of the command if the sg list only has a single
element.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 3 Oct 2005 01:28:32 +0000 (18:28 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] Document from line in patch format
Paul Jackson [Mon, 3 Oct 2005 01:01:42 +0000 (18:01 -0700)]
[PATCH] Document from line in patch format

Document more details of patch format such as the "from" line
and the "---" marker line, and provide more references for
patch guidelines.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ARM] 2943/1: Clear the exclusive monitor in v6_early_abort
Catalin Marinas [Sun, 2 Oct 2005 21:34:35 +0000 (22:34 +0100)]
[ARM] 2943/1: Clear the exclusive monitor in v6_early_abort

Patch from Catalin Marinas

Data abort caused by ldrex/strex can leave the exclusive monitor in an
unpredictable state. It is recommended that a clrex/strex is performed to
clear this state.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] alpha: fix kernel alignment traps
Richard Henderson [Sun, 2 Oct 2005 19:49:52 +0000 (12:49 -0700)]
[PATCH] alpha: fix kernel alignment traps

Pass in the pointer to the on-stack registers rather than using them
directly as the arguments.

Ivan noticed that I missed a spot when purging the registers as first
stack parameter idiom.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SCSI] aic7xxx/aic79xx: fix module removal path not to panic
James Bottomley [Sun, 2 Oct 2005 20:22:35 +0000 (15:22 -0500)]
[SCSI] aic7xxx/aic79xx: fix module removal path not to panic

In these drivers, scsi_remove_host() is called too late, at the point
it is called, the driver has already shut down too far to accept any
I/O that the shutdown might generate.  Any generated I/O actually
triggers a panic.

Fix this by calling scsi_remove_host() as early as possible and not
calling scsi_host_put() until just before we kfree the ahc_softc.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fix potential panic with proc on module removal
James Bottomley [Sun, 2 Oct 2005 17:59:49 +0000 (12:59 -0500)]
[SCSI] fix potential panic with proc on module removal

There's a problem in our host release in that it calls
scsi_proc_hostdir_rm(). However, if you hold a reference to the host as
you remove the module, the host template (which proc uses) will be freed
and the system will panic when the host device is finally released.

Fix this by moving scsi_proc_hostdir_rm() to where it should be: in
scsi_remove_host().

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[ARM] Fix init printk for EBSA110 network driver, and link timer
Russell King [Sun, 2 Oct 2005 17:12:03 +0000 (18:12 +0100)]
[ARM] Fix init printk for EBSA110 network driver, and link timer

Arrange for the initialisation printks to happen after we've
registered the network interface, so we know what name the
device is.  Also, check the link every 500ms (and use
msecs_to_jiffies.)

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Fix EBSA110 network driver link detection
Russell King [Sun, 2 Oct 2005 17:02:25 +0000 (18:02 +0100)]
[ARM] Fix EBSA110 network driver link detection

EBSA110 link detection didn't read the register - it wrote it.  Oops.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Sun, 2 Oct 2005 00:02:13 +0000 (17:02 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] ppc32: Add new iBook 12" to PowerMac models table
Sven Henkel [Sat, 1 Oct 2005 22:30:33 +0000 (08:30 +1000)]
[PATCH] ppc32: Add new iBook 12" to PowerMac models table

This adds the new iBook G4 (manufactured after July 2005) to the
PowerMac models table.  The model name (PowerBook6,7) is taken from a
12" iBook, I don't know if it also matches the 14" version.  The patch
applies to a vanilla 2.6.13.2 kernel.

Signed-off-by: Sven Henkel <shenkel@gmail.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pmac/radeonfb: Add suspend support for M11 chip in new iBook 12"
Sven Henkel [Sat, 1 Oct 2005 22:29:18 +0000 (08:29 +1000)]
[PATCH] pmac/radeonfb: Add suspend support for M11 chip in new iBook 12"

This adds suspend support for the Radeon M11 chip in 12" iBooks
manufactured after July 2005.  I don't know if the new 14" iBooks also
have that chip, so they might also be supported.

The chip identifies itself as "RV350 NV" (pci id 0x4e56), revision 0x80.
Apple calls it "Snowy", xfree86 names it "ATI FireGL Mobility T2 (M11)
NV (AGP)".  So, we seem to be lucky here: The suspend-code for the M10
(which also is a "RV350 NV") works flawless for that chip.

Signed-off-by: Sven Henkel <shenkel@gmail.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ARM] 2945/1: ARM fortunet fails to build because of missing include
Vincent Sanders [Sat, 1 Oct 2005 21:56:34 +0000 (22:56 +0100)]
[ARM] 2945/1: ARM fortunet fails to build because of missing include

Patch from Vincent Sanders

When building the fortunet ARM platform it fails to compile because of
missing include.

Signed-off-by: Vincent Sanders <vince@arm.linux.org.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2944/1: GCC 4 mx1ads serial driver compile fix
Vincent Sanders [Sat, 1 Oct 2005 21:56:34 +0000 (22:56 +0100)]
[ARM] 2944/1: GCC 4 mx1ads serial driver compile fix

Patch from Vincent Sanders

When building the mx1ads ARM platforms the serial driver fails to compile
with GCC 4.01 due to extern/static ambiguity.

Signed-off-by: Vincent Sanders <vince@arm.linux.org.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoFix inequality comparison against "task->state"
Linus Torvalds [Sat, 1 Oct 2005 18:04:18 +0000 (11:04 -0700)]
Fix inequality comparison against "task->state"

We should always use bitmask ops, rather than depend on some ordering of
the different states.  With the TASK_NONINTERACTIVE flag, the inequality
doesn't really work.

Oleg Nesterov argues (likely correctly) that this test is unnecessary in
the first place.  However, the minimal fix for now is to at least make
it work in the presense of TASK_NONINTERACTIVE.  Waiting for consensus
from Roland & co on potential bigger cleanups.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] trivial #if -> #ifdef
Diego Calleja [Sat, 1 Oct 2005 15:00:48 +0000 (17:00 +0200)]
[PATCH] trivial #if -> #ifdef

Use '#ifdef' consistently on __KERNEL__.  This was reported as bug #5340
(isn't easier to send a fix than report the bug?!)

Signed-off-by: Diego Calleja <diegocg@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: fix up()/down() usage for kprobe_mutex
Ananth N Mavinakayanahalli [Sat, 1 Oct 2005 17:14:17 +0000 (13:14 -0400)]
[PATCH] ppc64: fix up()/down() usage for kprobe_mutex

The incorrect kprobe_mutex usage on x86_64 had percolated to ppc64 too.
First noticed by Yanmin Zhang.

Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ARM: Fix IXP2000 serial port resource range. For real this time.
Deepak Saxena [Fri, 30 Sep 2005 23:20:22 +0000 (16:20 -0700)]
[PATCH] ARM: Fix IXP2000 serial port resource range. For real this time.

Serial port only needs 32 bytes of resource space but we are currently
asking for 64K.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
[ diff went missing first time due to corrupted patch ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] r8169: tone down the r8169 driver
Francois Romieu [Fri, 30 Sep 2005 23:54:02 +0000 (16:54 -0700)]
[PATCH] r8169: tone down the r8169 driver

Tone down the r8169 driver

As an alternative, people can use the boot time 'debug' option and/or use
'ethtool -s ethX msglvl xyz'.  The different messages are listed at:
http://www.zoreil.com/~romieu/r8169/doc/msglvl.txt

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pmac: fix cpufreq for old tipb 550Mhz
Benjamin Herrenschmidt [Fri, 30 Sep 2005 23:21:25 +0000 (09:21 +1000)]
[PATCH] pmac: fix cpufreq for old tipb 550Mhz

The old 550Mhz titanium powerbook can switch to a lower frequency
(500Mhz). A user has been repeately reporting overtemp conditions on his
machine at high speed so this simple patch adds support to PowerMac
cpufreq for this machine. The difference in frequency isn't big but seem
enough to fix that user's problems. The patch has been around for some
time now and doesn't seem to cause any problem, so I suppose it could go
in now.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Alain RICHARD <alain.richard@equation.fr>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix IXP2000 serial port resource range
Deepak Saxena [Fri, 30 Sep 2005 23:20:22 +0000 (16:20 -0700)]
[PATCH] Fix IXP2000 serial port resource range

Serial port only needs 32 bytes of resource space but we are currently
asking for 64K.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoLinux v2.6.14-rc3 v2.6.14-rc3
Linus Torvalds [Fri, 30 Sep 2005 21:17:35 +0000 (14:17 -0700)]
Linux v2.6.14-rc3

19 years ago[IB] mthca: Fix memory leak on device close
Michael S. Tsirkin [Fri, 30 Sep 2005 20:55:50 +0000 (13:55 -0700)]
[IB] mthca: Fix memory leak on device close

Remember to free the multicast group context memory table.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[PATCH] x86_64 early numa init fix
Ravikiran G Thirumalai [Fri, 30 Sep 2005 18:59:22 +0000 (11:59 -0700)]
[PATCH] x86_64 early numa init fix

The tests Alok carried out on Petr's box confirmed that cpu_to_node[BP] is
not setup early enough by numa_init_array due to the x86_64 changes in
2.6.14-rc*, and unfortunately set wrongly by the work around code in
numa_init_array().  cpu_to_node[0] gets set with 1 early and later gets set
properly to 0 during identify_cpu() when all cpus are brought up, but
confusing the numa slab in the process.

Here is a quick fix for this.  The right fix obviously is to have
cpu_to_node[bsp] setup early for numa_init_array().  The following patch
will fix the problem now, and the code can stay on even when
cpu_to_node{BP] gets fixed early correctly.

Thanks to Petr for access to his box.

Signed off by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Alok N Kataria <alokk@calsoftinc.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: fix the BP node_to_cpumask
Ravikiran G Thirumalai [Fri, 30 Sep 2005 18:59:21 +0000 (11:59 -0700)]
[PATCH] x86_64: fix the BP node_to_cpumask

Fix the BP node_to_cpumask.  2.6.14-rc* broke the boot cpu bit as the
cpu_to_node(0) is now not setup early enough for numa_init_array.
cpu_to_node[] is setup much later at srat_detect_node on acpi srat based
em64t machines.  This seems like a problem on amd machines too, Tested on
em64t though.  /sys/devices/system/node/node0/cpumap shows up sanely after
this patch.

Signed off by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] utilization of kprobe_mutex is incorrect on x86_64
Zhang, Yanmin [Fri, 30 Sep 2005 18:59:20 +0000 (11:59 -0700)]
[PATCH] utilization of kprobe_mutex is incorrect on x86_64

The up()/down() orders are incorrect in arch/x86_64/kprobes.c file.
kprobe_mutext is used to protect the free kprobe instruction slot list.
arch_prepare_kprobe applies for a slot from the free list, and
arch_remove_kprobe returns a slot to the free list.  The incorrect up()/down()
orders to operate on kprobe_mutex fail to protect the free list.  If 2 threads
try to get/return kprobe instruction slot at the same time, the free slot list
might be broken, or a free slot might be applied by 2 threads.

Signed-off-by: Zhang Yanmin <Yanmin.zhang@intel.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ohci1394: less noise in dmesg
Jody McIntyre [Fri, 30 Sep 2005 18:59:19 +0000 (11:59 -0700)]
[PATCH] ohci1394: less noise in dmesg

less noise in dmesg

Signed-off-by: Ben Collins <bcollins@debian.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ieee1394: delete legacy module aliases
Jody McIntyre [Fri, 30 Sep 2005 18:59:18 +0000 (11:59 -0700)]
[PATCH] ieee1394: delete legacy module aliases

amdtp, dv1394, raw1394, video1394:

Delete legacy module aliases.  The macros did not work and the aliases are not
needed nowadays.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Ben Collins <bcollins@debian.org>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] eth1394: workaround limitation in rawiso routines
Jody McIntyre [Fri, 30 Sep 2005 18:59:18 +0000 (11:59 -0700)]
[PATCH] eth1394: workaround limitation in rawiso routines

Work around limitation in rawiso routines.  Required with 1394b cards on
architectures where PAGE_SIZE is 4096.  Based on a previous patch by Ben
Collins.

Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ieee1394: remove superfluous include in csr1212
Jody McIntyre [Fri, 30 Sep 2005 18:59:17 +0000 (11:59 -0700)]
[PATCH] ieee1394: remove superfluous include in csr1212

Remove superfluous include.

Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ieee1394: trivial edits of a few comments
Jody McIntyre [Fri, 30 Sep 2005 18:59:16 +0000 (11:59 -0700)]
[PATCH] ieee1394: trivial edits of a few comments

trivial edits of a few comments

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Ben Collins <bcollins@debian.org>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ieee1394: use time_before()
Jody McIntyre [Fri, 30 Sep 2005 18:59:10 +0000 (11:59 -0700)]
[PATCH] ieee1394: use time_before()

Use of time_before() macro, defined at linux/jiffies.h, which deal with
wrapping correctly and are nicer to read.

Signed-off-by: Marcelo Feitoza Parisi <marcelo@feitoza.com.br>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Ben Collins <bcollins@debian.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ieee1394: fix for debug output
Jody McIntyre [Fri, 30 Sep 2005 18:59:09 +0000 (11:59 -0700)]
[PATCH] ieee1394: fix for debug output

Fix debug code so it prints the correct speed (was defaulting to 100, so
anything > 400 showed only 100).

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Ben Collins <bcollins@debian.org>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ieee1394: skip unnecessary pause when scanning config ROMs
Jody McIntyre [Fri, 30 Sep 2005 18:59:09 +0000 (11:59 -0700)]
[PATCH] ieee1394: skip unnecessary pause when scanning config ROMs

Skip a superfluous pause that occured when the config ROM of a node was
scanned unsuccessfully.  This also occurs if a node without link wrongly
enables its "link active" self ID flag.  A GWCTech 6-port hub does this.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ieee1394: reorder activities after bus reset (fixes device detection)
Jody McIntyre [Fri, 30 Sep 2005 18:59:08 +0000 (11:59 -0700)]
[PATCH] ieee1394: reorder activities after bus reset (fixes device detection)

Units were not detected if the local IRM performed a bus reset.  ("The root
node is not cycle master capable; selecting a new root node and resetting...",
often seen with iPods and other SBP-2 devices).  Rearrange the order of IRM
duties and node scanning.  TODO: Audit the ROM caching and parsing code for
underlying issues.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sbp2: default to serialize_io=1
Jody McIntyre [Fri, 30 Sep 2005 18:59:07 +0000 (11:59 -0700)]
[PATCH] sbp2: default to serialize_io=1

Set serialize_io=1 by default.  This is safer and required by seemingly more
and more hardware.  It causes little or no performance loss for S400 devices.
Performance of S800 1394b devices may drop by 25...30%.  Therefore make the
parameter's description and dmesg message clearer about performance impact.

Update description of the max_speed parameter too.  IEEE1394_SPEED_MAX is
currently S800.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sbp2: fix deadlocks and delays on device removal/rmmod
Jody McIntyre [Fri, 30 Sep 2005 18:59:06 +0000 (11:59 -0700)]
[PATCH] sbp2: fix deadlocks and delays on device removal/rmmod

Fixes for deadlocks of the ieee1394 and scsi subsystems and long delays in
futile error recovery attempts when SBP-2 devices are removed or drivers are
unloaded.

 - Complete commands quickly with DID_NO_CONNECT if the 1394 node is gone or if
   the 1394 low-level driver was unloaded.
 - Skip unnecessary work in the eh_abort_handler and eh_device_reset_handler if
   the node or 1394 low-level driver is gone.
 - Let scsi's high-level shut down gracefully when sbp2 is being unloaded or
   detached from the 1394 unit. A call to scsi_remove_device is added for this
   purpose, which requires us to store a scsi_device pointer.
 - scsi_device pointer is obtained from slave_alloc hook and cleared by
   slave_destroy. This avoids usage of the pointer after the scsi device was
   deleted e.g. by the user via scsi_mod's sysfs interface.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] MAINTAINERS: sbp2 driver is not orphaned.
Jody McIntyre [Fri, 30 Sep 2005 18:59:04 +0000 (11:59 -0700)]
[PATCH] MAINTAINERS: sbp2 driver is not orphaned.

Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ioc4_serial: Remove bogus error message
Brent Casavant [Fri, 30 Sep 2005 18:59:04 +0000 (11:59 -0700)]
[PATCH] ioc4_serial: Remove bogus error message

This change removes a bogus error message from the IOC4 serial driver
interrupt handler.

This error message is bogus for two reasons.  First, it can never occur
given that current code takes care to initialize IOC4 in such a way that
these "unknown" interrupts could never occur.  Second, this code fails to
take into account that other drivers can share the IOC4 interrupt mechanism
through SA_SHIRQ, and thus this driver is not in-fact "all-knowing".

Finally, this error message triggers every time some "unknown" interrupt
occurs -- it's not rate limited or repetition limited in any way, thereby
effectively denying use of the console device.  Given its bogosity in the
first place, it's best to just get rid of it entirely.

Acked-by: Pat Gefre <pfg@sgi.com>
Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fuse: check O_DIRECT
Miklos Szeredi [Fri, 30 Sep 2005 18:59:02 +0000 (11:59 -0700)]
[PATCH] fuse: check O_DIRECT

Check O_DIRECT and return -EINVAL error in open.  dentry_open() also checks
this but only after the open method is called.  This patch optimizes away
the unnecessary upcalls in this case.

It could be a correctness issue too: if filesystem has open() with side
effect, then it should fail before doing the open, not after.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: remove empty hostfs_truncate method
Paolo 'Blaisorblade' Giarrusso [Fri, 30 Sep 2005 18:59:01 +0000 (11:59 -0700)]
[PATCH] uml: remove empty hostfs_truncate method

Calling truncate() on hostfs spits a kernel warning "Something isn't
implemented here", but it still works fine.

Indeed, hostfs i_op->truncate doesn't do anything.  But hostfs_setattr() ->
set_attr() correctly detects ATTR_SIZE and calls truncate() on the host.  So
we should be safe (using ftruncate() may be better, in case the file is
unlinked on the host, but we aren't sure to have the file open for writing,
and reopening it would cause the same races; plus nobody should expect UML to
be so careful).

So, the warning is wrong, because the current implementation is working.  Al,
am I correct, and can the warning be therefore dropped?

CC: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: revert "run mconsole "sysrq" in process context"
Paolo 'Blaisorblade' Giarrusso [Fri, 30 Sep 2005 18:59:00 +0000 (11:59 -0700)]
[PATCH] uml: revert "run mconsole "sysrq" in process context"

Revert commit 12ebcd73e40e09f0dfddf89e465cc0541e0ff8b1, i.e.  [PATCH] uml: run
mconsole "sysrq" in process context on request from Jeff Dike.

a) sysrq may be run when the scheduler is non-functioning

b) the warning I wanted to fix actually came from the fault handler run in
   atomic context.  But I fixed that not to take the semaphore in a separate
   patch.

c) the fault handler is run because of a fault, and that fault was
   unaffected by this patch.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: clear SKAS0/3 flags when running in TT mode
Paolo 'Blaisorblade' Giarrusso [Fri, 30 Sep 2005 18:59:00 +0000 (11:59 -0700)]
[PATCH] uml: clear SKAS0/3 flags when running in TT mode

SEGV_MAYBE_FIXABLE tests ptrace_faultinfo, and depends on it being 1 only in
SKAS3 mode, while currently when running with mode=tt it will be 1 anyway.
Fix this, and do the same for proc_mm.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: fix page faults in SKAS3 mode.
Paolo 'Blaisorblade' Giarrusso [Fri, 30 Sep 2005 18:58:59 +0000 (11:58 -0700)]
[PATCH] uml: fix page faults in SKAS3 mode.

I hadn't been running a SKAS3 host when testing the "uml: fix hang in TT mode
on fault" patch (commit 546fe1cbf91d4d62e3849517c31a2327c992e5c5), and I
didn't think enough to the missing trap_no in SKAS3 mode.

In fact, the resulting kernel doesn't work at all in SKAS3 mode.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] v4l: DViCO FusionHDTV5 Lite GPIO Fix
Michael Krufky [Fri, 30 Sep 2005 18:58:58 +0000 (11:58 -0700)]
[PATCH] v4l: DViCO FusionHDTV5 Lite GPIO Fix

GPIO fix for the composite and tv mute states of bt8xx card #135: DViCO
FusionHDTV5 Lite.  Without this patch, selecting one of these states could
produce unexpected behavior.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86: hw_irq.h warning fix
Andrew Morton [Fri, 30 Sep 2005 18:58:57 +0000 (11:58 -0700)]
[PATCH] x86: hw_irq.h warning fix

include/asm/hw_irq.h:70: warning: `struct hw_interrupt_type' declared inside parameter list
include/asm/hw_irq.h:70: warning: its scope is only this definition or declaration, which is probably not what you want

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] aio: avoid extra aio_{read,write} call when ki_left == 0
Zach Brown [Fri, 30 Sep 2005 18:58:56 +0000 (11:58 -0700)]
[PATCH] aio: avoid extra aio_{read,write} call when ki_left == 0

Recently aio_p{read,write} changed to perform retries internally rather
than returning -EIOCBRETRY.  This inadvertantly resulted in always calling
aio_{read,write} with ki_left at 0 which would in turn immediately return
0.  Harmless, but we can avoid this call by checking in the caller.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] aio: remove unlocked task_list test and resulting race
Zach Brown [Fri, 30 Sep 2005 18:58:55 +0000 (11:58 -0700)]
[PATCH] aio: remove unlocked task_list test and resulting race

Only one of the run or kick path is supposed to put an iocb on the run
list.  If both of them do it than one of them can end up referencing a
freed iocb.  The kick path could delete the task_list item from the wait
queue before getting the ctx_lock and putting the iocb on the run list.
The run path was testing the task_list item outside the lock so that it
could catch ki_retry methods that return -EIOCBRETRY *without* putting the
iocb on a wait queue and promising to call kick_iocb.  This unlocked check
could then race with the kick path to cause both to try and put the iocb on
the run list.

The patch stops the run path from testing task_list by requring that any
ki_retry that returns -EIOCBRETRY *must* guarantee that kick_iocb() will be
called in the future.  aio_p{read,write}, the only in-tree -EIOCBRETRY
users, are updated.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] aio: lock around kiocbTryKick()
Zach Brown [Fri, 30 Sep 2005 18:58:54 +0000 (11:58 -0700)]
[PATCH] aio: lock around kiocbTryKick()

Only one of the run or kick path is supposed to put an iocb on the run
list.  If both of them do it than one of them can end up referencing a
freed iocb.  The kick patch could set the Kicked bit before acquiring the
ctx_lock and putting the iocb on the run list.  The run path, while holding
the ctx_lock, could see this partial kick and mistake it for a kick that
was deferred while it was doing work with the run_list NULLed out.  It
would then race with the kick thread to add the iocb to the run list.

This patch moves the kick setting under the ctx_lock so that only one of
the kick or run path queues the iocb on the run list, as intended.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>