]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agoipg: per-device max_rxframe_size
Pekka Enberg [Mon, 23 Jun 2008 11:36:35 +0000 (14:36 +0300)]
ipg: per-device max_rxframe_size

Add a ->max_rxframe member to struct ipg_nic_private and convert the users of
IPG_MAX_RXFRAME_SIZE to use it instead to enable per-device jumbo frame
configuration.

Tested-by: Andrew Savchenko <Bircoph@list.ru>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoipg: per-device rxsupport_size
Pekka Enberg [Mon, 23 Jun 2008 11:36:18 +0000 (14:36 +0300)]
ipg: per-device rxsupport_size

Add a ->max_rxframe member to struct ipg_nic_private and convert the users of
IPG_RXSUPPORT_SIZE to use it instead to enable per-device jumbo frame
configuration.

Tested-by: Andrew Savchenko <Bircoph@list.ru>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoipg: per-device rxfrag_size
Pekka Enberg [Mon, 23 Jun 2008 11:36:00 +0000 (14:36 +0300)]
ipg: per-device rxfrag_size

Add a ->max_rxframe member to struct ipg_nic_private and convert the users of
IPG_RXFRAG_SIZE to use it instead to enable per-device jumbo frame
configuration.

Tested-by: Andrew Savchenko <Bircoph@list.ru>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoipg: remove jumbo frame #ifdef from mtu
Pekka Enberg [Mon, 23 Jun 2008 11:35:37 +0000 (14:35 +0300)]
ipg: remove jumbo frame #ifdef from mtu

Remove JUMBO_FRAME #ifdef from dev->mtu setting in ipg_nic_open() so that we
can make IPG_TXFRAG_SIZE configurable.

Tested-by: Andrew Savchenko <Bircoph@list.ru>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoipg: always compile in jumbo frame support
Pekka Enberg [Mon, 23 Jun 2008 11:35:16 +0000 (14:35 +0300)]
ipg: always compile in jumbo frame support

Add a ->is_jumbo boolean to struct ipg_nic_private and fix up
ipg_interrupt_handler() to call the jumbo frame version of ipg_nic_rx() if the
boolean is set to true. Also remove the JUMBO_FRAME #ifdefs so we can always
compile in support for jumbo frames.

Tested-by: Andrew Savchenko <Bircoph@list.ru>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoMerge branch 'r8169-next' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
Jeff Garzik [Fri, 4 Jul 2008 12:35:57 +0000 (08:35 -0400)]
Merge branch 'r8169-next' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream-next

17 years agofs_enet: restore promiscuous and multicast settings in restart()
Laurent Pinchart [Thu, 26 Jun 2008 09:48:22 +0000 (11:48 +0200)]
fs_enet: restore promiscuous and multicast settings in restart()

The restart() function is called when the link state changes and resets
multicast and promiscuous settings. This patch restores those settings at the
end of restart().

Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoibm_newemac: Fixes entry of short packets
Sathya Narayanan [Tue, 1 Jul 2008 08:58:19 +0000 (10:58 +0200)]
ibm_newemac: Fixes entry of short packets

Short packets has to be discarded by the driver. So this patch addresses the
issue of discarding the short packets of size lesser then ethernet header
size.

Signed-off-by: Sathya Narayanan <sathyan@teamf1.com>
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoibm_newemac: Fixes kernel crashes when speed of cable connected changes
Sathya Narayanan [Tue, 1 Jul 2008 08:58:05 +0000 (10:58 +0200)]
ibm_newemac: Fixes kernel crashes when speed of cable connected changes

The descriptor pointers were not initialized to NIL values, so it was
poiniting to some random addresses which was completely invalid. This
fix takes care of initializing the descriptor to NIL values and clearing
the valid descriptors on clean ring operation.

Signed-off-by: Sathya Narayanan <sathyan@teamf1.com>
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agopasemi_mac: Access iph->tot_len with correct endianness
Roland Dreier [Tue, 1 Jul 2008 17:22:45 +0000 (10:22 -0700)]
pasemi_mac: Access iph->tot_len with correct endianness

iph->tot_len is stored in network byte order, so access it using
ntohs().  This doesn't have any real world impact on pasemi_mac, since
the device only exists as part of a big-endian system-on-chip, but
fixing this gets rid of a sparse warning and avoids having a bad example
in the tree.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoehea: Access iph->tot_len with correct endianness
Roland Dreier [Tue, 1 Jul 2008 17:20:33 +0000 (10:20 -0700)]
ehea: Access iph->tot_len with correct endianness

iph->tot_len is stored in network byte order, so access it using
ntohs().  This doesn't have any real world impact on ehea, since ehea
only exists for big-endian platfroms (at the moment at least) but fixing
this gets rid of a sparse warning and avoids having a bad example in the
tree.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoehea: fix race condition
Jan-Bernd Themann [Thu, 3 Jul 2008 14:18:51 +0000 (15:18 +0100)]
ehea: fix race condition

When ehea_stop is called the function
cancel_work_sync(&port->reset_task) is used to ensure
that the reset task is not running anymore. We need an
additional flag to ensure that it can not be scheduled
after this call again for a certain time.

Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoehea: add MODULE_DEVICE_TABLE
Jan-Bernd Themann [Thu, 3 Jul 2008 14:18:48 +0000 (15:18 +0100)]
ehea: add MODULE_DEVICE_TABLE

Required to allow distros to easily detect when ehea
module needs to be loaded

Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoehea: fix might sleep problem
Jan-Bernd Themann [Thu, 3 Jul 2008 14:18:45 +0000 (15:18 +0100)]
ehea: fix might sleep problem

A mutex has to be replaced by spinlocks as it can be called from
a context which does not allow sleeping.
The kzalloc flag GFP_KERNEL has to be replaced by GFP_ATOMIC
for the same reason.

Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoforcedeth: fix lockdep warning on ethtool -s
Tobias Diedrich [Fri, 4 Jul 2008 06:54:56 +0000 (23:54 -0700)]
forcedeth: fix lockdep warning on ethtool -s

After enabling CONFIG_LOCKDEP and CONFIG_PROVE_LOCKING I get the
following warning when ethtool -s is first called on one of the
forcedeth ports:

=================================
[ INFO: inconsistent lock state ]
2.6.26-rc4 #28
---------------------------------
inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
ethtool/1985 [HC0[0]:SC0[1]:HE1:SE0] takes:
 (&np->lock){++..}, at: [<ffffffffa000c5fd>] nv_set_settings+0xc8/0x3de [forcedeth]
{in-hardirq-W} state was registered at:
  [<ffffffffffffffff>] 0xffffffffffffffff
irq event stamp: 3606
hardirqs last  enabled at (3605): [<ffffffff8068106f>] _spin_unlock_irqrestore+0x3f/0x68
hardirqs last disabled at (3604): [<ffffffff80680d38>] _spin_lock_irqsave+0x13/0x46
softirqs last  enabled at (3534): [<ffffffff80246ba5>] __do_softirq+0xbc/0xc5
softirqs last disabled at (3606): [<ffffffff80680b33>] _spin_lock_bh+0x11/0x41

other info that might help us debug this:
2 locks held by ethtool/1985:
 #0:  (rtnl_mutex){--..}, at: [<ffffffff80596072>] rtnl_lock+0x12/0x14
 #1:  (_xmit_ETHER){-+..}, at: [<ffffffffa000c5e8>] nv_set_settings+0xb3/0x3de [forcedeth]
stack backtrace:
Pid: 1985, comm: ethtool Not tainted 2.6.26-rc4 #28
Call Trace:
 [<ffffffff8025f190>] print_usage_bug+0x162/0x173
 [<ffffffff8025fa8b>] mark_lock+0x231/0x41f
 [<ffffffff802607cf>] __lock_acquire+0x4e7/0xcac
 [<ffffffff8025fe64>] ? trace_hardirqs_on+0xf1/0x115
 [<ffffffff80272c3a>] ? disable_irq_nosync+0x6f/0x7b
 [<ffffffff80261375>] lock_acquire+0x55/0x6e
 [<ffffffffa000c5fd>] ? :forcedeth:nv_set_settings+0xc8/0x3de
 [<ffffffff80680b15>] _spin_lock+0x2f/0x3c
 [<ffffffffa000c5fd>] :forcedeth:nv_set_settings+0xc8/0x3de
 [<ffffffff8058f8bb>] dev_ethtool+0x186/0xea3
 [<ffffffff8067f446>] ? mutex_lock_nested+0x243/0x275
 [<ffffffff8025df2b>] ? debug_mutex_free_waiter+0x46/0x4a
 [<ffffffff8067f469>] ? mutex_lock_nested+0x266/0x275
 [<ffffffff8058e1ce>] dev_ioctl+0x4eb/0x600
 [<ffffffff8068106f>] ? _spin_unlock_irqrestore+0x3f/0x68
 [<ffffffff80580f91>] sock_ioctl+0x1f5/0x202
 [<ffffffff802a322e>] vfs_ioctl+0x2a/0x77
 [<ffffffff802a34d6>] do_vfs_ioctl+0x25b/0x270
 [<ffffffff806807b6>] ? trace_hardirqs_on_thunk+0x35/0x3a
 [<ffffffff802a352d>] sys_ioctl+0x42/0x65
 [<ffffffff8021fffb>] system_call_after_swapgs+0x7b/0x80

This is caused by the following snippet in nv_set_settings:

netif_carrier_off(dev);
if (netif_running(dev)) {
nv_disable_irq(dev);
netif_tx_lock_bh(dev);
spin_lock(&np->lock);
/* stop engines */
nv_stop_rxtx(dev);
spin_unlock(&np->lock);
netif_tx_unlock_bh(dev);
}

Because of nv_disable_irq this is probably not really a problem
though (I guess) and replacing the spin_lock with spin_lock_irqsave
could keep interrupts disabled for a longer period of time because
of delays in nv_stop_rx and nv_stop_tx.

Signed-off-by: Tobias Diedrich <ranma+kernel@tdiedrich.de>
Cc: Ayaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoAdd missing skb->dev assignment in Frame Relay RX code
Krzysztof Halasa [Sun, 29 Jun 2008 19:48:11 +0000 (21:48 +0200)]
Add missing skb->dev assignment in Frame Relay RX code

Commit 4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0 ([ETH]: Make
eth_type_trans set skb->dev like the other *_type_trans) removed
skb->dev assignment from hdlc_fr.c:fr_rx(). Unfortunately it was also
needed for cases other than eth_type_trans().

Adding it back.

It's quite serious and may be a security risk as it causes a wrong
input interface indication (the physical hdlcX instead of logical
pvcX). Probably -stable class fix.

Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agosched: fix accounting in task delay accounting & migration
Ankita Garg [Tue, 1 Jul 2008 09:00:06 +0000 (14:30 +0530)]
sched: fix accounting in task delay accounting & migration

On Thu, Jun 19, 2008 at 12:27:14PM +0200, Peter Zijlstra wrote:
> On Thu, 2008-06-05 at 10:50 +0530, Ankita Garg wrote:
>
> > Thanks Peter for the explanation...
> >
> > I agree with the above and that is the reason why I did not see weird
> > values with cpu_time. But, run_delay still would suffer skews as the end
> > points for delta could be taken on different cpus due to migration (more
> > so on RT kernel due to the push-pull operations). With the below patch,
> > I could not reproduce the issue I had seen earlier. After every dequeue,
> > we take the delta and start wait measurements from zero when moved to a
> > different rq.
>
> OK, so task delay delay accounting is broken because it doesn't take
> migration into account.
>
> What you've done is make it symmetric wrt enqueue, and account it like
>
>   cpu0      cpu1
>
> enqueue
>  <wait-d1>
> dequeue
>             enqueue
>              <wait-d2>
>             run
>
> Where you add both d1 and d2 to the run_delay,.. right?
>

Thanks for reviewing the patch. The above is exactly what I have done.

> This seems like a good fix, however it looks like the patch will break
> compilation in !CONFIG_SCHEDSTATS && !CONFIG_TASK_DELAY_ACCT, of it
> failing to provide a stub for sched_info_dequeue() in that case.

Fixed. Pl. find the new patch below.

Signed-off-by: Ankita Garg <ankita@in.ibm.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Gregory Haskins <ghaskins@novell.com>
Cc: rostedt@goodmis.org
Cc: suresh.b.siddha@intel.com
Cc: aneesh.kumar@linux.vnet.ibm.com
Cc: dhaval@linux.vnet.ibm.com
Cc: vatsa@linux.vnet.ibm.com
Cc: David Bahi <DBahi@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: add avg-overlap support to RT tasks
Gregory Haskins [Fri, 27 Jun 2008 20:30:00 +0000 (14:30 -0600)]
sched: add avg-overlap support to RT tasks

We have the notion of tracking process-coupling (a.k.a. buddy-wake) via
the p->se.last_wake / p->se.avg_overlap facilities, but it is only used
for cfs to cfs interactions.  There is no reason why an rt to cfs
interaction cannot share in establishing a relationhip in a similar
manner.

Because PREEMPT_RT runs many kernel threads as FIFO priority, we often
times have heavy interaction between RT threads waking CFS applications.
This patch offers a substantial boost (50-60%+) in perfomance under those
circumstances.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
Cc: npiggin@suse.de
Cc: rostedt@goodmis.org
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: terminate newidle balancing once at least one task has moved over
Gregory Haskins [Fri, 27 Jun 2008 20:29:55 +0000 (14:29 -0600)]
sched: terminate newidle balancing once at least one task has moved over

Inspired by Peter Zijlstra.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
Cc: npiggin@suse.de
Cc: rostedt@goodmis.org
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, AMD IOMMU: remove unnecessary code from the iommu_enable function
Joerg Roedel [Thu, 3 Jul 2008 17:35:11 +0000 (19:35 +0200)]
x86, AMD IOMMU: remove unnecessary code from the iommu_enable function

This code removes a leftover from the iommu_enable function. The ctrl variable
is assigned but never used.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: iommu@lists.linux-foundation.org
Cc: bhavna.sarathy@amd.com
Cc: robert.richter@amd.com
Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, AMD IOMMU: don't try to init IOMMU if early detect code did not detect one
Joerg Roedel [Thu, 3 Jul 2008 17:35:10 +0000 (19:35 +0200)]
x86, AMD IOMMU: don't try to init IOMMU if early detect code did not detect one

This patch adds a check if the early detect code has found AMD IOMMU hardware
descriptions and does not try to initialize hardware if the check failed.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: iommu@lists.linux-foundation.org
Cc: bhavna.sarathy@amd.com
Cc: robert.richter@amd.com
Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, AMD IOMMU: honor iommu=off instead of amd_iommu=off
Joerg Roedel [Thu, 3 Jul 2008 17:35:09 +0000 (19:35 +0200)]
x86, AMD IOMMU: honor iommu=off instead of amd_iommu=off

This patch removes the amd_iommu=off kernel parameter and honors the generic
iommu=off parameter for the same purpose.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: iommu@lists.linux-foundation.org
Cc: bhavna.sarathy@amd.com
Cc: robert.richter@amd.com
Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, AMD IOMMU: flush domain TLB when there is more than one page to flush
Joerg Roedel [Thu, 3 Jul 2008 17:35:08 +0000 (19:35 +0200)]
x86, AMD IOMMU: flush domain TLB when there is more than one page to flush

This patch changes the domain TLB flushing behavior of the driver. When there
is more than one page to flush it flushes the whole domain TLB instead of every
single page. So we send only a single command to the IOMMU in every case which
is faster to execute.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: iommu@lists.linux-foundation.org
Cc: bhavna.sarathy@amd.com
Cc: robert.richter@amd.com
Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, AMD IOMMU: remove unnecessary set_bit_string
Joerg Roedel [Thu, 3 Jul 2008 17:35:07 +0000 (19:35 +0200)]
x86, AMD IOMMU: remove unnecessary set_bit_string

The set_bit_string call in the address allocator is not necessary because its
already called in iommu_area_alloc().

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: iommu@lists.linux-foundation.org
Cc: bhavna.sarathy@amd.com
Cc: robert.richter@amd.com
Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, AMD IOMMU: more verbose Kconfig description text
Joerg Roedel [Thu, 3 Jul 2008 17:35:06 +0000 (19:35 +0200)]
x86, AMD IOMMU: more verbose Kconfig description text

This patch replaces the short description text for AMD IOMMU in Kconfig with a
more verbose one.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: iommu@lists.linux-foundation.org
Cc: bhavna.sarathy@amd.com
Cc: robert.richter@amd.com
Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoxen: fix address truncation in pte mfn<->pfn conversion
Jeremy Fitzhardinge [Fri, 4 Jul 2008 05:10:18 +0000 (22:10 -0700)]
xen: fix address truncation in pte mfn<->pfn conversion

When converting the page number in a pte/pmd/pud/pgd between
machine and pseudo-physical addresses, the converted result was
being truncated at 32-bits.  This caused failures on machines
with more than 4G of physical memory.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: "Christopher S. Aker" <caker@theshore.net>
Cc: Ian Campbell <Ian.Campbell@eu.citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agogeneric-ipi: fix s390 build bug
Heiko Carstens [Fri, 4 Jul 2008 09:26:40 +0000 (11:26 +0200)]
generic-ipi: fix s390 build bug

forgot to remove #include <linux/spinlock.h> from linux/smp.h while
fixing the original s390 build bug.

Patch below fixes this build bug caused by header inclusion dependencies:

  CC      kernel/timer.o
In file included from include/linux/spinlock.h:87,
                 from include/linux/smp.h:11,
                 from include/linux/kernel_stat.h:4,
                 from kernel/timer.c:22:
include/asm/spinlock.h: In function '__raw_spin_lock':
include/asm/spinlock.h:69: error: implicit declaration of function 'smp_processor_id'

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosplice: fix generic_file_splice_read() race with page invalidation
Miklos Szeredi [Fri, 4 Jul 2008 07:35:17 +0000 (09:35 +0200)]
splice: fix generic_file_splice_read() race with page invalidation

If a page was invalidated during splicing from file to a pipe, then
generic_file_splice_read() could return a short or zero count.

This manifested itself in rare I/O errors seen on nfs exported fuse
filesystems.  This is because nfsd uses splice_direct_to_actor() to read
files, and fuse uses invalidate_inode_pages2() to invalidate stale data on
open.

Fix by redoing the page find/create if it was found to be truncated
(invalidated).

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoramfs: enable splice write
Octavian Purdila [Fri, 4 Jul 2008 07:33:33 +0000 (09:33 +0200)]
ramfs: enable splice write

Signed-off-by: Octavian Purdila <opurdila@ixiacom.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agodrivers/block/pktcdvd.c: avoid useless memset
Christophe Jaillet [Fri, 4 Jul 2008 07:33:17 +0000 (09:33 +0200)]
drivers/block/pktcdvd.c: avoid useless memset

Avoid the 'memset(...,0, ...)' before calling 'init_cdrom_command' because
this function already does it.

Signed-off-by: Christophe Jaillet <jaillet.christophe@wanadoo.fr>
Acked-by: Peter Osterlund <petero2@telia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agocdrom: revert commit 22a9189 (cdrom: use kmalloced buffers instead of buffers on...
FUJITA Tomonori [Fri, 4 Jul 2008 07:33:01 +0000 (09:33 +0200)]
cdrom: revert commit 22a9189 (cdrom: use kmalloced buffers instead of buffers on stack)

The commit 22a9189fd073db3d03a4cf8b8c098aa207602de1 (cdrom: use
kmalloced buffers instead of buffers on stack) is introduced to use
kmalloced buffers for packet commands to avoid stack corruption on non
coherent platforms.

SCSI cdrom uses blk_rq_map_kern, which properly avoids DMA on the
stack by using the bounce buffers. IDE cdrom also has the mechnism to
avoids DMA on the stack. So we don't need this extra complexitiy in
cdrom.c, such as allocating just 8 bytes. The lower layers can handle
it.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Tejun Heo <htejun@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoscsi: sr avoids useless buffer allocation
FUJITA Tomonori [Fri, 4 Jul 2008 07:31:50 +0000 (09:31 +0200)]
scsi: sr avoids useless buffer allocation

blk_rq_map_kern can handle the stack buffers correctly (avoid DMA
from/to the stack buffers by using the bounce buffer) so we don't need
to complicate the code by allocating just 8 bytes.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoblock: blk_rq_map_kern uses the bounce buffers for stack buffers
FUJITA Tomonori [Fri, 4 Jul 2008 07:31:11 +0000 (09:31 +0200)]
block: blk_rq_map_kern uses the bounce buffers for stack buffers

blk_rq_map_kern is used for kernel internal I/Os. Some callers use
this function with stack buffers but DMA to/from the stack buffers
leads to memory corruption on a non-coherent platform.

This patch make blk_rq_map_kern uses the bounce buffers if a caller
passes a stack buffer (on the all platforms for simplicity).

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Tejun Heo <htejun@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoblock: add blk_queue_update_dma_pad
FUJITA Tomonori [Fri, 4 Jul 2008 07:30:03 +0000 (09:30 +0200)]
block: add blk_queue_update_dma_pad

This adds blk_queue_update_dma_pad to prevent LLDs from overwriting
the dma pad mask wrongly (we added blk_queue_update_dma_alignment due
to the same reason).

This also converts libata to use blk_queue_update_dma_pad instead of
blk_queue_dma_pad.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Tejun Heo <htejun@gmail.com>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoDAC960: push down BKL
Alan Cox [Fri, 4 Jul 2008 07:29:31 +0000 (09:29 +0200)]
DAC960: push down BKL

Signed-off-by: Alan Cox <alan@redhat.com>
Cc: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agopktcdvd: push BKL down into driver
Alan Cox [Fri, 4 Jul 2008 07:29:16 +0000 (09:29 +0200)]
pktcdvd: push BKL down into driver

Push the lock_kernel down into the driver and switch to unlocked_ioctl

[akpm@linux-foundation.org: build fix]
Signed-off-by: Alan Cox <alan@redhat.com>
Acked-by: Peter Osterlund <petero2@telia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoparide: push ioctl down into driver
Alan Cox [Fri, 4 Jul 2008 07:51:21 +0000 (09:51 +0200)]
paride: push ioctl down into driver

Leaves us with lock_kernel for two methods.  Also remove a bogus printk
with no printk level and return -ENOTTY not -EINVAL for correctness.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(Jens: added smp_lock.h include to pt.c, otherwise it wont compile because
 of missing {un}lock_kernel() definition)

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoavr32: Fix typo of IFSR in a comment in the PIO header file
Hans-Christian Egtvedt [Fri, 4 Jul 2008 07:33:03 +0000 (09:33 +0200)]
avr32: Fix typo of IFSR in a comment in the PIO header file

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
17 years agoblock: use get_unaligned_* helpers
Harvey Harrison [Fri, 4 Jul 2008 07:28:32 +0000 (09:28 +0200)]
block: use get_unaligned_* helpers

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago[MIPS] Fix bug in atomic_sub_if_positive.
Ralf Baechle [Thu, 3 Jul 2008 22:28:35 +0000 (23:28 +0100)]
[MIPS] Fix bug in atomic_sub_if_positive.

The branch optimization fixes in 2.6.21 introduced a bug in
atomic_sub_if_positive that causes it to return even when the sc
instruction fails. The result is that e.g. down_trylock becomes unreliable
as the semaphore counter is not always decremented.

Original MUA-shredded patch from Morten Larsen <mlarsen@broadcom.com>.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years agopowerpc/bootwrapper: add missing bit of simpleImage target
Grant Likely [Fri, 4 Jul 2008 06:59:37 +0000 (00:59 -0600)]
powerpc/bootwrapper: add missing bit of simpleImage target

The wrapper script is missing the bits needed for building generic
simpleImage targets (targets which don't depend on any particular
firmware interface and retrieve all their data from the device tree).

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
17 years agopowerpc/bootwrapper: Add documentation of boot wrapper targets
Grant Likely [Wed, 25 Jun 2008 20:14:36 +0000 (13:14 -0700)]
powerpc/bootwrapper: Add documentation of boot wrapper targets

There have been many questions on and off the mailing list about how
exactly the bootwrapper is used for embedded targets.  Add some
documentation and help text to try and clarify the system.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
17 years agopowerpc/virtex: add defconfig for virtex 5 platforms
John Linn [Wed, 2 Jul 2008 22:48:34 +0000 (15:48 -0700)]
powerpc/virtex: add defconfig for virtex 5 platforms

This defconfig file is specific to Xilinx Virtex 5 FXT platform.

Signed-off-by: John Linn <john.linn@xilinx.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
17 years agopowerpc/virtex: add Xilinx 440 cpu to the cputable
John Linn [Tue, 1 Jul 2008 16:42:07 +0000 (09:42 -0700)]
powerpc/virtex: add Xilinx 440 cpu to the cputable

Updates the cputable to include the 440 processor found in the
Xilinx Virtex5 FXT FPGA.

Signed-off-by: John Linn <john.linn@xilinx.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
17 years agopowerpc/virtex: add Xilinx Virtex 5 ppc440 platform support
John Linn [Thu, 3 Jul 2008 14:05:04 +0000 (07:05 -0700)]
powerpc/virtex: add Xilinx Virtex 5 ppc440 platform support

Support for the Xilinx Virtex5 FXT 440 is being added.

Signed-off-by: John Linn <john.linn@xilinx.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
17 years agopowerpc/virtex: Fix booting of Xilinx FPGAs with 16550 for 405 and 440
John Linn [Wed, 2 Jul 2008 22:11:28 +0000 (15:11 -0700)]
powerpc/virtex: Fix booting of Xilinx FPGAs with 16550 for 405 and 440

The following changes add processing to initialize the Xilinx 16550 UART
in the boot wrapper for Virtex targets without firmware.  Normally the
boot wrapper assumes that the serial port has already been initialized by
firmware.

The wrapper was also modified to add the 440 build.

Signed-off-by: John Linn <john.linn@xilinx.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
17 years agopowerpc/virtex: add dts file for ML507 reference design
John Linn [Tue, 1 Jul 2008 23:02:54 +0000 (16:02 -0700)]
powerpc/virtex: add dts file for ML507 reference design

This new file adds support for the ML507 reference design.  The ML507
uses the Virtex 5 FXT FPGA which embeds a ppc440 core.

Signed-off-by: John Linn <john.linn@xilinx.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Fri, 4 Jul 2008 04:29:08 +0000 (21:29 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  USB: adding comment for ipaq forcing number of ports
  USB: fix Oops on loading ipaq module since 2.6.26
  USB: add a pl2303 device id
  USB: another option device id
  USB: don't lose disconnections during suspend
  USB: fix interrupt disabling for HCDs with shared interrupt handlers
  USB: New device ID for ftdi_sio driver
  sisusbvga: Fix oops on disconnect.
  USB: mass storage: new id for US_SC_CYP_ATACB
  USB: ohci - record data toggle after unlink
  USB: ehci - fix timer regression
  USB: fix cdc-acm resume()
  OHCI: Fix problem if SM501 and another platform driver is selected

17 years agoUSB: adding comment for ipaq forcing number of ports
Oliver Neukum [Thu, 3 Jul 2008 15:14:16 +0000 (17:14 +0200)]
USB: adding comment for ipaq forcing number of ports

The reason for forcing a number of ports should be documented.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix Oops on loading ipaq module since 2.6.26
Oliver Neukum [Thu, 3 Jul 2008 08:05:57 +0000 (10:05 +0200)]
USB: fix Oops on loading ipaq module since 2.6.26

Fixes bugzilla.kernel.org #10868

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: add a pl2303 device id
Greg Kroah-Hartman [Wed, 2 Jul 2008 20:25:41 +0000 (15:25 -0500)]
USB: add a pl2303 device id

As reported by Ken A Scott <kscott9@sent.com>

Cc: Ken A Scott <kscott9@sent.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: another option device id
Greg Kroah-Hartman [Tue, 1 Jul 2008 07:41:56 +0000 (13:11 +0530)]
USB: another option device id

Thanks to umesh b <umesh.kollam@gmail.com> for the information here.

Cc: umesh b <umesh.kollam@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: don't lose disconnections during suspend
Alan Stern [Tue, 1 Jul 2008 14:45:51 +0000 (10:45 -0400)]
USB: don't lose disconnections during suspend

This patch (as1111) fixes a bug in the hub driver.  When a hub
resumes, disconnections that occurred while the hub was suspended are
lost.

A completely different fix for this problem has already been accepted
for 2.6.27; however the problem still needs to be handled in 2.6.26.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Lukas Hejtmanek <xhejtman@ics.muni.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix interrupt disabling for HCDs with shared interrupt handlers
Stefan Becker [Tue, 1 Jul 2008 16:19:22 +0000 (19:19 +0300)]
USB: fix interrupt disabling for HCDs with shared interrupt handlers

USB: fix interrupt disabling for HCDs with shared interrupt handlers

As has been discussed several times on LKML, IRQF_SHARED | IRQF_DISABLED
doesn't work reliably, i.e. a shared interrupt handler CAN'T be certain to
be called with interrupts disabled. Most USB HCD handlers use IRQF_DISABLED
and therefore havoc can break out if they share their interrupt with a
handler that doesn't use it.

On my test machine the yenta_socket interrupt handler (no IRQF_DISABLED)
was registered before ehci_hcd and one uhci_hcd instance. Therefore all
usb_hcd_irq() invocations for ehci_hcd and for one uhci_hcd instance
happened with interrupts enabled. That led to random lockups as USB core
HCD functions that acquire the same spinlock could be called twice
from interrupt handlers.

This patch updates usb_hcd_irq() to always disable/restore interrupts.
usb_add_hcd() will silently remove any IRQF_DISABLED requested from HCD code.

Signed-off-by: Stefan Becker <stefan.becker@nokia.com>
Cc: stable <stable@kernel.org>
Acked-by: David Brownell <david-b@pacbell.net>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: New device ID for ftdi_sio driver
Jon K Hellan [Tue, 24 Jun 2008 09:43:13 +0000 (11:43 +0200)]
USB: New device ID for ftdi_sio driver

Here's a new device ID for the ftdio_sio driver.
The diff is with linus's tree as of this morning.

The device is the RigExpert Tiny USB Soundcard Transceiver Interface for ham
radio.

(I didn't actually test this. A fellow ham couldn't get the device to work, and
I suggested binding the device ID using sysfs - see
"http://jk.ufisa.uninett.no/usb/". However, he had had moved on to other things
by then. I guess adding the device ID to the kernel "on spec" won't hurt.
The relevant part of cat /proc/bus/usb/devices shows:

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=ed22 Rev= 5.00
S:  Manufacturer=FTDI
S:  Product=MixW RigExpert Tiny
S:  SerialNumber=00000000
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
)

From: Jon K Hellan <hellan@acm.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agosisusbvga: Fix oops on disconnect.
Will Newton [Fri, 27 Jun 2008 12:08:08 +0000 (13:08 +0100)]
sisusbvga: Fix oops on disconnect.

Remove dev_info call on disconnect. The sisusb_dev pointer may have been
set to zero by sisusb_delete at this point causing an oops.

The message does not provide any extra information over the standard USB
subsystem output so removing it does not affect functionality.

Signed-off-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: mass storage: new id for US_SC_CYP_ATACB
matthieu castet [Mon, 16 Jun 2008 17:49:06 +0000 (19:49 +0200)]
USB: mass storage: new id for US_SC_CYP_ATACB

CY7C68310 chip also support cypress atacb "ATA command" pass_thru.

Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: ohci - record data toggle after unlink
David Brownell [Sat, 14 Jun 2008 06:59:54 +0000 (23:59 -0700)]
USB: ohci - record data toggle after unlink

This patch fixes a problem with OHCI where canceling bulk or
interrupt URBs may lose track of the right data toggle.  This
seems to be a longstanding bug, possibly dating back to the
Linux 2.4 kernel, which stayed hidden because

 (a) about half the time the data toggle bit was correct;
 (b) canceling such URBs is unusual; and
 (c) the few drivers which cancel these URBs either
      [1] do it only as part of shutting down, or
      [2] have fault recovery logic, which recovers.

For those transfer types, the toggle is normally written back
into the ED when each TD is retired.  But canceling bypasses
the mechanism used to retire TDs ... so on average, half the
time the toggle bit will be invalid after cancelation.

The fix is simple:  the toggle state of any canceled TDs are
propagated back to the ED in the finish_unlinks function.

(Issue found by leonidv11@gmail.com ...)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Leonid <leonidv11@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: ehci - fix timer regression
David Brownell [Sat, 14 Jun 2008 06:56:48 +0000 (23:56 -0700)]
USB: ehci - fix timer regression

This patch fixes a regression in the EHCI driver's TIMER_IO_WATCHDOG
behavior.  The patch "USB: EHCI: add separate IAA watchdog timer" changed
how that timer is handled, so that short timeouts on the remaining
timer (unfortunately, overloaded) would never be used.

This takes a more direct approach, reorganizing the code slightly to
be explicit about only the I/O watchdog role now being overridable.
It also replaces a now-obsolete comment describing older timer behavior.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Leonid <leonidv11@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix cdc-acm resume()
Oliver Neukum [Tue, 17 Jun 2008 20:30:48 +0000 (22:30 +0200)]
USB: fix cdc-acm resume()

cdc-acm has
- a memory leak in resume()
- will fail to reactivate the read code path if this is needed.
his corrects it by deleting the useless relict code.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoOHCI: Fix problem if SM501 and another platform driver is selected
Ben Dooks [Sun, 8 Jun 2008 16:20:11 +0000 (17:20 +0100)]
OHCI: Fix problem if SM501 and another platform driver is selected

If the SM501 and another platform driver, such as the SM501
then we end up defining PLATFORM_DRIVER twice. This patch
seperated the SM501 onto a seperate define of SM501_OHCI_DRIVER
so that it can be selected without overwriting the original
definition.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoMerge branch 'for-bfields' of git://linux-nfs.org/~tomtucker/xprt-switch-2.6 into...
J. Bruce Fields [Thu, 3 Jul 2008 20:24:06 +0000 (16:24 -0400)]
Merge branch 'for-bfields' of git://linux-nfs.org/~tomtucker/xprt-switch-2.6 into for-2.6.27

17 years agosvcrpc: fix handling of garbage args
J. Bruce Fields [Thu, 3 Jul 2008 19:26:35 +0000 (15:26 -0400)]
svcrpc: fix handling of garbage args

To return garbage_args, the accept_stat must be 0, and we must have a
verifier.  So we shouldn't be resetting the write pointer as we reject
the call.

Also, we must add the two placeholder words here regardless of success
of the unwrap, to ensure the output buffer is left in a consistent state
for svcauth_gss_release().

This fixes a BUG() in svcauth_gss.c:svcauth_gss_release().

Thanks to Aime Le Rouzic for bug report, debugging help, and testing.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Tested-by: Aime Le Rouzic <aime.le-rouzic@bull.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoPCI: handle pci_name() being const
Greg Kroah-Hartman [Wed, 2 Jul 2008 20:24:49 +0000 (13:24 -0700)]
PCI: handle pci_name() being const

This changes pci_setup_device to handle pci_name() now returning a
constant string.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Thu, 3 Jul 2008 18:37:19 +0000 (11:37 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] cevt-txx9: Reset timer counter on initialization
  [MIPS] IP22: Fix crashes due to wrong L1_CACHE_BYTES
  [MIPS] IP32: Fix unexpected irq 71

17 years agohrtimer: prevent migration for raising softirq
Steven Rostedt [Thu, 3 Jul 2008 18:31:26 +0000 (14:31 -0400)]
hrtimer: prevent migration for raising softirq

Due to a possible deadlock, the waking of the softirq was pushed outside
of the hrtimer base locks. See commit 0c96c5979a522c3323c30a078a70120e29b5bdbc

Unfortunately this allows the task to migrate after setting up the softirq
and raising it. Since softirqs run a queue that is per-cpu we may raise the
softirq on the wrong CPU and this will keep the queued softirq task from
running.

To solve this issue, this patch disables preemption around the releasing
of the hrtimer lock and raising of the softirq.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[MIPS] cevt-txx9: Reset timer counter on initialization
Atsushi Nemoto [Tue, 24 Jun 2008 14:26:38 +0000 (23:26 +0900)]
[MIPS] cevt-txx9: Reset timer counter on initialization

The txx9_tmr_init() will not clear a timer counter register in a certain
case.  The counter register is cleared on 1->0 transition of TCE bit if
CRE=1.  So just clearing the TCE bit is not enough.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP22: Fix crashes due to wrong L1_CACHE_BYTES
Thomas Bogendoerfer [Fri, 27 Jun 2008 21:52:26 +0000 (23:52 +0200)]
[MIPS] IP22: Fix crashes due to wrong L1_CACHE_BYTES

The introduction of a real dma cache invalidate makes it important
to have a correct cache line size, otherwise the kernel will gives
out two memory segment, which might share one cache line. The R4400
Indy/Indigo2 CPU modules are using a second level cache line size
of 128 bytes, so MIPS_L1_CACHE_SHIFT needs to be bumped up to 7 for
IP22.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP32: Fix unexpected irq 71
Thomas Bogendoerfer [Mon, 23 Jun 2008 22:48:05 +0000 (00:48 +0200)]
[MIPS] IP32: Fix unexpected irq 71

It's possible that the crime interrupt handler is called without
pending interrupts (probably a hardware issue). To avoid irritating
"unexpected irq 71" messages, we now just ignore the spurious crime
interrupts.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh...
Linus Torvalds [Thu, 3 Jul 2008 16:28:44 +0000 (09:28 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
  9p: fix O_APPEND in legacy mode

17 years agoDo not overwrite nr_zones on !NUMA when initialising zlcache_ptr
Mel Gorman [Thu, 3 Jul 2008 04:27:51 +0000 (05:27 +0100)]
Do not overwrite nr_zones on !NUMA when initialising zlcache_ptr

The non-NUMA case of build_zonelist_cache() would initialize the
zlcache_ptr for both node_zonelists[] to NULL.

Which is problematic, since non-NUMA only has a single node_zonelists[]
entry, and trying to zero the non-existent second one just overwrote the
nr_zones field instead.

As kswapd uses this value to determine what reclaim work is necessary,
the result is that kswapd never reclaims.  This causes processes to
stall frequently in low-memory situations as they always direct reclaim.
This patch initialises zlcache_ptr correctly.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Tested-by: Dan Williams <dan.j.williams@intel.com>
[ Simplified patch a bit ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoslub: Do not use 192 byte sized cache if minimum alignment is 128 byte
Christoph Lameter [Thu, 3 Jul 2008 14:14:26 +0000 (09:14 -0500)]
slub: Do not use 192 byte sized cache if minimum alignment is 128 byte

The 192 byte cache is not necessary if we have a basic alignment of 128
byte. If it would be used then the 192 would be aligned to the next 128 byte
boundary which would result in another 256 byte cache. Two 256 kmalloc caches
cause sysfs to complain about a duplicate entry.

MIPS needs 128 byte aligned kmalloc caches and spits out warnings on boot without
this patch.

Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
17 years ago[ARM] S3C24XX: Split serial driver into core and per-cpu drivers
Ben Dooks [Thu, 3 Jul 2008 11:32:51 +0000 (12:32 +0100)]
[ARM] S3C24XX: Split serial driver into core and per-cpu drivers

The S3C2410 serial driver in drivers/serial/s3c2410.c has been
growing bigger with the addition of more variants of this hardware
with the growing Samsung SoCs range. As such, it would be
easier to split this code up into a core and per-cpu drivers to
make driver addition easier, and the core smaller.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: PWM API support.
Ben Dooks [Tue, 1 Jul 2008 12:17:24 +0000 (13:17 +0100)]
[ARM] S3C24XX: PWM API support.

Add support for PWM in the S3C24XX series of SoC via the
PWM API.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C2412: Correct parents for EREFCLK and UREFCLK
Matthieu Castet [Thu, 3 Jul 2008 10:24:45 +0000 (11:24 +0100)]
[ARM] S3C2412: Correct parents for EREFCLK and UREFCLK

For s3c2412, set parent for clk_erefclk and clk_urefclk.
This allow for example to use xtal or extclk for i2s clock.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Matthieu Castet <matthieu.castet@parrot.com>
17 years ago[ARM] VR1000: Add tmp101 to list of I2C devices on the board
Ben Dooks [Thu, 3 Jul 2008 10:24:44 +0000 (11:24 +0100)]
[ARM] VR1000: Add tmp101 to list of I2C devices on the board

Add tmp101 support via the new style I2C driver registration
on the VR1000.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] ANUBIS: Add i2c device list to Simtec Anubis
Ben Dooks [Thu, 3 Jul 2008 10:24:43 +0000 (11:24 +0100)]
[ARM] ANUBIS: Add i2c device list to Simtec Anubis

Add i2c board info initialiser to setup the list of
I2C devices present on an Simtec Anubis.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] VR1000: Add i2c device list to Thorcom VR1000
Ben Dooks [Thu, 3 Jul 2008 10:24:42 +0000 (11:24 +0100)]
[ARM] VR1000: Add i2c device list to Thorcom VR1000

Add i2c board intialisers to specify the I2C devices
attached on the Thorcom VR1000.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] BAST: Add i2c device list on Simtec Bast
Ben Dooks [Thu, 3 Jul 2008 10:24:41 +0000 (11:24 +0100)]
[ARM] BAST: Add i2c device list on Simtec Bast

Add i2c boardinfo for the connected i2c devices on the
Simtec Bast.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] OSIRIS: Add i2c device list to Simtec Osiris
Ben Dooks [Thu, 3 Jul 2008 10:24:40 +0000 (11:24 +0100)]
[ARM] OSIRIS: Add i2c device list to Simtec Osiris

Add an i2c board information initialisers to the board
to define which devices are present.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: Add physmap device for all Simtec NOR equiped boards.
Ben Dooks [Thu, 3 Jul 2008 10:24:39 +0000 (11:24 +0100)]
[ARM] S3C24XX: Add physmap device for all Simtec NOR equiped boards.

Move to using the physmap platform device code to attached NOR
flash on Simtec boards so that the old bast-flash driver can be
safely removed.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] ANUBIS: Move to using ata_platform driver (libata)
Ben Dooks [Thu, 3 Jul 2008 10:24:38 +0000 (11:24 +0100)]
[ARM] ANUBIS: Move to using ata_platform driver (libata)

Change the (as yet unused) IDE bus on the Simtec Anubis board
to use pata_platform and thus libata to provide IDE support.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] BAST/VR1000: Move to using ata_platform (libata)
Ben Dooks [Thu, 3 Jul 2008 10:24:37 +0000 (11:24 +0100)]
[ARM] BAST/VR1000: Move to using ata_platform (libata)

Use the pata_platform driver to provide the IDE port
drivers on the Simntec BAST and Thorcom VR1000 machines
as a precursor to removing drivers/ide/arm/bast-ide.c

This will mean that the system will need SCSI and SCSI disc
support as a minimum, and any references to hdX will be
changed to sdX.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] JIVE: Add power off on shutdown support
Ben Dooks [Thu, 3 Jul 2008 10:24:36 +0000 (11:24 +0100)]
[ARM] JIVE: Add power off on shutdown support

Add pm_power_off hook to allow the Logitech Jive to shutdown
when asked to halt.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] JIVE: Add i2c device info for LIS302DL sensor
Ben Dooks [Thu, 3 Jul 2008 10:24:35 +0000 (11:24 +0100)]
[ARM] JIVE: Add i2c device info for LIS302DL sensor

Add i2c bus definition for the LIS302DL sensor driver
which is connected on the i2c bus.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] JIVE: Add board definitions for audio
Ben Dooks [Thu, 3 Jul 2008 10:24:34 +0000 (11:24 +0100)]
[ARM] JIVE: Add board definitions for audio

Add board definitions for the audio device connected
on the Logitech Jive.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] JIVE: Add LCD display setup information
Ben Dooks [Thu, 3 Jul 2008 10:24:33 +0000 (11:24 +0100)]
[ARM] JIVE: Add LCD display setup information

Add the setup information for the LCD display
connected to the device.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] JIVE: Add SPI bus definitions for LCD controller
Ben Dooks [Thu, 3 Jul 2008 10:24:32 +0000 (11:24 +0100)]
[ARM] JIVE: Add SPI bus definitions for LCD controller

Add the definitions for the VGG2432A4 intelligent
LCD display conneected via an GPIO-based SPI bus
on the Logitech Jive.

Signed-of-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] JIVE: Add setup information for the S3C2412 LCD controller
Ben Dooks [Thu, 3 Jul 2008 10:24:31 +0000 (11:24 +0100)]
[ARM] JIVE: Add setup information for the S3C2412 LCD controller

Setup the video controller information for the Jive.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] JIVE: Initialise the sleep configuration registers
Ben Dooks [Thu, 3 Jul 2008 10:24:30 +0000 (11:24 +0100)]
[ARM] JIVE: Initialise the sleep configuration registers

Ensure that the S3C2412 sleep configuration registers
are approriately setup so that the device can safely
go to sleep.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] JIVE: Initial machine support for Logitech Jive
Ben Dooks [Thu, 3 Jul 2008 10:24:29 +0000 (11:24 +0100)]
[ARM] JIVE: Initial machine support for Logitech Jive

This is the base machine support for the Logitech Jive
machine.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: Support for PWM timer clocks via clk_* API
Ben Dooks [Thu, 3 Jul 2008 10:24:27 +0000 (11:24 +0100)]
[ARM] S3C24XX: Support for PWM timer clocks via clk_* API

Add support for the PWM timer clock routing via the
standard clk_ API.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: Add PWM timer MUX defines
Ben Dooks [Thu, 3 Jul 2008 10:24:26 +0000 (11:24 +0100)]
[ARM] S3C24XX: Add PWM timer MUX defines

Add timer defines for the MUX settings for
each of the PWM timers to add to the per-timer
defines already in the file.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: Add gpiolib support
Ben Dooks [Thu, 3 Jul 2008 10:24:25 +0000 (11:24 +0100)]
[ARM] S3C24XX: Add gpiolib support

Add support for gpilib on all S3C24XX platforms.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: s3c2410_defconfig: enable USB subset of drivers
Ben Dooks [Thu, 3 Jul 2008 10:32:28 +0000 (11:32 +0100)]
[ARM] S3C24XX: s3c2410_defconfig: enable USB subset of drivers

Enable a subset of USB drivers which are useful for
using on these devices.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: s3c2410_defconfig: add SCSI support
Ben Dooks [Thu, 3 Jul 2008 10:32:27 +0000 (11:32 +0100)]
[ARM] S3C24XX: s3c2410_defconfig: add SCSI support

Enable SCSI support, mainly to help with adding
USB storage support later and for the imminent
changes for libata.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: s3c2410_defconfig: update networking options
Ben Dooks [Thu, 3 Jul 2008 10:32:26 +0000 (11:32 +0100)]
[ARM] S3C24XX: s3c2410_defconfig: update networking options

Add the following to the networking confgiuration:

1) Packet socket support (useful for userland dhcp)
2) Add bluetooth and USB bluetooth drivers as modules
3) Add basic IPv6 support as modules.
4) Add the wireless core as modules.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: s3c2410_defconfig: update miscellaneous options
Ben Dooks [Thu, 3 Jul 2008 10:32:25 +0000 (11:32 +0100)]
[ARM] S3C24XX: s3c2410_defconfig: update miscellaneous options

Add some basic config filesystem, ensure errors are verbose
by default.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: s3c2410_defconfig: update filesystem options
Ben Dooks [Thu, 3 Jul 2008 10:32:24 +0000 (11:32 +0100)]
[ARM] S3C24XX: s3c2410_defconfig: update filesystem options

Enable new filesystem options, such as:

- JFFS2 summary nodes
- Ext2/3 externed options
- Standard CDROM filesystems

Also add NTFS as a module.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
17 years ago[ARM] S3C24XX: s3c2410_defconfig: enable useful NLS options
Ben Dooks [Thu, 3 Jul 2008 10:32:23 +0000 (11:32 +0100)]
[ARM] S3C24XX: s3c2410_defconfig: enable useful NLS options

Enable some useful NLS codepages to be built into
the kernel, and build the rest as modules.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>