openwrt/staging/blogic.git
17 years ago[MIPS] SMTC: Don't continue in set_vi_srs_handler on detected bad arguments.
Ralf Baechle [Thu, 31 May 2007 13:00:19 +0000 (14:00 +0100)]
[MIPS] SMTC: Don't continue in set_vi_srs_handler on detected bad arguments.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] SMTC: Fix warning.
Ralf Baechle [Thu, 31 May 2007 12:36:57 +0000 (13:36 +0100)]
[MIPS] SMTC: Fix warning.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Wire up utimensat, signalfd, timerfd, eventfd
Atsushi Nemoto [Tue, 29 May 2007 14:29:40 +0000 (23:29 +0900)]
[MIPS] Wire up utimensat, signalfd, timerfd, eventfd

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Atlas: Fix build.
Ralf Baechle [Fri, 25 May 2007 14:46:38 +0000 (15:46 +0100)]
[MIPS] Atlas: Fix build.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Always install the DSP exception handler.
Chris Dearman [Thu, 24 May 2007 21:30:18 +0000 (22:30 +0100)]
[MIPS] Always install the DSP exception handler.

Some non-DSP enabled cores 24K / 34K can generate a DSP exception where they
are actually expected to produce a reserved instruction exception.

Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] SMTC: Don't set and restore irqregs ptr from self_ipi.
Ralf Baechle [Thu, 24 May 2007 13:56:58 +0000 (14:56 +0100)]
[MIPS] SMTC: Don't set and restore irqregs ptr from self_ipi.

This did corrupt register s0 which the caller of self_ipi expects to
be unchanged.  This is a kernel bug which will only be triggered with
the compilers which compile __smtc_ipi_replay to use s0 across the
invocation of self_ipi. Gcc 4.1.2 does this, for example.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Fix KMODE for the R3000
Maciej W. Rozycki [Mon, 21 May 2007 12:47:22 +0000 (13:47 +0100)]
[MIPS] Fix KMODE for the R3000

 This must be the oldest bug that we have got.  Leaving interrupts "as
they are" for the R3000 obviously means copying IEp to IEc.  Since we have
got STATMASK now, I took this opportunity to mask the status register
"correctly" for the R3000 now too.  Oh, and the R3000 hardly ever is
64-bit.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years agoRAMFS NOMMU: missed POSIX UID/GID inode attribute checking
Bryan Wu [Tue, 5 Jun 2007 03:02:01 +0000 (11:02 +0800)]
RAMFS NOMMU: missed POSIX UID/GID inode attribute checking

This bug was caught by LTP testcase fchmod06 on Blackfin platform.

In the manpage of fchmod, "EPERM: The effective UID does not match the
owner of the file, and the process is not privileged (Linux: it does not
have the CAP_FOWNER capability)."

But the ramfs nommu code missed the inode_change_ok POSIX UID/GID
verification. This patch fixed this.

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge git://git.linux-xtensa.org/kernel/xtensa-feed
Linus Torvalds [Fri, 8 Jun 2007 00:10:19 +0000 (17:10 -0700)]
Merge git://git.linux-xtensa.org/kernel/xtensa-feed

* git://git.linux-xtensa.org/kernel/xtensa-feed:
  Xtensa: use asm-generic/fcntl.h
  [XTENSA] Remove non-rt signal handling
  [XTENSA] Move common sections into bss sections
  [XTENSA] clean-up header files
  [XTENSA] Use generic 64-bit division
  [XTENSA] Remove multi-exported symbols from xtensa_ksyms.c
  [XTENSA] fix sources using deprecated assembler directive
  [XTENSA] Spelling fixes in arch/xtensa
  [XTENSA] fix bit operations in bitops.h

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 8 Jun 2007 00:09:01 +0000 (17:09 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Fix SBUS IRQ regression caused by PCI-E driver.
  [SPARC64]: Fix 2 bugs in PCI Sabre bus scanning.

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 8 Jun 2007 00:08:06 +0000 (17:08 -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: (24 commits)
  xfrm: Add security check before flushing SAD/SPD
  [NET_SCHED]: Fix filter double free
  [NET]: Avoid duplicate netlink notification when changing link state
  [UDP]: Revert 2-pass hashing changes.
  [AF_UNIX]: Fix stream recvmsg() race.
  [NETFILTER]: nf_conntrack_amanda: fix textsearch_prepare() error check
  [NETFILTER]: ip_tables: fix compat related crash
  [NETFILTER]: nf_conntrack: fix helper module unload races
  [RTNETLINK]: ifindex 0 does not exist
  [NETLINK]: Mark netlink policies const
  [TCP] tcp_probe: Attach printf attribute properly to printl().
  [TCP]: Use LIMIT_NETDEBUG in tcp_retransmit_timer().
  [NET]: Merge dst_discard_in and dst_discard_out.
  [RFKILL]: Make rfkill->name const
  [IPV4]: Restore old behaviour of default config values
  [IPV4]: Add default config support after inetdev_init
  [IPV4]: Convert IPv4 devconf to an array
  [IPV4]: Only panic if inetdev_init fails for loopback
  [TCP]: Honour sk_bound_dev_if in tcp_v4_send_ack
  [BNX2]: Update version and reldate.
  ...

17 years agoenable interrupts in user path of page fault.
Steven Rostedt [Thu, 7 Jun 2007 03:34:04 +0000 (23:34 -0400)]
enable interrupts in user path of page fault.

This is a minor fix, but what is currently there is essentially wrong.
In do_page_fault, if the faulting address from user code happens to be
in kernel address space (int *p = (int*)-1; p = 0xbed;)  then the
do_page_fault handler will jump over the local_irq_enable with the

  goto bad_area_nosemaphore;

But the first line there sees this is user code and goes through the
process of sending a signal to send SIGSEGV to the user task. This whole
time interrupts are disabled and the task can not be preempted by a
higher priority task.

This patch always enables interrupts in the user path of the
bad_area_nosemaphore.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Fri, 8 Jun 2007 00:02:29 +0000 (17:02 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] pxa: fix pxa27x keyboard driver
  [ARM] Fix 4417/1: Serial: Fix AMBA drivers locking
  [ARM] 4421/1: AT91: Value of _KEY fields.
  [ARM] Solve buggy smp_processor_id() usage
  [ARM] 4422/1: Fix default value handling in gpio_direction_output (PXA)
  [ARM] 4419/1: AT91: SAM9 USB clocks check for suspending
  [ARM] 4418/1: AT91: Number of programmable clocks differs
  [ARM] 4392/2: Do not corrupt the SP register in compressed/head.S

17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Fri, 8 Jun 2007 00:00:37 +0000 (17:00 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Fix warning by moving do_default_vi into CONFIG_CPU_MIPSR2_SRS
  [MIPS] Fix some minor typoes in arch/mips/Kconfig.
  [MIPS] Remove prototype for deleted function qemu_handle_int
  [MIPS] Fix some system calls with long long arguments
  [MIPS] Make dma_map_sg handle sg elements which are longer than one page
  [MIPS] Drop __ARCH_WANT_SYS_FADVISE64
  [MIPS] Fix VGA corruption on RM300C
  [MIPS] RM300: Fix MMIO problems by marking the PCI INT ACK region busy
  [MIPS] EMMA2RH: remove dead KGDB code
  [MIPS] Remove duplicate fpu enable hazard code.
  [MIPS] Atlas, Malta, SEAD: Remove scroll from interrupt handler.

17 years agofrv: build fix
Peter Zijlstra [Wed, 6 Jun 2007 09:39:40 +0000 (11:39 +0200)]
frv: build fix

In file included from /usr/src/linux-2.6-2/net/ipv4/ip_input.c:118:

  include2/asm/system.h:245: error: parse error before "__cmpxchg_32"
  include2/asm/system.h:245: error: parse error before '*' token
  include2/asm/system.h:245: warning: type defaults to `int' in declaration of `__cmpxchg_32'
  include2/asm/system.h:245: warning: function declaration isn't a prototype
  include2/asm/system.h:245: warning: data definition has no type or storage class

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[SPARC64]: Fix SBUS IRQ regression caused by PCI-E driver.
David S. Miller [Thu, 7 Jun 2007 23:58:22 +0000 (16:58 -0700)]
[SPARC64]: Fix SBUS IRQ regression caused by PCI-E driver.

We used to access the 64-bit IRQ IMAP and ICLR registers of bus
controllers 4-bytes in and as a 32-bit register word, since only the
low 32-bits were relevant.  This seemed like a good idea at the time.

But the PCI-E controller requires full 8-byte 64-bit access to
these registers, so we switched over to accessing them fully.

SBUS was not adjusted properly, which broke interrupts completely.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix 2 bugs in PCI Sabre bus scanning.
David S. Miller [Wed, 6 Jun 2007 21:03:08 +0000 (14:03 -0700)]
[SPARC64]: Fix 2 bugs in PCI Sabre bus scanning.

If we are on hummingbird, bus runs at 66MHZ.

pbm->pci_bus should be setup with the result of pci_scan_one_pbm()
or else we deref NULL pointers in the error interrupt handlers.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoxfrm: Add security check before flushing SAD/SPD
Joy Latten [Mon, 4 Jun 2007 23:05:57 +0000 (19:05 -0400)]
xfrm: Add security check before flushing SAD/SPD

Currently we check for permission before deleting entries from SAD and
SPD, (see security_xfrm_policy_delete() security_xfrm_state_delete())
However we are not checking for authorization when flushing the SPD and
the SAD completely. It was perhaps missed in the original security hooks
patch.

This patch adds a security check when flushing entries from the SAD and
SPD.  It runs the entire database and checks each entry for a denial.
If the process attempting the flush is unable to remove all of the
entries a denial is logged the the flush function returns an error
without removing anything.

This is particularly useful when a process may need to create or delete
its own xfrm entries used for things like labeled networking but that
same process should not be able to delete other entries or flush the
entire database.

Signed-off-by: Joy Latten<latten@austin.ibm.com>
Signed-off-by: Eric Paris <eparis@parisplace.org>
Signed-off-by: James Morris <jmorris@namei.org>
17 years ago[NET_SCHED]: Fix filter double free
Patrick McHardy [Tue, 5 Jun 2007 23:06:59 +0000 (16:06 -0700)]
[NET_SCHED]: Fix filter double free

cbq and atm destroy their filters twice when destroying inner classes
during qdisc destruction.

Reported-and-tested-by: Strobl Anton <a.strobl@aws-it.at>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Avoid duplicate netlink notification when changing link state
Thomas Graf [Tue, 5 Jun 2007 23:03:03 +0000 (16:03 -0700)]
[NET]: Avoid duplicate netlink notification when changing link state

When changing the link state from userspace not affecting any other
flags. Two duplicate notification are being sent, once as action
in the NETDEV_UP/NETDEV_DOWN notification chain and a second time
when comparing old and new device flags after the change has been
completed. Although harmless, the duplicates should be avoided.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[UDP]: Revert 2-pass hashing changes.
David S. Miller [Tue, 5 Jun 2007 22:18:43 +0000 (15:18 -0700)]
[UDP]: Revert 2-pass hashing changes.

This reverts changesets:

6aaf47fa48d3c44280810b1b470261d340e4ed87
b7b5f487ab39bc10ed0694af35651a03d9cb97ff
de34ed91c4ffa4727964a832c46e624dd1495cf5
fc038410b4b1643766f8033f4940bcdb1dace633

There are still some correctness issues recently
discovered which do not have a known fix that doesn't
involve doing a full hash table scan on port bind.

So revert for now.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AF_UNIX]: Fix stream recvmsg() race.
Miklos Szeredi [Tue, 5 Jun 2007 20:10:29 +0000 (13:10 -0700)]
[AF_UNIX]: Fix stream recvmsg() race.

A recv() on an AF_UNIX, SOCK_STREAM socket can race with a
send()+close() on the peer, causing recv() to return zero, even though
the sent data should be received.

This happens if the send() and the close() is performed between
skb_dequeue() and checking sk->sk_shutdown in unix_stream_recvmsg():

process A  skb_dequeue() returns NULL, there's no data in the socket queue
process B  new data is inserted onto the queue by unix_stream_sendmsg()
process B  sk->sk_shutdown is set to SHUTDOWN_MASK by unix_release_sock()
process A  sk->sk_shutdown is checked, unix_release_sock() returns zero

I'm surprised nobody noticed this, it's not hard to trigger.  Maybe
it's just (un)luck with the timing.

It's possible to work around this bug in userspace, by retrying the
recv() once in case of a zero return value.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack_amanda: fix textsearch_prepare() error check
Akinobu Mita [Tue, 5 Jun 2007 19:56:53 +0000 (12:56 -0700)]
[NETFILTER]: nf_conntrack_amanda: fix textsearch_prepare() error check

The return value from textsearch_prepare() needs to be checked
by IS_ERR(). Because it returns error code as a pointer.

Cc: "Brian J. Murrell" <netfilter@interlinx.bc.ca>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ip_tables: fix compat related crash
Dmitry Mishin [Tue, 5 Jun 2007 19:56:09 +0000 (12:56 -0700)]
[NETFILTER]: ip_tables: fix compat related crash

check_compat_entry_size_and_hooks iterates over the matches and calls
compat_check_calc_match, which loads the match and calculates the
compat offsets, but unlike the non-compat version, doesn't call
->checkentry yet. On error however it calls cleanup_matches, which in
turn calls ->destroy, which can result in crashes if the destroy
function (validly) expects to only get called after the checkentry
function.

Add a compat_release_match function that only drops the module reference
on error and rename compat_check_calc_match to compat_find_calc_match to
reflect the fact that it doesn't call the checkentry function.

Reported by Jan Engelhardt <jengelh@linux01.gwdg.de>

Signed-off-by: Dmitry Mishin <dim@openvz.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack: fix helper module unload races
Patrick McHarrdy [Tue, 5 Jun 2007 19:55:27 +0000 (12:55 -0700)]
[NETFILTER]: nf_conntrack: fix helper module unload races

When a helper module is unloaded all conntracks refering to it have their
helper pointer NULLed out, leading to lots of races. In most places this
can be fixed by proper use of RCU (they do already check for != NULL,
but in a racy way), additionally nf_conntrack_expect_related needs to
bail out when no helper is present.

Also remove two paranoid BUG_ONs in nf_conntrack_proto_gre that are racy
and not worth fixing.

Signed-off-by: Patrick McHarrdy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[RTNETLINK]: ifindex 0 does not exist
Patrick McHardy [Tue, 5 Jun 2007 19:40:01 +0000 (12:40 -0700)]
[RTNETLINK]: ifindex 0 does not exist

ifindex == 0 does not exist and implies we should do a lookup by name if
one was given.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETLINK]: Mark netlink policies const
Patrick McHardy [Tue, 5 Jun 2007 19:38:30 +0000 (12:38 -0700)]
[NETLINK]: Mark netlink policies const

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP] tcp_probe: Attach printf attribute properly to printl().
David S. Miller [Tue, 5 Jun 2007 07:19:24 +0000 (00:19 -0700)]
[TCP] tcp_probe: Attach printf attribute properly to printl().

GCC doesn't like the way Stephen initially did it:

net/ipv4/tcp_probe.c:83: warning: empty declaration

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Use LIMIT_NETDEBUG in tcp_retransmit_timer().
Eric Dumazet [Tue, 5 Jun 2007 07:16:12 +0000 (00:16 -0700)]
[TCP]: Use LIMIT_NETDEBUG in tcp_retransmit_timer().

LIMIT_NETDEBUG allows the admin to disable some warning messages (echo 0
 >/proc/sys/net/core/warnings).

The "TCP: Treason uncloaked!" message can use this facility.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Merge dst_discard_in and dst_discard_out.
Denis Cheng [Tue, 5 Jun 2007 07:06:57 +0000 (00:06 -0700)]
[NET]: Merge dst_discard_in and dst_discard_out.

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[RFKILL]: Make rfkill->name const
Ivo van Doorn [Tue, 5 Jun 2007 07:04:46 +0000 (00:04 -0700)]
[RFKILL]: Make rfkill->name const

The rfkill name can be made const safely,
this makes the compiler happy when drivers make
it point to some const string used elsewhere.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4]: Restore old behaviour of default config values
Herbert Xu [Tue, 5 Jun 2007 06:36:06 +0000 (23:36 -0700)]
[IPV4]: Restore old behaviour of default config values

Previously inet devices were only constructed when addresses are added
(or rarely in ipmr).  Therefore the default config values they get are
the ones at the time of these operations.

Now that we're creating inet devices earlier, this changes the
behaviour of default config values in an incompatible way (see bug
#8519).

This patch creates a compromise by setting the default values at the
same point as before but only for those that have not been explicitly
set by the user since the inet device's creation.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4]: Add default config support after inetdev_init
Herbert Xu [Tue, 5 Jun 2007 06:35:37 +0000 (23:35 -0700)]
[IPV4]: Add default config support after inetdev_init

Previously once inetdev_init has been called on a device any changes
made to ipv4_devconf_dflt would have no effect on that device's
configuration.

This creates a problem since we have moved the point where
inetdev_init is called from when an address is added to where the
device is registered.

This patch is the first half of a set that tries to mimic the old
behaviour while still calling inetdev_init.

It propagates any changes to ipv4_devconf_dflt to those devices that
have not had the corresponding attribute set.

The next patch will forcibly set all values at the point where
inetdev_init was previously called.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4]: Convert IPv4 devconf to an array
Herbert Xu [Tue, 5 Jun 2007 06:34:44 +0000 (23:34 -0700)]
[IPV4]: Convert IPv4 devconf to an array

This patch converts the ipv4_devconf config members (everything except
sysctl) to an array.  This allows easier manipulation which will be
needed later on to provide better management of default config values.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4]: Only panic if inetdev_init fails for loopback
Herbert Xu [Tue, 5 Jun 2007 06:34:08 +0000 (23:34 -0700)]
[IPV4]: Only panic if inetdev_init fails for loopback

When I made the inetdev_init call work on all devices I incorrectly
left in the panic call as well.  It is obviously undesirable to
panic on an allocation failure for a normal network device.  This
patch moves the panic call under the loopback if clause.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Honour sk_bound_dev_if in tcp_v4_send_ack
Patrick McHardy [Tue, 5 Jun 2007 04:32:46 +0000 (21:32 -0700)]
[TCP]: Honour sk_bound_dev_if in tcp_v4_send_ack

A time_wait socket inherits sk_bound_dev_if from the original socket,
but it is not used when sending ACK packets using ip_send_reply.

Fix by passing the oif to ip_send_reply in struct ip_reply_arg and
use it for output routing.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[BNX2]: Update version and reldate.
Michael Chan [Tue, 5 Jun 2007 04:24:42 +0000 (21:24 -0700)]
[BNX2]: Update version and reldate.

Update to version 1.5.11.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[BNX2]: Fix occasional counter corruption on 5708.
Michael Chan [Tue, 5 Jun 2007 04:24:07 +0000 (21:24 -0700)]
[BNX2]: Fix occasional counter corruption on 5708.

The statistics block DMA on 5708 can be messed up occasionally on the
average of about once per hour.  If the user is reading the counters
within one second after the corruption, the counters will be all
messed up.  One second later, the counters will be ok again until the
next corruption occurs.

The workaround is to disable the periodic statistics DMA.  Instead,
we manually trigger the DMA once a second in bnx2_timer().  This
manual trigger of the DMA avoids the problem.

As a consequence, we can only allow 0 or 1 second settings for
ethtool -C statistics block.

Thanks to Jean-Daniel Pauget <jd@disjunkt.com> and
CaT <cat@zip.com.au> for reporting this rare problem.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[BNX2]: Enable DMA on 5709.
Michael Chan [Tue, 5 Jun 2007 04:23:06 +0000 (21:23 -0700)]
[BNX2]: Enable DMA on 5709.

Add missing code to enable DMA on 5709 A1.  The bit is a no-op on A0
and therefore can be set on all 5709 chips.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[BNX2]: Add missing wait in bnx2_init_5709_context().
Michael Chan [Tue, 5 Jun 2007 04:22:24 +0000 (21:22 -0700)]
[BNX2]: Add missing wait in bnx2_init_5709_context().

For correctness, we need to wait for the MEM_INIT bit to be cleared
in the BNX2_CTX_COMMAND register before proceeding.

[Added return -EBUSY when the MEM_INIT bit doesn't clear, suggested
by Jeff Garzik.]

Signed-off-by: Michael Chan <mchan@broadcom.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[BNX2]: Fix netdev watchdog on 5708.
Michael Chan [Tue, 5 Jun 2007 04:17:10 +0000 (21:17 -0700)]
[BNX2]: Fix netdev watchdog on 5708.

There's a bug in the driver that only initializes half of the context
memory on the 5708.  Surprisingly, this works most of the time except
for some occasional netdev watchdogs when sending a lot of 64-byte
packets.  The fix is to add the missing code to initialize the 2nd
halves of all context memory.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
Linus Torvalds [Thu, 7 Jun 2007 16:36:55 +0000 (09:36 -0700)]
Merge /pub/scm/linux/kernel/git/lethal/sh-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6:
  sh: Fix se73180 platform device registration.
  sh: ioremap() through PMB needs asm/mmu.h.
  sh: voyagergx: Fix build warnings.
  sh: Fix SH4-202 clock fwk set_rate() mismatch.
  sh: microdev: Fix compile warnings.
  sh: Fix in_nmi symbol build error.

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Thu, 7 Jun 2007 16:35:54 +0000 (09:35 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [VIDEO] sunxvr500fb: Fix pseudo_palette array size
  [VIDEO] sunxvr2500fb: Fix pseudo_palette array size
  [VIDEO] ffb: The pseudo_palette is only 16 elements long
  [VIDEO]: Fix section mismatch warning in promcon.
  [ATA]: Back out bogus (SPARC64 && !PCI) Kconfig depends.
  [SPARC64]: Fill in gaps in non-PCI dma_*() NOP implementation.
  [SPARC64]: Fix {mc,smt}_capable().
  [SPARC64]: Make core and sibling groups equal on UltraSPARC-IV.
  [SPARC64]: Proper multi-core scheduling support.
  [SPARC64]: Provide mmu statistics via sysfs.
  [SPARC64]: Fix service channel hypervisor function names.
  [SPARC64]: Export basic cpu properties via sysfs.
  [SPARC64]: Move topology init code into new file, sysfs.c

17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Thu, 7 Jun 2007 15:54:55 +0000 (08:54 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/paulus/powerpc

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  [POWERPC] Fix building of COFF zImages
  [POWERPC] spufs: Fix error handling in spufs_fill_dir()
  [POWERPC] Add table of contents to booting-without-of.txt
  [POWERPC] spufs: Don't yield nosched context
  [POWERPC] Fix typo in booting-without-of-txt section numbering
  [POWERPC] scc_sio: Fix link failure
  [POWERPC] cbe_cpufreq: Limit frequency via cpufreq notifier chain
  [POWERPC] Fix pci_setup_phb_io_dynamic for pci_iomap
  [POWERPC] spufs scheduler: Fix wakeup races
  [POWERPC] spufs: Synchronize pte invalidation vs ps close
  [POWERPC] spufs: Free mm if spufs_fill_dir() failed
  [POWERPC] spufs: Fix gang destroy leaks
  [POWERPC] spufs: Hook up spufs_release_mem
  [POWERPC] spufs: Refuse to load the module when not running on cell
  [POWERPC] pasemi: Fix iommu + 64K PAGE_SIZE bug

17 years agoRestrict clearing TIF_SIGPENDING
Roland McGrath [Wed, 6 Jun 2007 10:59:00 +0000 (03:59 -0700)]
Restrict clearing TIF_SIGPENDING

This patch should get a few birds.  It prevents sigaction calls from
clearing TIF_SIGPENDING in other threads, which could leak -ERESTART*.
And It fixes ptrace_stop not to clear it, which done at the syscall exit
stop could leak -ERESTART*.  It probably removes the harm from signalfd,
at least assuming it never calls dequeue_signal on kernel threads that
might have used block_all_signals.

Signed-off-by: Roland McGrath <roland@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agocheckpatch.pl: should be executable
Andy Whitcroft [Thu, 7 Jun 2007 15:16:40 +0000 (16:16 +0100)]
checkpatch.pl: should be executable

scripts/checkpatch.pl should be executable, make it so.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Joel Schopp <jschopp@austin.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[POWERPC] Fix building of COFF zImages
Paul Mackerras [Thu, 7 Jun 2007 12:21:31 +0000 (22:21 +1000)]
[POWERPC] Fix building of COFF zImages

The COFF zImage (for booting oldworld powermacs) wasn't being built
correctly because the procedure descriptor in crt0.S for the zImage
entry point wasn't declared as .globl, and therefore wasn't getting
pulled in from wrapper.a by the linker.  This adds the necessary
.globl statement.

Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] spufs: Fix error handling in spufs_fill_dir()
Sebastian Siewior [Wed, 6 Jun 2007 04:03:58 +0000 (14:03 +1000)]
[POWERPC] spufs: Fix error handling in spufs_fill_dir()

The error path in spufs_fill_dir() is broken. If d_alloc_name() or
spufs_new_file() fails, spufs_prune_dir() is getting called. At this time
dir->inode is not set and a NULL pointer is dereferenced by mutex_lock().
This bugfix replaces spufs_prune_dir() with a shorter version that does
not touch dir->inode but simply removes all children.

Signed-off-by: Sebastian Siewior <bigeasy@linux.vnet.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Add table of contents to booting-without-of.txt
Stuart Yoder [Tue, 5 Jun 2007 18:29:14 +0000 (04:29 +1000)]
[POWERPC] Add table of contents to booting-without-of.txt

Add table of contents.

Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] spufs: Don't yield nosched context
Christoph Hellwig [Tue, 5 Jun 2007 01:25:59 +0000 (11:25 +1000)]
[POWERPC] spufs: Don't yield nosched context

Nosched context sould never be scheduled out, thus we must not
deactivate them in spu_yield ever.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix typo in booting-without-of-txt section numbering
Stuart Yoder [Mon, 4 Jun 2007 21:16:15 +0000 (07:16 +1000)]
[POWERPC] Fix typo in booting-without-of-txt section numbering

Fix typo in section numbering.

Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] scc_sio: Fix link failure
Christoph Hellwig [Mon, 4 Jun 2007 18:14:41 +0000 (04:14 +1000)]
[POWERPC] scc_sio: Fix link failure

scc_sio.o should only be built if the txx9 serial driver is actually
built into the kernel.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
--
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] cbe_cpufreq: Limit frequency via cpufreq notifier chain
Thomas Renninger [Mon, 4 Jun 2007 18:14:40 +0000 (04:14 +1000)]
[POWERPC] cbe_cpufreq: Limit frequency via cpufreq notifier chain

... and get rid of cpufreq_set_policy call that caused a build
failure due interfering commits.

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Christian Krafft <krafft@de.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix pci_setup_phb_io_dynamic for pci_iomap
Arnd Bergmann [Mon, 4 Jun 2007 18:14:39 +0000 (04:14 +1000)]
[POWERPC] Fix pci_setup_phb_io_dynamic for pci_iomap

We had a problem on a system with only dynamically allocated
PCI buses (using of_pci_phb_driver) in combination with libata.
This setup ended up having no "primary" phb, which means
that pci_io_base never got initialized and all IO port
numbers are 64 bit numbers, which is larger than the
PIO_MASK limit.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] spufs scheduler: Fix wakeup races
Christoph Hellwig [Mon, 4 Jun 2007 13:26:51 +0000 (23:26 +1000)]
[POWERPC] spufs scheduler: Fix wakeup races

Fix the race between checking for contexts on the runqueue and actually
waking them in spu_deactive and spu_yield.

The guts of spu_reschedule are split into a new helper called
grab_runnable_context which shows if there is a runnable thread below
a specified priority and if yes removes if from the runqueue and uses
it.  This function is used by the new __spu_deactivate hepler shared
by preemption and spu_yield to grab a new context before deactivating
a specified priority and if yes removes if from the runqueue and uses
it.  This function is used by the new __spu_deactivate hepler shared
by preemption and spu_yield to grab a new context before deactivating
the old one.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] spufs: Synchronize pte invalidation vs ps close
Christoph Hellwig [Mon, 4 Jun 2007 13:26:51 +0000 (23:26 +1000)]
[POWERPC] spufs: Synchronize pte invalidation vs ps close

Make sure the mapping_lock also protects access to the various address_space
pointers used for tearing down the ptes on a spu context switch.

Because unmap_mapping_range can sleep we need to turn mapping_lock from
a spinlock into a sleeping mutex.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] spufs: Free mm if spufs_fill_dir() failed
Sebastian Siewior [Mon, 4 Jun 2007 13:26:51 +0000 (23:26 +1000)]
[POWERPC] spufs: Free mm if spufs_fill_dir() failed

In case spufs_fill_dir() fails only put_spu_context()
gets called for cleanup and the acquired mm_struct never gets freed.

Signed-off-by: Sebastian Siewior <bigeasy@linux.vnet.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] spufs: Fix gang destroy leaks
Jeremy Kerr [Mon, 4 Jun 2007 13:26:51 +0000 (23:26 +1000)]
[POWERPC] spufs: Fix gang destroy leaks

Previously, closing a SPE gang that still has contexts would trigger
a WARN_ON, and leak the allocated gang.

This change fixes the problem by using the gang's reference counts to
destroy the gang instead. The gangs will persist until their last
reference (be it context or open file handle) is gone.

Also, avoid using statements with side-effects in a WARN_ON().

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] spufs: Hook up spufs_release_mem
Christoph Hellwig [Mon, 4 Jun 2007 13:26:51 +0000 (23:26 +1000)]
[POWERPC] spufs: Hook up spufs_release_mem

Currently spufs_mem_release and the mem file doesn't have any release
method hooked up, leading to leaks everytime is used.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] spufs: Refuse to load the module when not running on cell
Arnd Bergmann [Mon, 4 Jun 2007 13:26:51 +0000 (23:26 +1000)]
[POWERPC] spufs: Refuse to load the module when not running on cell

As noticed by David Woodhouse, it's currently possible to mount
spufs on any machine, which means that it actually will get
mounted by fedora.
This refuses to load the module on platforms that have no
support for SPUs.

Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] pasemi: Fix iommu + 64K PAGE_SIZE bug
Olof Johansson [Mon, 4 Jun 2007 00:49:05 +0000 (10:49 +1000)]
[POWERPC] pasemi: Fix iommu + 64K PAGE_SIZE bug

The powerpc iommu code was refactored by Linas back in the 2.6.20 time
frame to map 4K pages from the generic code, but I had forgotten to go
back and fix my platform driver before submitting it.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[MIPS] Fix warning by moving do_default_vi into CONFIG_CPU_MIPSR2_SRS
Atsushi Nemoto [Mon, 21 May 2007 14:45:38 +0000 (23:45 +0900)]
[MIPS] Fix warning by moving do_default_vi into CONFIG_CPU_MIPSR2_SRS

This fixes the warning:

arch/mips/kernel/traps.c:931: warning: 'do_default_vi' defined but not used

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Fix some minor typoes in arch/mips/Kconfig.
Robert P. J. Day [Sun, 20 May 2007 16:11:07 +0000 (12:11 -0400)]
[MIPS] Fix some minor typoes in arch/mips/Kconfig.

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove prototype for deleted function qemu_handle_int
Ralf Baechle [Sun, 20 May 2007 20:29:01 +0000 (22:29 +0200)]
[MIPS] Remove prototype for deleted function qemu_handle_int

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Fix some system calls with long long arguments
Atsushi Nemoto [Thu, 17 May 2007 15:46:13 +0000 (00:46 +0900)]
[MIPS] Fix some system calls with long long arguments

* O32 fadvise64() pass long long arguments by register pairs.  Add
  sys32 version for 64 bit kernel.
* N32 readahead() can pass a long long argument by one register.  No
  need to use sys32_readahead.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Make dma_map_sg handle sg elements which are longer than one page
Thomas Bogendoerfer [Fri, 18 May 2007 12:32:36 +0000 (14:32 +0200)]
[MIPS] Make dma_map_sg handle sg elements which are longer than one page

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Drop __ARCH_WANT_SYS_FADVISE64
Atsushi Nemoto [Thu, 17 May 2007 15:53:47 +0000 (00:53 +0900)]
[MIPS] Drop __ARCH_WANT_SYS_FADVISE64

sys_fadvise64() is not used on MIPS.  The libc can implement
both posix_fadvise() and posix_fadvise64() using sys_fadvise64_64().

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Fix VGA corruption on RM300C
Thomas Bogendoerfer [Thu, 17 May 2007 12:53:12 +0000 (14:53 +0200)]
[MIPS] Fix VGA corruption on RM300C

... by setting DRAM config to 2MB (SNI always used that size). This also
fixes video dram size detection in cirrusfb.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] RM300: Fix MMIO problems by marking the PCI INT ACK region busy
Thomas Bogendoerfer [Thu, 17 May 2007 12:51:47 +0000 (14:51 +0200)]
[MIPS] RM300: Fix MMIO problems by marking the PCI INT ACK region busy

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] EMMA2RH: remove dead KGDB code
Sergei Shtylyov [Wed, 16 May 2007 16:35:13 +0000 (20:35 +0400)]
[MIPS] EMMA2RH: remove dead KGDB code

Get rid of the cross-arch KGDB specific code which shouldn't have been
there in the first place...

Signed-off-by: Sergey Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove duplicate fpu enable hazard code.
Chris Dearman [Thu, 17 May 2007 20:36:55 +0000 (21:36 +0100)]
[MIPS] Remove duplicate fpu enable hazard code.

Use common code from hazards.h instead.

Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Atlas, Malta, SEAD: Remove scroll from interrupt handler.
Ralf Baechle [Wed, 16 May 2007 15:54:08 +0000 (17:54 +0200)]
[MIPS] Atlas, Malta, SEAD: Remove scroll from interrupt handler.

Aside of being handy for debugging this has never been a particularly
good idea but is now getting in the way of dyntick / tickless kernels
and general cleanups.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[VIDEO] sunxvr500fb: Fix pseudo_palette array size
Antonino Daplas [Tue, 5 Jun 2007 20:15:26 +0000 (13:15 -0700)]
[VIDEO] sunxvr500fb: Fix pseudo_palette array size

- the pseudo_palette is only 16 elements long.
- the pseudo_palette has only 16 elements. Do not write if regno (the array
  index) is more than 15.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[VIDEO] sunxvr2500fb: Fix pseudo_palette array size
Antonino Daplas [Tue, 5 Jun 2007 20:15:01 +0000 (13:15 -0700)]
[VIDEO] sunxvr2500fb: Fix pseudo_palette array size

- the pseudo_palette is only 16 elements long.
- the pseudo_palette has only 16 elements. Do not write if regno (the array
  index) is more than 15.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ARM] pxa: fix pxa27x keyboard driver
Russell King [Tue, 5 Jun 2007 20:14:40 +0000 (21:14 +0100)]
[ARM] pxa: fix pxa27x keyboard driver

CKEN macro definitions no longer contains the bit number; remove it
from usages in the pxa27x keyboard driver.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[VIDEO] ffb: The pseudo_palette is only 16 elements long
Antonino Daplas [Tue, 5 Jun 2007 20:14:33 +0000 (13:14 -0700)]
[VIDEO] ffb: The pseudo_palette is only 16 elements long

The pseudo_palette is only 16 elements long.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ARM] Fix 4417/1: Serial: Fix AMBA drivers locking
Russell King [Tue, 5 Jun 2007 18:39:49 +0000 (19:39 +0100)]
[ARM] Fix 4417/1: Serial: Fix AMBA drivers locking

2389b272168ceec056ca1d8a870a97fa9c26e11a contains a merge bug; fix it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[VIDEO]: Fix section mismatch warning in promcon.
Sam Ravnborg [Tue, 5 Jun 2007 06:52:45 +0000 (23:52 -0700)]
[VIDEO]: Fix section mismatch warning in promcon.

Fix the following warnings in promcon:
WARNING: o-sparc64/drivers/video/console/built-in.o(.text+0x480): Section mismatch: reference to .init.data:promfont_unitable (between 'promcon_init_unimap' and 'promcon_init')
WARNING: o-sparc64/drivers/video/console/built-in.o(.text+0x488): Section mismatch: reference to .init.data:promfont_unitable (between 'promcon_init_unimap' and 'promcon_init')
WARNING: o-sparc64/drivers/video/console/built-in.o(.text+0x48c): Section mismatch: reference to .init.data:promfont_unicount (between 'promcon_init_unimap' and 'promcon_init')
WARNING: o-sparc64/drivers/video/console/built-in.o(.text+0x490): Section mismatch: reference to .init.data:promfont_unicount (between 'promcon_init_unimap' and 'promcon_init')

The warnings happens because the function: promcon_init_unimap()
references promfont_unitable and promfont_unicount which are marked
__initdata by the conmakehash command in the drivers/video/console/Makefile

Fix the warning by removing the __initdata marker on the two variables.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ATA]: Back out bogus (SPARC64 && !PCI) Kconfig depends.
David S. Miller [Tue, 5 Jun 2007 06:33:04 +0000 (23:33 -0700)]
[ATA]: Back out bogus (SPARC64 && !PCI) Kconfig depends.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fill in gaps in non-PCI dma_*() NOP implementation.
David S. Miller [Tue, 5 Jun 2007 06:32:23 +0000 (23:32 -0700)]
[SPARC64]: Fill in gaps in non-PCI dma_*() NOP implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix {mc,smt}_capable().
David S. Miller [Tue, 5 Jun 2007 04:48:33 +0000 (21:48 -0700)]
[SPARC64]: Fix {mc,smt}_capable().

It's not just sun4v hypervisor platforms that should return true
for this, sun4u with UltraSPARC-IV should return true too.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Make core and sibling groups equal on UltraSPARC-IV.
David S. Miller [Tue, 5 Jun 2007 04:35:18 +0000 (21:35 -0700)]
[SPARC64]: Make core and sibling groups equal on UltraSPARC-IV.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Proper multi-core scheduling support.
David S. Miller [Tue, 5 Jun 2007 00:01:39 +0000 (17:01 -0700)]
[SPARC64]: Proper multi-core scheduling support.

The scheduling domain hierarchy is:

   all cpus -->
      cpus that share an instruction cache -->
          cpus that share an integer execution unit

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Provide mmu statistics via sysfs.
David Miller [Mon, 4 Jun 2007 06:38:09 +0000 (23:38 -0700)]
[SPARC64]: Provide mmu statistics via sysfs.

If the system supports hypervisor based statistics, allow them to
be fetched, enabled, and disabled via sysfs.

Enable and disable via the boolean:

/sys/devices/systems/cpu/cpuN/mmustat_enable

Statistic values are provided under:

/sys/devices/systems/cpu/cpuN/mmu_status/

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix service channel hypervisor function names.
David Miller [Mon, 4 Jun 2007 02:07:32 +0000 (19:07 -0700)]
[SPARC64]: Fix service channel hypervisor function names.

sed 's/scv/svc/'

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Export basic cpu properties via sysfs.
David S. Miller [Sun, 3 Jun 2007 03:46:36 +0000 (20:46 -0700)]
[SPARC64]: Export basic cpu properties via sysfs.

Cache sizes, udelay_val, and clock_tick.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Move topology init code into new file, sysfs.c
David S. Miller [Sat, 2 Jun 2007 21:41:44 +0000 (14:41 -0700)]
[SPARC64]: Move topology init code into new file, sysfs.c

Also, use per-cpu data for struct cpu.  Calling kmalloc for
each cpu in topology_init() is just plain clumsy.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoLinux 2.6.22-rc4
Linus Torvalds [Tue, 5 Jun 2007 00:57:25 +0000 (17:57 -0700)]
Linux 2.6.22-rc4

17 years agoMerge git://git.infradead.org/mtd-2.6
Linus Torvalds [Tue, 5 Jun 2007 00:54:09 +0000 (17:54 -0700)]
Merge git://git.infradead.org/mtd-2.6

* git://git.infradead.org/mtd-2.6:
  [JFFS2] Fix obsoletion of metadata nodes in jffs2_add_tn_to_tree()
  [MTD] Fix error checking after get_mtd_device() in get_sb_mtd functions
  [JFFS2] Fix buffer length calculations in jffs2_get_inode_nodes()
  [JFFS2] Fix potential memory leak of dead xattrs on unmount.
  [JFFS2] Fix BUG() caused by failing to discard xattrs on deleted files.
  [MTD] generalise the handling of MTD-specific superblocks
  [MTD] [MAPS] don't force uclinux mtd map to be root dev

17 years agolibata: always use polling SETXFER
Tejun Heo [Sun, 27 May 2007 13:10:40 +0000 (15:10 +0200)]
libata: always use polling SETXFER

Several people have reported LITE-ON LTR-48246S detection failed
because SETXFER fails.  It seems the device raises IRQ too early after
SETXFER.  This is controller independent.  The same problem has been
reported for different controllers.

So, now we have pata_via where the controller raises IRQ before it's
ready after SETXFER and a device which does similar thing.  This patch
makes libata always execute SETXFER via polling.  As this only happens
during EH, performance impact is nil.  Setting ATA_TFLAG_POLLING is
also moved from issue hot path to ata_dev_set_xfermode() - the only
place where SETXFER can be issued.

Note that ATA_TFLAG_POLLING applies only to drivers which implement
SFF TF interface and use libata HSM.  More advanced controllers ignore
the flag.  This doesn't matter for this fix as SFF TF controllers are
the problematic ones.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Linus Torvalds [Mon, 4 Jun 2007 20:31:39 +0000 (13:31 -0700)]
Merge /linux/kernel/git/jejb/scsi-rc-fixes-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] JAZZ ESP and SUN ESP need SPI_ATTRS
  [SCSI] atari_NCR5380: update_timeout removal
  [SCSI] aacraid: fix shutdown handler to also disable interrupts.
  [SCSI] qla2xxx: fix timeout in qla2x00_down_timeout
  [SCSI] fix CONFIG_SCSI_WAIT_SCAN=m

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Linus Torvalds [Mon, 4 Jun 2007 20:27:33 +0000 (13:27 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: reduce raciness when input handlers disconnect
  Input: ucb1x00 - do not access input_dev->private directly
  Input: logips2pp - fix typo in Kconfig
  Input: db9 - do not ignore dev2 module parameter

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 4 Jun 2007 20:26:49 +0000 (13:26 -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:
  [ICMP]: Fix icmp_errors_use_inbound_ifaddr sysctl
  [IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP
  [NET] gso: Fix GSO feature mask in sk_setup_caps
  [TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules)
  [NET]: Fix comparisons of unsigned < 0.
  [NET]: Make net watchdog timers 1 sec jiffy aligned.
  [ATM]: Fix warning.
  [TCP]: Use default 32768-61000 outgoing port range in all cases.
  [AF_UNIX]: Fix datagram connect race causing an OOPS.
  [TG3]: Fix link problem on Dell's onboard 5906.
  [AF_UNIX]: Make socket locking much less confusing.

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Mon, 4 Jun 2007 20:25:59 +0000 (13:25 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [ATA]: Don't allow to enable this for SPARC64 without PCI.
  [VIDEO]: XVR500 and XVR2500 require FB=y

17 years agovanishing ioctl handler debugging
Andrew Morton [Sun, 3 Jun 2007 20:50:41 +0000 (13:50 -0700)]
vanishing ioctl handler debugging

We've had several reoprts of the CPU jumping to 0x00000000 is do_ioctl().  I
assume that there's a race and someone is zeroing out the ioctl handler while
this CPU waits for the lock_kernel().

The patch adds code to detect this, then emits stuff which will hopefuly lead
us to the culprit.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomtrr atomicity fix
Andrew Morton [Sun, 3 Jun 2007 20:50:40 +0000 (13:50 -0700)]
mtrr atomicity fix

Rafael gets this on an SMP box with kernel preemption enabled, during
hibernation and restore (100% of the time):

Enabling non-boot CPUs ...
BUG: using smp_processor_id() in preemptible [00000001] code: bash/4514
caller is mtrr_save_state+0x9/0x40

Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoSPI dynamic busid generation bugfix
David Brownell [Sun, 3 Jun 2007 20:50:40 +0000 (13:50 -0700)]
SPI dynamic busid generation bugfix

Fix SPI dynamic bus ID assignment to start at 2^15-1 rather than a negative
number.  Valid bus ids are supposed to be positive, and are (now) stored in
an 's16' value.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[SCSI] JAZZ ESP and SUN ESP need SPI_ATTRS
David S. Miller [Mon, 4 Jun 2007 00:56:04 +0000 (17:56 -0700)]
[SCSI] JAZZ ESP and SUN ESP need SPI_ATTRS

Reported by Meelis Roos.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] atari_NCR5380: update_timeout removal
Michael Schmitz [Sun, 3 Jun 2007 10:55:04 +0000 (12:55 +0200)]
[SCSI] atari_NCR5380: update_timeout removal

Atari SCSI driver fixes: remove update_timeout kludge

Signed-off-by: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years agoInput: reduce raciness when input handlers disconnect
Dmitry Torokhov [Mon, 4 Jun 2007 03:29:36 +0000 (23:29 -0400)]
Input: reduce raciness when input handlers disconnect

There is a race between input handler's release() and disconnect()
methods: when input handler disconnects it wakes up all regular
users and then process to walk user list to wake up async. users.
While disconnect() walks the list release() removes elements of
the same list causing oopses.

While this is not a substibute for proper locking we can reduce
odds of getting an oops if we wake up normal readers after walking
the list.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>