pandora-kernel.git
14 years agoMerge remote-tracking branch 'rcu/rcu/next'
Stephen Rothwell [Mon, 30 May 2011 02:38:50 +0000 (12:38 +1000)]
Merge remote-tracking branch 'rcu/rcu/next'

14 years agoMerge remote-tracking branch 'tip/auto-latest'
Stephen Rothwell [Mon, 30 May 2011 02:38:42 +0000 (12:38 +1000)]
Merge remote-tracking branch 'tip/auto-latest'

14 years agoMerge remote-tracking branch 'gpio/gpio/next'
Stephen Rothwell [Mon, 30 May 2011 02:37:32 +0000 (12:37 +1000)]
Merge remote-tracking branch 'gpio/gpio/next'

14 years agoMerge remote-tracking branch 'devicetree/devicetree/next'
Stephen Rothwell [Mon, 30 May 2011 02:36:07 +0000 (12:36 +1000)]
Merge remote-tracking branch 'devicetree/devicetree/next'

14 years agoMerge remote-tracking branch 'i7300_edac/linux_next'
Stephen Rothwell [Mon, 30 May 2011 02:36:05 +0000 (12:36 +1000)]
Merge remote-tracking branch 'i7300_edac/linux_next'

14 years agoMerge remote-tracking branch 'i7core_edac/linux_next'
Stephen Rothwell [Mon, 30 May 2011 02:34:45 +0000 (12:34 +1000)]
Merge remote-tracking branch 'i7core_edac/linux_next'

14 years agoMerge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:32:22 +0000 (12:32 +1000)]
Merge remote-tracking branch 'fsnotify/for-next'

14 years agoMerge remote-tracking branch 'trivial/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:31:02 +0000 (12:31 +1000)]
Merge remote-tracking branch 'trivial/for-next'

14 years agoMerge remote-tracking branch 'dwmw2-iommu/master'
Stephen Rothwell [Mon, 30 May 2011 02:29:42 +0000 (12:29 +1000)]
Merge remote-tracking branch 'dwmw2-iommu/master'

14 years agoMerge remote-tracking branch 'watchdog/master'
Stephen Rothwell [Mon, 30 May 2011 02:28:23 +0000 (12:28 +1000)]
Merge remote-tracking branch 'watchdog/master'

14 years agoMerge remote-tracking branch 'agp/agp-next'
Stephen Rothwell [Mon, 30 May 2011 02:28:00 +0000 (12:28 +1000)]
Merge remote-tracking branch 'agp/agp-next'

14 years agoMerge remote-tracking branch 'voltage/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:27:49 +0000 (12:27 +1000)]
Merge remote-tracking branch 'voltage/for-next'

Conflicts:
drivers/mfd/Kconfig
drivers/mfd/Makefile
drivers/regulator/Makefile

14 years agoMerge remote-tracking branch 'leds/for-mm'
Stephen Rothwell [Mon, 30 May 2011 02:18:42 +0000 (12:18 +1000)]
Merge remote-tracking branch 'leds/for-mm'

Conflicts:
drivers/leds/Kconfig

14 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:17:05 +0000 (12:17 +1000)]
Merge remote-tracking branch 'block/for-next'

14 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Mon, 30 May 2011 02:15:37 +0000 (12:15 +1000)]
Merge branch 'quilt/rr'

14 years agoMerge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:14:18 +0000 (12:14 +1000)]
Merge remote-tracking branch 'sound-asoc/for-next'

14 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:14:12 +0000 (12:14 +1000)]
Merge remote-tracking branch 'sound/for-next'

14 years agoMerge remote-tracking branch 'crypto/master'
Stephen Rothwell [Mon, 30 May 2011 02:13:03 +0000 (12:13 +1000)]
Merge remote-tracking branch 'crypto/master'

14 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Mon, 30 May 2011 02:11:50 +0000 (12:11 +1000)]
Merge remote-tracking branch 'bluetooth/master'

Conflicts:
net/bluetooth/l2cap_core.c

14 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Mon, 30 May 2011 02:10:35 +0000 (12:10 +1000)]
Merge remote-tracking branch 'wireless/master'

14 years agoMerge remote-tracking branch 'ieee1394/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:10:21 +0000 (12:10 +1000)]
Merge remote-tracking branch 'ieee1394/for-next'

14 years agoMerge remote-tracking branch 'cpupowerutils/master'
Stephen Rothwell [Mon, 30 May 2011 02:09:00 +0000 (12:09 +1000)]
Merge remote-tracking branch 'cpupowerutils/master'

14 years agoMerge remote-tracking branch 'idle-test/idle-test'
Stephen Rothwell [Mon, 30 May 2011 02:04:12 +0000 (12:04 +1000)]
Merge remote-tracking branch 'idle-test/idle-test'

Conflicts:
arch/x86/include/asm/processor.h
arch/x86/kernel/cpu/common.c
arch/x86/kernel/process.c

14 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:52:52 +0000 (11:52 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

14 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:51:28 +0000 (11:51 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

14 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Mon, 30 May 2011 01:50:16 +0000 (11:50 +1000)]
Merge remote-tracking branch 'v4l-dvb/master'

14 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Mon, 30 May 2011 01:49:00 +0000 (11:49 +1000)]
Merge branch 'quilt/jdelvare-hwmon'

14 years agoMerge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:48:46 +0000 (11:48 +1000)]
Merge remote-tracking branch 'v9fs/for-next'

14 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Mon, 30 May 2011 01:48:32 +0000 (11:48 +1000)]
Merge remote-tracking branch 'logfs/master'

Conflicts:
fs/logfs/logfs.h

14 years agoMerge remote-tracking branch 'hfsplus/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:47:01 +0000 (11:47 +1000)]
Merge remote-tracking branch 'hfsplus/for-next'

14 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Mon, 30 May 2011 01:45:50 +0000 (11:45 +1000)]
Merge remote-tracking branch 'gfs2/master'

14 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Mon, 30 May 2011 01:44:38 +0000 (11:44 +1000)]
Merge remote-tracking branch 'ext3/for_next'

14 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Mon, 30 May 2011 01:44:35 +0000 (11:44 +1000)]
Merge remote-tracking branch 'ecryptfs/next'

14 years agoMerge remote-tracking branch 'ceph/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:44:28 +0000 (11:44 +1000)]
Merge remote-tracking branch 'ceph/for-next'

14 years agoMerge remote-tracking branch 'xtensa/master'
Stephen Rothwell [Mon, 30 May 2011 01:43:13 +0000 (11:43 +1000)]
Merge remote-tracking branch 'xtensa/master'

Conflicts:
arch/xtensa/configs/iss_defconfig

14 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Mon, 30 May 2011 01:41:40 +0000 (11:41 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

Conflicts:
drivers/rtc/Kconfig

14 years agoMerge remote-tracking branch 'galak/next'
Stephen Rothwell [Mon, 30 May 2011 01:41:34 +0000 (11:41 +1000)]
Merge remote-tracking branch 'galak/next'

Conflicts:
arch/powerpc/boot/dts/p2020ds.dts
arch/powerpc/boot/dts/p2020rdb.dts

14 years agoMerge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Mon, 30 May 2011 01:40:23 +0000 (11:40 +1000)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'

14 years agoMerge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:40:16 +0000 (11:40 +1000)]
Merge remote-tracking branch 'parisc/for-next'

14 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Mon, 30 May 2011 01:38:57 +0000 (11:38 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

14 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:37:49 +0000 (11:37 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

14 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:36:38 +0000 (11:36 +1000)]
Merge remote-tracking branch 'cris/for-next'

14 years agoMerge remote-tracking branch 'xilinx/arm-next'
Stephen Rothwell [Mon, 30 May 2011 01:35:29 +0000 (11:35 +1000)]
Merge remote-tracking branch 'xilinx/arm-next'

14 years agoMerge remote-tracking branch 'msm/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:34:07 +0000 (11:34 +1000)]
Merge remote-tracking branch 'msm/for-next'

14 years agoMerge remote-tracking branch 'davinci/davinci-next'
Stephen Rothwell [Mon, 30 May 2011 01:34:02 +0000 (11:34 +1000)]
Merge remote-tracking branch 'davinci/davinci-next'

14 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Mon, 30 May 2011 01:32:40 +0000 (11:32 +1000)]
Merge remote-tracking branch 'at91/at91-next'

14 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:31:27 +0000 (11:31 +1000)]
Merge remote-tracking branch 'arm/for-next'

14 years agoMerge remote-tracking branch 'fbdev-current/fbdev-fixes-for-linus'
Stephen Rothwell [Mon, 30 May 2011 01:26:02 +0000 (11:26 +1000)]
Merge remote-tracking branch 'fbdev-current/fbdev-fixes-for-linus'

14 years agoMerge remote-tracking branch 'rmobile-current/rmobile-fixes-for-linus'
Stephen Rothwell [Mon, 30 May 2011 01:26:01 +0000 (11:26 +1000)]
Merge remote-tracking branch 'rmobile-current/rmobile-fixes-for-linus'

14 years agoMerge remote-tracking branch 'sh-current/sh-fixes-for-linus'
Stephen Rothwell [Mon, 30 May 2011 01:26:00 +0000 (11:26 +1000)]
Merge remote-tracking branch 'sh-current/sh-fixes-for-linus'

14 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Mon, 30 May 2011 01:25:48 +0000 (11:25 +1000)]
Merge remote-tracking branch 'input-current/for-linus'

14 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Mon, 30 May 2011 01:25:42 +0000 (11:25 +1000)]
Merge remote-tracking branch 'pci-current/for-linus'

14 years agoMerge remote-tracking branch 'sparc-current/master'
Stephen Rothwell [Mon, 30 May 2011 01:25:37 +0000 (11:25 +1000)]
Merge remote-tracking branch 'sparc-current/master'

Conflicts:
arch/sparc/include/asm/smp_32.h
arch/sparc/kernel/smp_32.c

14 years agoparam: fix return value handling in param_set_*
Rusty Russell [Thu, 26 May 2011 23:38:04 +0000 (19:38 -0400)]
param: fix return value handling in param_set_*

In STANDARD_PARAM_DEF, param_set_* handles the case in which strtolfn
returns -EINVAL but it may return -ERANGE. If it returns -ERANGE,
param_set_* may set uninitialized value to the paramerter. We should handle
both cases.

The one of the cases in which strtolfn() returns -ERANGE is following:

 *Type of module parameter is long
 *Set the parameter more than LONG_MAX

Signed-off-by: Satoru Moriya <satoru.moriya@hds.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovirtio_net: delay TX callbacks
Michael S. Tsirkin [Thu, 19 May 2011 23:11:23 +0000 (02:11 +0300)]
virtio_net: delay TX callbacks

Ask for delayed callbacks on TX ring full, to give the
other side more of a chance to make progress.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovirtio: add api for delayed callbacks
Michael S. Tsirkin [Thu, 19 May 2011 23:11:14 +0000 (02:11 +0300)]
virtio: add api for delayed callbacks

Add an API that tells the other side that callbacks
should be delayed until a lot of work has been done.
Implement using the new event_idx feature.

Note: it might seem advantageous to let the drivers
ask for a callback after a specific capacity has
been reached. However, as a single head can
free many entries in the descriptor table,
we don't really have a clue about capacity
until get_buf is called. The API is the simplest
to implement at the moment, we'll see what kind of
hints drivers can pass when there's more than one
user of the feature.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovirtio_test: support event index
Michael S. Tsirkin [Thu, 19 May 2011 23:11:05 +0000 (02:11 +0300)]
virtio_test: support event index

Add ability to test the new event idx feature,
enable by default.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovhost: support event index
Michael S. Tsirkin [Thu, 19 May 2011 23:10:54 +0000 (02:10 +0300)]
vhost: support event index

Support the new event index feature. When acked,
utilize it to reduce the # of interrupts sent to the guest.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovirtio_ring: support event idx feature
Michael S. Tsirkin [Thu, 19 May 2011 23:10:44 +0000 (02:10 +0300)]
virtio_ring: support event idx feature

Support for the new event idx feature:
1. When enabling interrupts, publish the current avail index
   value to the host to get interrupts on the next update.
2. Use the new avail_event feature to reduce the number
   of exits from the guest.

Simple test with the simulator:

[virtio]# time ./virtio_test
spurious wakeus: 0x7

real    0m0.169s
user    0m0.140s
sys     0m0.019s
[virtio]# time ./virtio_test --no-event-idx
spurious wakeus: 0x11

real    0m0.649s
user    0m0.295s
sys     0m0.335s

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovirtio ring: inline function to check for events
Michael S. Tsirkin [Thu, 19 May 2011 23:10:27 +0000 (02:10 +0300)]
virtio ring: inline function to check for events

With the new used_event and avail_event and features, both
host and guest need similar logic to check whether events are
enabled, so it helps to put the common code in the header.

Note that Xen has similar logic for notification hold-off
in include/xen/interface/io/ring.h with req_event and req_prod
corresponding to event_idx + 1 and new_idx respectively.
+1 comes from the fact that req_event and req_prod in Xen start at 1,
while event index in virtio starts at 0.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovirtio: event index interface
Michael S. Tsirkin [Thu, 19 May 2011 23:10:17 +0000 (02:10 +0300)]
virtio: event index interface

Define a new feature bit for the guest and host to utilize
an event index (like Xen) instead if a flag bit to enable/disable
interrupts and kicks.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovirtio-license-clarification
Rusty Russell [Mon, 30 May 2011 01:23:21 +0000 (11:23 +1000)]
virtio-license-clarification

It's unclear to me if it's important, but it's obviously causing my
technical colleages some headaches and I'd hate such imprecision to
slow virtio adoption.

I've emailed this to all non-trivial contributors for approval, too.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Ryan Harper <ryanh@us.ibm.com>
Acked-by: Anthony Liguori <aliguori@us.ibm.com>
Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
Acked-by: john cooper <john.cooper@redhat.com>
Acked-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
14 years agovirtio balloon: kill tell-host-first logic
Dave Hansen [Thu, 7 Apr 2011 17:43:25 +0000 (10:43 -0700)]
virtio balloon: kill tell-host-first logic

The virtio balloon driver has a VIRTIO_BALLOON_F_MUST_TELL_HOST
feature bit.  Whenever the bit is set, the guest kernel must
always tell the host before we free pages back to the allocator.
Without this feature, we might free a page (and have another
user touch it) while the hypervisor is unprepared for it.

But, if the bit is _not_ set, we are under no obligation to
reverse the order; we're under no obligation to do _anything_.
As of now, qemu-kvm defines the bit, but doesn't set it.

This patch makes the "tell host first" logic the only case.  This
should make everybody happy, and reduce the amount of untested or
untestable code in the kernel.

This _also_ means that we don't have to preserve a pfn list
after the pages are freed, which should let us get rid of some
temporary storage (vb->pfns) eventually.

Signed-off-by: Dave Hansen <dave@linux.vnet.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovirtio_console-dont-manually-set-features
Rusty Russell [Mon, 30 May 2011 01:23:21 +0000 (11:23 +1000)]
virtio_console-dont-manually-set-features

virtio console: don't manually set or finalize VIRTIO_CONSOLE_F_MULTIPORT.

That's already been done by the virtio infrastructure before the probe
function is called.

Reported-by: alexey.kardashevskiy@au1.ibm.com
Acked-by: Amit Shah <amit.shah@redhat.com>
Tested-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agodrivers, block: virtio_blk: Replace cryptic number with the macro
Liu Yuan [Sat, 23 Apr 2011 18:49:26 +0000 (02:49 +0800)]
drivers, block: virtio_blk: Replace cryptic number with the macro

It is easier to figure out the context by reading SCSI_SENSE_BUFFERSIZE
instead of plain '96'.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agovirtio_blk: allow re-reading config space at runtime
Christoph Hellwig [Tue, 1 Feb 2011 20:43:48 +0000 (21:43 +0100)]
virtio_blk: allow re-reading config space at runtime

Wire up the virtio_driver config_changed method to get notified about
config changes raised by the host.  For now we just re-read the device
size to support online resizing of devices, but once we add more
attributes that might be changeable they could be added as well.

Note that the config_changed method is called from irq context, so
we'll have to use the workqueue infrastructure to provide us a proper
user context for our changes.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agolguest-remove-notify-on-empty
Rusty Russell [Mon, 30 May 2011 01:23:20 +0000 (11:23 +1000)]
lguest-remove-notify-on-empty

No virtio device does this any more, so no need to clutter lguest with it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agolguest-launcher-move-fix
Rusty Russell [Mon, 30 May 2011 01:23:20 +0000 (11:23 +1000)]
lguest-launcher-move-fix

ed16648eb5b86917f0b90bdcdbc857202da72f90 "Move kvm, uml, and lguest
subdirectories" broke the lguest example launcher.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
14 years agolguest-fix-timer-setup-WARN_ON
Rusty Russell [Mon, 30 May 2011 01:23:20 +0000 (11:23 +1000)]
lguest-fix-timer-setup-WARN_ON

Without an IRQ chip set, we now get a WARN_ON and no timer interrupt.  This
prevents booting.

Fortunately, the fix is a one-liner: set up the timer IRQ like everything
else.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: stable@kernel.org # .39.x
14 years agohwmon: New driver sch5636
Hans de Goede [Mon, 30 May 2011 01:23:05 +0000 (11:23 +1000)]
hwmon: New driver sch5636

This patch adds a new driver for SMSC SCH5636 Super I/O chips.
The chips include an embedded microcontroller for hardware monitoring
solutions, allowing motherboard manufacturers to create their own
custom hwmon solution based upon the SCH5636.

Currently the sch5636 driver only supports the Fujitsu Theseus SCH5636
based hwmon solution. The sch5636 driver runs a sanity check on
loading to ensure it is dealing with a Fujitsu Theseus and not with
another custom SCH5636 based hwmon solution.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
14 years agohwmon: Use <> rather than () around my e-mail address
Hans de Goede [Mon, 30 May 2011 01:23:05 +0000 (11:23 +1000)]
hwmon: Use <> rather than () around my e-mail address

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
14 years agohwmon (sch5627): Factor out some code shared with sch5636 driver
Hans de Goede [Mon, 30 May 2011 01:23:04 +0000 (11:23 +1000)]
hwmon (sch5627): Factor out some code shared with sch5636 driver

This patch adds a new sch56xx-common.ko which contains code which will also
be used in the new sch5636 driver.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
14 years agohwmon: (emc6w201) Properly handle all errors
Jean Delvare [Mon, 30 May 2011 01:23:04 +0000 (11:23 +1000)]
hwmon: (emc6w201) Properly handle all errors

Handle errors on 8-bit register reads and writes too. Also use likely
and unlikely to make the functions faster on success.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
14 years agoLinux 3.0-rc1 v3.0-rc1
Linus Torvalds [Mon, 30 May 2011 00:43:36 +0000 (17:43 -0700)]
Linux 3.0-rc1

.. except there are various scripts that really know that there are
three numbers, so it calls itself "3.0.0-rc1".

Hopefully by the time the final 3.0 is out, we'll have that extra zero
all figured out.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agointel-iommu: Add domain check in domain_remove_one_dev_info
Mike Habeck [Sat, 28 May 2011 18:15:07 +0000 (13:15 -0500)]
intel-iommu: Add domain check in domain_remove_one_dev_info

The comment in domain_remove_one_dev_info() states "No need to compare
PCI domain; it has to be the same". But for the si_domain that isn't
going to be true, as it consists of all the PCI devices that are
identity mapped thus multiple PCI domains can be in si_domain.  The
code needs to validate the PCI domain too.

Signed-off-by: Mike Habeck <habeck@sgi.com>
Signed-off-by: Mike Travis <travis@sgi.com>
Cc: stable@kernel.org
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
14 years agointel-iommu: Remove Host Bridge devices from identity mapping
Mike Travis [Sat, 28 May 2011 18:15:06 +0000 (13:15 -0500)]
intel-iommu: Remove Host Bridge devices from identity mapping

When using the 1:1 (identity) PCI DMA remapping, PCI Host Bridge devices
that do not use the IOMMU causes a kernel panic.  Fix that by not
inserting those devices into the si_domain.

Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Mike Habeck <habeck@sgi.com>
Cc: stable@kernel.org
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
14 years agointel-iommu: Use coherent DMA mask when requested
Mike Travis [Sat, 28 May 2011 18:15:05 +0000 (13:15 -0500)]
intel-iommu: Use coherent DMA mask when requested

The __intel_map_single function is not honoring the passed in DMA mask.
This results in not using the coherent DMA mask when called from
intel_alloc_coherent().

Signed-off-by: Mike Travis <travis@sgi.com>
Acked-by: Chris Wright <chrisw@sous-sol.org>
Reviewed-by: Mike Habeck <habeck@sgi.com>
Cc: stable@kernel.org
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
14 years agointel-iommu: Dont cache iova above 32bit
Chris Wright [Sat, 28 May 2011 18:15:04 +0000 (13:15 -0500)]
intel-iommu: Dont cache iova above 32bit

Mike Travis and Mike Habeck reported an issue where iova allocation
would return a range that was larger than a device's dma mask.

https://lkml.org/lkml/2011/3/29/423

The dmar initialization code will reserve all PCI MMIO regions and copy
those reservations into a domain specific iova tree.  It is possible for
one of those regions to be above the dma mask of a device.  It is typical
to allocate iovas with a 32bit mask (despite device's dma mask possibly
being larger) and cache the result until it exhausts the lower 32bit
address space.  Freeing the iova range that is >= the last iova in the
lower 32bit range when there is still an iova above the 32bit range will
corrupt the cached iova by pointing it to a region that is above 32bit.
If that region is also larger than the device's dma mask, a subsequent
allocation will return an unusable iova and cause dma failure.

Simply don't cache an iova that is above the 32bit caching boundary.

Reported-by: Mike Travis <travis@sgi.com>
Reported-by: Mike Habeck <habeck@sgi.com>
Cc: stable@kernel.org
Acked-by: Mike Travis <travis@sgi.com>
Tested-by: Mike Habeck <habeck@sgi.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
14 years agointel-iommu: Speed up processing of the identity_mapping function
Mike Travis [Sat, 28 May 2011 18:15:03 +0000 (13:15 -0500)]
intel-iommu: Speed up processing of the identity_mapping function

When there are a large count of PCI devices, and the pass through
option for iommu is set, much time is spent in the identity_mapping
function hunting though the iommu domains to check if a specific
device is "identity mapped".

Speed up the function by checking the cached info to see if
it's mapped to the static identity domain.

Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Mike Habeck <habeck@sgi.com>
Cc: stable@kernel.org
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
14 years agointel-iommu: Check for identity mapping candidate using system dma mask
Chris Wright [Sat, 28 May 2011 18:15:02 +0000 (13:15 -0500)]
intel-iommu: Check for identity mapping candidate using system dma mask

The identity mapping code appears to make the assumption that if the
devices dma_mask is greater than 32bits the device can use identity
mapping.  But that is not true: take the case where we have a 40bit
device in a 44bit architecture. The device can potentially receive a
physical address that it will truncate and cause incorrect addresses
to be used.

Instead check to see if the device's dma_mask is large enough
to address the system's dma_mask.

Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Mike Habeck <habeck@sgi.com>
Cc: stable@kernel.org
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
14 years agointel-iommu: Only unlink device domains from iommu
Alex Williamson [Tue, 24 May 2011 16:19:04 +0000 (12:19 -0400)]
intel-iommu: Only unlink device domains from iommu

Commit a97590e5 added unlinking domains from iommus to reciprocate the
iommu from domains unlinking that was already done.  We actually want
to only do this for device domains and never for the static
identity map domain or VM domains.  The SI domain is special and
never freed, while VM domain->id lives in their own special address
space, separate from iommu->domain_ids.

In the current code, a VM can get domain->id zero, then mark that
domain unused when unbound from pci-stub.  This leads to DMAR
write faults when the device is re-bound to the host driver.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Cc: stable@kernel.org
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs...
Linus Torvalds [Sun, 29 May 2011 21:13:25 +0000 (14:13 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ecryptfs/ecryptfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
  eCryptfs: Remove ecryptfs_header_cache_2
  eCryptfs: Cleanup and optimize ecryptfs_lookup_interpose()
  eCryptfs: Return useful code from contains_ecryptfs_marker
  eCryptfs: Fix new inode race condition
  eCryptfs: Cleanup inode initialization code
  eCryptfs: Consolidate inode functions into inode.c

14 years agoMerge branch 'pnfs-submit' of git://git.open-osd.org/linux-open-osd
Linus Torvalds [Sun, 29 May 2011 21:10:13 +0000 (14:10 -0700)]
Merge branch 'pnfs-submit' of git://git.open-osd.org/linux-open-osd

* 'pnfs-submit' of git://git.open-osd.org/linux-open-osd: (32 commits)
  pnfs-obj: pg_test check for max_io_size
  NFSv4.1: define nfs_generic_pg_test
  NFSv4.1: use pnfs_generic_pg_test directly by layout driver
  NFSv4.1: change pg_test return type to bool
  NFSv4.1: unify pnfs_pageio_init functions
  pnfs-obj: objlayout_encode_layoutcommit implementation
  pnfs: encode_layoutcommit
  pnfs-obj: report errors and .encode_layoutreturn Implementation.
  pnfs: encode_layoutreturn
  pnfs: layoutret_on_setattr
  pnfs: layoutreturn
  pnfs-obj: osd raid engine read/write implementation
  pnfs: support for non-rpc layout drivers
  pnfs-obj: define per-inode private structure
  pnfs: alloc and free layout_hdr layoutdriver methods
  pnfs-obj: objio_osd device information retrieval and caching
  pnfs-obj: decode layout, alloc/free lseg
  pnfs-obj: pnfs_osd XDR client implementation
  pnfs-obj: pnfs_osd XDR definitions
  pnfs-obj: objlayoutdriver module skeleton
  ...

14 years agoarm gpio drivers: make them 'depends on ARM'
Linus Torvalds [Sun, 29 May 2011 21:06:42 +0000 (14:06 -0700)]
arm gpio drivers: make them 'depends on ARM'

We had a few drivers move from arch/arm into drivers/gpio, but they
don't actually compile without the ARM platform headers etc.  As a
result they were messing up allyesconfig on x86.

Make them depend on ARM.

Reported-by: Ingo Molnar <mingo@elte.hu>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agoeCryptfs: Remove ecryptfs_header_cache_2
Tyler Hicks [Tue, 24 May 2011 10:11:12 +0000 (05:11 -0500)]
eCryptfs: Remove ecryptfs_header_cache_2

Now that ecryptfs_lookup_interpose() is no longer using
ecryptfs_header_cache_2 to read in metadata, the kmem_cache can be
removed and the ecryptfs_header_cache_1 kmem_cache can be renamed to
ecryptfs_header_cache.

Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
14 years agoeCryptfs: Cleanup and optimize ecryptfs_lookup_interpose()
Tyler Hicks [Tue, 24 May 2011 09:56:23 +0000 (04:56 -0500)]
eCryptfs: Cleanup and optimize ecryptfs_lookup_interpose()

ecryptfs_lookup_interpose() has turned into spaghetti code over the
years. This is an effort to clean it up.

 - Shorten overly descriptive variable names such as ecryptfs_dentry
 - Simplify gotos and error paths
 - Create helper function for reading plaintext i_size from metadata

It also includes an optimization when reading i_size from the metadata.
A complete page-sized kmem_cache_alloc() was being done to read in 16
bytes of metadata. The buffer for that is now statically declared.

Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
14 years agoeCryptfs: Return useful code from contains_ecryptfs_marker
Tyler Hicks [Mon, 2 May 2011 05:39:54 +0000 (00:39 -0500)]
eCryptfs: Return useful code from contains_ecryptfs_marker

Instead of having the calling functions translate the true/false return
code to either 0 or -EINVAL, have contains_ecryptfs_marker() return 0 or
-EINVAL so that the calling functions can just reuse the return code.

Also, rename the function to ecryptfs_validate_marker() to avoid callers
mistakenly thinking that it returns true/false codes.

Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
14 years agoeCryptfs: Fix new inode race condition
Tyler Hicks [Tue, 24 May 2011 08:49:02 +0000 (03:49 -0500)]
eCryptfs: Fix new inode race condition

Only unlock and d_add() new inodes after the plaintext inode size has
been read from the lower filesystem. This fixes a race condition that
was sometimes seen during a multi-job kernel build in an eCryptfs mount.

https://bugzilla.kernel.org/show_bug.cgi?id=36002

Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Reported-by: David <david@unsolicited.net>
Tested-by: David <david@unsolicited.net>
14 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platf...
Linus Torvalds [Sun, 29 May 2011 18:44:33 +0000 (11:44 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/mjg59/platform-drivers-x86

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (43 commits)
  acer-wmi: support integer return type from WMI methods
  msi-laptop: fix section mismatch in reference from the function load_scm_model_init
  acer-wmi: support to set communication device state by new wmid method
  acer-wmi: allow 64-bits return buffer from WMI methods
  acer-wmi: check the existence of internal 3G device when set capability
  platform/x86:delete two unused variables
  support wlan hotkey on Acer Travelmate 5735Z
  platform-x86: intel_mid_thermal: Fix memory leak
  platform/x86: Fix Makefile for intel_mid_powerbtn
  platform/x86: Simplify intel_mid_powerbtn
  acer-wmi: Delete out-of-date documentation
  acerhdf: Clean up includes
  acerhdf: Drop pointless dependency on THERMAL_HWMON
  acer-wmi: Update MAINTAINERS
  wmi: Orphan ACPI-WMI driver
  tc1100-wmi: Orphan driver
  acer-wmi: does not allow negative number set to initial device state
  platform/oaktrail: ACPI EC Extra driver for Oaktrail
  thinkpad_acpi: Convert printks to pr_<level>
  thinkpad_acpi: Correct !CONFIG_THINKPAD_ACPI_VIDEO warning
  ...

14 years agomm: Fix boot crash in mm_alloc()
Linus Torvalds [Sun, 29 May 2011 18:32:28 +0000 (11:32 -0700)]
mm: Fix boot crash in mm_alloc()

Thomas Gleixner reports that we now have a boot crash triggered by
CONFIG_CPUMASK_OFFSTACK=y:

    BUG: unable to handle kernel NULL pointer dereference at   (null)
    IP: [<c11ae035>] find_next_bit+0x55/0xb0
    Call Trace:
     [<c11addda>] cpumask_any_but+0x2a/0x70
     [<c102396b>] flush_tlb_mm+0x2b/0x80
     [<c1022705>] pud_populate+0x35/0x50
     [<c10227ba>] pgd_alloc+0x9a/0xf0
     [<c103a3fc>] mm_init+0xec/0x120
     [<c103a7a3>] mm_alloc+0x53/0xd0

which was introduced by commit de03c72cfce5 ("mm: convert
mm->cpu_vm_cpumask into cpumask_var_t"), and is due to wrong ordering of
mm_init() vs mm_init_cpumask

Thomas wrote a patch to just fix the ordering of initialization, but I
hate the new double allocation in the fork path, so I ended up instead
doing some more radical surgery to clean it all up.

Reported-by: Thomas Gleixner <tglx@linutronix.de>
Reported-by: Ingo Molnar <mingo@elte.hu>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agoMerge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Sun, 29 May 2011 18:30:20 +0000 (11:30 -0700)]
Merge branch 'for-linus' of git://git390.marist.edu/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] mm: fix mmu_gather rework
  [S390] mm: fix storage key handling

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Linus Torvalds [Sun, 29 May 2011 18:29:28 +0000 (11:29 -0700)]
Merge git://git./linux/kernel/git/cmetcalf/linux-tile

* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
  arch/tile: more /proc and /sys file support

14 years agoMerge branch 'x86-platform-next' into x86-platform
Matthew Garrett [Sun, 29 May 2011 18:27:13 +0000 (14:27 -0400)]
Merge branch 'x86-platform-next' into x86-platform

14 years agoMerge branch 'for-2.6.40' of git://linux-nfs.org/~bfields/linux
Linus Torvalds [Sun, 29 May 2011 18:21:12 +0000 (11:21 -0700)]
Merge branch 'for-2.6.40' of git://linux-nfs.org/~bfields/linux

* 'for-2.6.40' of git://linux-nfs.org/~bfields/linux: (22 commits)
  nfsd: make local functions static
  NFSD: Remove unused variable from nfsd4_decode_bind_conn_to_session()
  NFSD: Check status from nfsd4_map_bcts_dir()
  NFSD: Remove setting unused variable in nfsd_vfs_read()
  nfsd41: error out on repeated RECLAIM_COMPLETE
  nfsd41: compare request's opcnt with session's maxops at nfsd4_sequence
  nfsd v4.1 lOCKT clientid field must be ignored
  nfsd41: add flag checking for create_session
  nfsd41: make sure nfs server process OPEN with EXCLUSIVE4_1 correctly
  nfsd4: fix wrongsec handling for PUTFH + op cases
  nfsd4: make fh_verify responsibility of nfsd_lookup_dentry caller
  nfsd4: introduce OPDESC helper
  nfsd4: allow fh_verify caller to skip pseudoflavor checks
  nfsd: distinguish functions of NFSD_MAY_* flags
  svcrpc: complete svsk processing on cb receive failure
  svcrpc: take advantage of tcp autotuning
  SUNRPC: Don't wait for full record to receive tcp data
  svcrpc: copy cb reply instead of pages
  svcrpc: close connection if client sends short packet
  svcrpc: note network-order types in svc_process_calldir
  ...

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm
Linus Torvalds [Sun, 29 May 2011 18:20:48 +0000 (11:20 -0700)]
Merge git://git./linux/kernel/git/agk/linux-2.6-dm

* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
  dm kcopyd: return client directly and not through a pointer
  dm kcopyd: reserve fewer pages
  dm io: use fixed initial mempool size
  dm kcopyd: alloc pages from the main page allocator
  dm kcopyd: add gfp parm to alloc_pl
  dm kcopyd: remove superfluous page allocation spinlock
  dm kcopyd: preallocate sub jobs to avoid deadlock
  dm kcopyd: avoid pointless job splitting
  dm mpath: do not fail paths after integrity errors
  dm table: reject devices without request fns
  dm table: allow targets to support discards internally

14 years agoMerge branch 'nfs-for-2.6.40' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
Linus Torvalds [Sun, 29 May 2011 18:20:02 +0000 (11:20 -0700)]
Merge branch 'nfs-for-2.6.40' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6

* 'nfs-for-2.6.40' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
  SUNRPC: Support for RPC over AF_LOCAL transports
  SUNRPC: Remove obsolete comment
  SUNRPC: Use AF_LOCAL for rpcbind upcalls
  SUNRPC: Clean up use of curly braces in switch cases
  NFS: Revert NFSROOT default mount options
  SUNRPC: Rename xs_encode_tcp_fragment_header()
  nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu()
  nfs41: Correct offset for LAYOUTCOMMIT
  NFS: nfs_update_inode: print current and new inode size in debug output
  NFSv4.1: Fix the handling of NFS4ERR_SEQ_MISORDERED errors
  NFSv4: Handle expired stateids when the lease is still valid
  SUNRPC: Deal with the lack of a SYN_SENT sk->sk_state_change callback...

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
Linus Torvalds [Sun, 29 May 2011 18:19:45 +0000 (11:19 -0700)]
Merge git://git./linux/kernel/git/pkl/squashfs-linus

* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:
  Squashfs: Fix sanity check patches on big-endian systems

14 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Sun, 29 May 2011 18:19:16 +0000 (11:19 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
  ACPI EC: remove redundant code
  ACPI: Add D3 cold state
  ACPI: processor: fix processor_physically_present in UP kernel
  ACPI: Split out custom_method functionality into an own driver
  ACPI: Cleanup custom_method debug stuff
  ACPI EC: enable MSI workaround for Quanta laptops
  ACPICA: Update to version 20110413
  ACPICA: Execute an orphan _REG method under the EC device
  ACPICA: Move ACPI_NUM_PREDEFINED_REGIONS to a more appropriate place
  ACPICA: Update internal address SpaceID for DataTable regions
  ACPICA: Add more methods eligible for NULL package element removal
  ACPICA: Split all internal Global Lock functions to new file - evglock
  ACPI: EC: add another DMI check for ASUS hardware
  ACPI EC: remove dead code
  ACPICA: Fix code divergence of global lock handling
  ACPICA: Use acpi_os_create_lock interface
  ACPI: osl, add acpi_os_create_lock interface
  ACPI:Fix goto flows in thermal-sys

14 years agoMerge branch 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb...
Linus Torvalds [Sun, 29 May 2011 18:18:09 +0000 (11:18 -0700)]
Merge branch 'idle-release' of git://git./linux/kernel/git/lenb/linux-idle-2.6

* 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
  x86 idle: deprecate mwait_idle() and "idle=mwait" cmdline param
  x86 idle: deprecate "no-hlt" cmdline param
  x86 idle APM: deprecate CONFIG_APM_CPU_IDLE
  x86 idle floppy: deprecate disable_hlt()
  x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM demands it
  x86 idle: clarify AMD erratum 400 workaround
  idle governor: Avoid lock acquisition to read pm_qos before entering idle
  cpuidle: menu: fixed wrapping timers at 4.294 seconds

14 years agocifs/ubifs: Fix shrinker API change fallout
Al Viro [Sun, 29 May 2011 12:46:08 +0000 (13:46 +0100)]
cifs/ubifs: Fix shrinker API change fallout

Commit 1495f230fa77 ("vmscan: change shrinker API by passing
shrink_control struct") changed the API of ->shrink(), but missed ubifs
and cifs instances.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>