]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
12 years agoMerge remote-tracking branch 'omap_dss2/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:36:03 +0000 (12:36 +1000)]
Merge remote-tracking branch 'omap_dss2/for-next'

12 years agoMerge remote-tracking branch 'fbdev/fbdev-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:34:28 +0000 (12:34 +1000)]
Merge remote-tracking branch 'fbdev/fbdev-next'

12 years agoMerge remote-tracking branch 'battery/master'
Stephen Rothwell [Wed, 19 Sep 2012 02:32:50 +0000 (12:32 +1000)]
Merge remote-tracking branch 'battery/master'

12 years agoMerge remote-tracking branch 'mfd/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:25:47 +0000 (12:25 +1000)]
Merge remote-tracking branch 'mfd/for-next'

Conflicts:
Documentation/devicetree/bindings/regulator/tps6586x.txt
drivers/mfd/88pm860x-core.c
drivers/mfd/tc3589x.c
drivers/regulator/anatop-regulator.c

12 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:24:09 +0000 (12:24 +1000)]
Merge remote-tracking branch 'md/for-next'

12 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:22:34 +0000 (12:22 +1000)]
Merge remote-tracking branch 'slab/for-next'

12 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:20:55 +0000 (12:20 +1000)]
Merge remote-tracking branch 'kgdb/kgdb-next'

12 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:19:18 +0000 (12:19 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'

12 years agoMerge branch 'quilt/device-mapper'
Stephen Rothwell [Wed, 19 Sep 2012 02:17:36 +0000 (12:17 +1000)]
Merge branch 'quilt/device-mapper'

12 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:11:08 +0000 (12:11 +1000)]
Merge remote-tracking branch 'block/for-next'

12 years agoMerge remote-tracking branch 'cgroup/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:06:54 +0000 (12:06 +1000)]
Merge remote-tracking branch 'cgroup/for-next'

12 years agoMerge remote-tracking branch 'input-mt/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 02:05:01 +0000 (12:05 +1000)]
Merge remote-tracking branch 'input-mt/for-next'

12 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Wed, 19 Sep 2012 02:03:22 +0000 (12:03 +1000)]
Merge remote-tracking branch 'input/next'

12 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Wed, 19 Sep 2012 01:57:26 +0000 (11:57 +1000)]
Merge branch 'quilt/rr'

Conflicts:
arch/alpha/Kconfig
arch/mips/kernel/module.c
arch/s390/Kconfig
arch/xtensa/Kconfig

12 years agoMerge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:55:43 +0000 (11:55 +1000)]
Merge remote-tracking branch 'sound-asoc/for-next'

Conflicts:
arch/arm/mach-imx/mach-imx27_visstrim_m10.c

12 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:53:49 +0000 (11:53 +1000)]
Merge remote-tracking branch 'sound/for-next'

12 years agoMerge remote-tracking branch 'drm/drm-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:52:08 +0000 (11:52 +1000)]
Merge remote-tracking branch 'drm/drm-next'

Conflicts:
drivers/gpu/drm/i915/i915_dma.c

12 years agoMerge remote-tracking branch 'crypto/master'
Stephen Rothwell [Wed, 19 Sep 2012 01:50:25 +0000 (11:50 +1000)]
Merge remote-tracking branch 'crypto/master'

Conflicts:
crypto/Kconfig

12 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Wed, 19 Sep 2012 01:48:45 +0000 (11:48 +1000)]
Merge remote-tracking branch 'l2-mtd/master'

12 years agoMerge remote-tracking branch 'mtd/master'
Stephen Rothwell [Wed, 19 Sep 2012 01:47:13 +0000 (11:47 +1000)]
Merge remote-tracking branch 'mtd/master'

12 years agoMerge commit 'refs/next/20120918/bluetooth'
Stephen Rothwell [Wed, 19 Sep 2012 01:44:46 +0000 (11:44 +1000)]
Merge commit 'refs/next/20120918/bluetooth'

12 years agoMerge remote-tracking branch 'net-next/master'
Stephen Rothwell [Wed, 19 Sep 2012 01:29:00 +0000 (11:29 +1000)]
Merge remote-tracking branch 'net-next/master'

Conflicts:
net/ipv4/fib_frontend.c
net/ipv4/route.c
net/socket.c

12 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Wed, 19 Sep 2012 01:17:33 +0000 (11:17 +1000)]
Merge remote-tracking branch 'slave-dma/next'

12 years agoMerge remote-tracking branch 'target-updates/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:15:48 +0000 (11:15 +1000)]
Merge remote-tracking branch 'target-updates/for-next'

12 years agoMerge remote-tracking branch 'scsi/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:13:47 +0000 (11:13 +1000)]
Merge remote-tracking branch 'scsi/for-next'

Conflicts:
drivers/scsi/ipr.c
drivers/scsi/qla2xxx/qla_nx.c

12 years agoMerge remote-tracking branch 'dlm/next'
Stephen Rothwell [Wed, 19 Sep 2012 01:12:11 +0000 (11:12 +1000)]
Merge remote-tracking branch 'dlm/next'

12 years agoMerge remote-tracking branch 'ubi/linux-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:10:35 +0000 (11:10 +1000)]
Merge remote-tracking branch 'ubi/linux-next'

12 years agoMerge remote-tracking branch 'thermal/next'
Stephen Rothwell [Wed, 19 Sep 2012 01:09:02 +0000 (11:09 +1000)]
Merge remote-tracking branch 'thermal/next'

12 years agoMerge remote-tracking branch 'cpuidle/cpuidle-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:08:55 +0000 (11:08 +1000)]
Merge remote-tracking branch 'cpuidle/cpuidle-next'

Conflicts:
drivers/cpuidle/coupled.c
include/linux/cpuidle.h

12 years agoMerge remote-tracking branch 'pstore/master'
Stephen Rothwell [Wed, 19 Sep 2012 01:07:14 +0000 (11:07 +1000)]
Merge remote-tracking branch 'pstore/master'

12 years agoMerge remote-tracking branch 'infiniband/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:05:41 +0000 (11:05 +1000)]
Merge remote-tracking branch 'infiniband/for-next'

12 years agoMerge remote-tracking branch 'libata/NEXT'
Stephen Rothwell [Wed, 19 Sep 2012 01:04:01 +0000 (11:04 +1000)]
Merge remote-tracking branch 'libata/NEXT'

12 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:02:29 +0000 (11:02 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

12 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 01:00:46 +0000 (11:00 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

12 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Wed, 19 Sep 2012 00:58:44 +0000 (10:58 +1000)]
Merge remote-tracking branch 'v4l-dvb/master'

Conflicts:
arch/arm/mach-imx/mach-imx27_visstrim_m10.c

12 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:57:15 +0000 (10:57 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

12 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Wed, 19 Sep 2012 00:55:50 +0000 (10:55 +1000)]
Merge branch 'quilt/jdelvare-hwmon'

12 years agoMerge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:54:23 +0000 (10:54 +1000)]
Merge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next'

12 years agoMerge branch 'quilt/i2c'
Stephen Rothwell [Wed, 19 Sep 2012 00:52:56 +0000 (10:52 +1000)]
Merge branch 'quilt/i2c'

12 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:51:30 +0000 (10:51 +1000)]
Merge remote-tracking branch 'hid/for-next'

12 years agoMerge remote-tracking branch 'mpc5xxx/next'
Stephen Rothwell [Wed, 19 Sep 2012 00:50:03 +0000 (10:50 +1000)]
Merge remote-tracking branch 'mpc5xxx/next'

12 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Wed, 19 Sep 2012 00:47:33 +0000 (10:47 +1000)]
Merge remote-tracking branch 'powerpc/next'

12 years agoMerge remote-tracking branch 'pci/next'
Stephen Rothwell [Wed, 19 Sep 2012 00:44:17 +0000 (10:44 +1000)]
Merge remote-tracking branch 'pci/next'

12 years agoMerge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:40:07 +0000 (10:40 +1000)]
Merge remote-tracking branch 'vfs/for-next'

12 years agoMerge remote-tracking branch 'xfs/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:38:33 +0000 (10:38 +1000)]
Merge remote-tracking branch 'xfs/for-next'

12 years agoMerge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:37:08 +0000 (10:37 +1000)]
Merge remote-tracking branch 'ubifs/linux-next'

12 years agoMerge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:35:40 +0000 (10:35 +1000)]
Merge remote-tracking branch 'v9fs/for-next'

12 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:34:07 +0000 (10:34 +1000)]
Merge remote-tracking branch 'ocfs2/linux-next'

12 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:32:40 +0000 (10:32 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'

12 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:31:15 +0000 (10:31 +1000)]
Merge remote-tracking branch 'nfs/linux-next'

12 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Wed, 19 Sep 2012 00:29:49 +0000 (10:29 +1000)]
Merge remote-tracking branch 'logfs/master'

12 years agoMerge remote-tracking branch 'jfs/jfs-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:28:26 +0000 (10:28 +1000)]
Merge remote-tracking branch 'jfs/jfs-next'

12 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Wed, 19 Sep 2012 00:27:02 +0000 (10:27 +1000)]
Merge remote-tracking branch 'gfs2/master'

Conflicts:
fs/gfs2/rgrp.c

12 years agoMerge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:25:25 +0000 (10:25 +1000)]
Merge remote-tracking branch 'fuse/for-next'

12 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Wed, 19 Sep 2012 00:23:57 +0000 (10:23 +1000)]
Merge remote-tracking branch 'ext4/dev'

12 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Wed, 19 Sep 2012 00:22:31 +0000 (10:22 +1000)]
Merge remote-tracking branch 'ext3/for_next'

12 years agoMerge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:20:58 +0000 (10:20 +1000)]
Merge remote-tracking branch 'cifs/for-next'

12 years agoMerge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Wed, 19 Sep 2012 00:19:35 +0000 (10:19 +1000)]
Merge remote-tracking branch 'xtensa/for_next'

12 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Wed, 19 Sep 2012 00:18:12 +0000 (10:18 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

12 years agoMerge remote-tracking branch 'sparc-next/master'
Stephen Rothwell [Wed, 19 Sep 2012 00:16:46 +0000 (10:16 +1000)]
Merge remote-tracking branch 'sparc-next/master'

12 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Wed, 19 Sep 2012 00:15:21 +0000 (10:15 +1000)]
Merge remote-tracking branch 'sh/sh-latest'

12 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Wed, 19 Sep 2012 00:10:16 +0000 (10:10 +1000)]
Merge remote-tracking branch 's390/features'

12 years agoMerge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Wed, 19 Sep 2012 00:08:52 +0000 (10:08 +1000)]
Merge remote-tracking branch 'openrisc/for-upstream'

12 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:07:27 +0000 (10:07 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

12 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:06:03 +0000 (10:06 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

12 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:04:40 +0000 (10:04 +1000)]
Merge remote-tracking branch 'm68k/for-next'

12 years agoMerge remote-tracking branch 'ia64/next'
Stephen Rothwell [Wed, 19 Sep 2012 00:03:18 +0000 (10:03 +1000)]
Merge remote-tracking branch 'ia64/next'

12 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Wed, 19 Sep 2012 00:01:53 +0000 (10:01 +1000)]
Merge remote-tracking branch 'cris/for-next'

12 years agoMerge remote-tracking branch 'arm64/upstream'
Stephen Rothwell [Tue, 18 Sep 2012 23:56:47 +0000 (09:56 +1000)]
Merge remote-tracking branch 'arm64/upstream'

12 years agoMerge remote-tracking branch 'arm-perf/for-next/perf'
Stephen Rothwell [Tue, 18 Sep 2012 23:55:18 +0000 (09:55 +1000)]
Merge remote-tracking branch 'arm-perf/for-next/perf'

Conflicts:
arch/arm/kernel/hw_breakpoint.c

12 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 18 Sep 2012 23:53:52 +0000 (09:53 +1000)]
Merge remote-tracking branch 'arm/for-next'

12 years agoMerge remote-tracking branch 'spi-current/spi/merge'
Stephen Rothwell [Tue, 18 Sep 2012 23:50:20 +0000 (09:50 +1000)]
Merge remote-tracking branch 'spi-current/spi/merge'

12 years agoMerge remote-tracking branch 'devicetree-current/devicetree/merge'
Stephen Rothwell [Tue, 18 Sep 2012 23:50:18 +0000 (09:50 +1000)]
Merge remote-tracking branch 'devicetree-current/devicetree/merge'

12 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Tue, 18 Sep 2012 23:50:05 +0000 (09:50 +1000)]
Merge remote-tracking branch 'net/master'

12 years agoMerge remote-tracking branch 'm68k-current/for-linus'
Stephen Rothwell [Tue, 18 Sep 2012 23:50:04 +0000 (09:50 +1000)]
Merge remote-tracking branch 'm68k-current/for-linus'

12 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Tue, 18 Sep 2012 23:50:03 +0000 (09:50 +1000)]
Merge remote-tracking branch 'arm-current/fixes'

12 years agoUse the recently-added bio front_pad field to allocate struct dm_target_io.
Mikulas Patocka [Tue, 18 Sep 2012 23:38:21 +0000 (09:38 +1000)]
Use the recently-added bio front_pad field to allocate struct dm_target_io.

Prior to this patch, dm_target_io was allocated from a mempool. For each
dm_target_io, there is exactly one bio allocated from a bioset.

This patch merges these two allocations into one allocation: we create a
bioset with front_pad equal to the size of dm_target_io so that every
bio allocated from the bioset has sizeof(struct dm_target_io) bytes
before it. We allocate a bio and use the bytes before the bio as
dm_target_io.

This idea was introduced by Kent Overstreet.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: Kent Overstreet <koverstreet@google.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: tj@kernel.org
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoUse the ACCESS_ONCE macro in dm-bufio and dm-verity where a variable
Mikulas Patocka [Tue, 18 Sep 2012 23:38:21 +0000 (09:38 +1000)]
Use the ACCESS_ONCE macro in dm-bufio and dm-verity where a variable
can be modified asynchronously (through sysfs) and we want to prevent
compiler optimizations that assume that the variable hasn't changed.
(See Documentation/atomic_ops.txt.)

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoUse list_move() instead of list_del() + list_add().
Wei Yongjun [Tue, 18 Sep 2012 23:38:21 +0000 (09:38 +1000)]
Use list_move() instead of list_del() + list_add().

spatch with a semantic match was used to find this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoThe discard limits that get established for a thin-pool or thin device
Mike Snitzer [Tue, 18 Sep 2012 23:38:20 +0000 (09:38 +1000)]
The discard limits that get established for a thin-pool or thin device
may be incompatible with the pool's data device.  Avoid this by checking
the discard limits of the pool's data device.  If an incompatibility is
found then the pool's 'discard passdown' feature is disabled.

Change thin_io_hints to ensure that a thin device always uses the same
queue limits as its pool device.

Introduce requested_pf to track whether or not the table line originally
contained the no_discard_passdown flag and use this directly for table
output.  We prepare the correct setting for discard_passdown directly in
bind_control_target (called from pool_io_hints) and store it in
adjusted_pf rather than waiting until we have access to pool->pf in
pool_preresume.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoA little thin discard code refactoring in preparation for the next
Mike Snitzer [Tue, 18 Sep 2012 23:38:20 +0000 (09:38 +1000)]
A little thin discard code refactoring in preparation for the next
patch. Use bools instead of unsigned for features.

No functional changes.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoThe dm thin pool target claims to support the zeroing of discarded
Mike Snitzer [Tue, 18 Sep 2012 23:38:20 +0000 (09:38 +1000)]
The dm thin pool target claims to support the zeroing of discarded
data areas.  This turns out to be incorrect when processing discards
that do not exactly cover a complete number of blocks, so the target
must always set discard_zeroes_data_unsupported.

The thin pool target will zero blocks when they are allocated if the
skip_block_zeroing feature is not specified.  The block layer
may send a discard that only partly covers a block.  If a thin pool
block is partially discarded then there is no guarantee that the
discarded data will get zeroed before it is accessed again.
Due to this, thin devices cannot claim discards will always zero data.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org # 3.4+
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoAlways clear QUEUE_FLAG_ADD_RANDOM if any underlying device does not
Milan Broz [Tue, 18 Sep 2012 23:38:20 +0000 (09:38 +1000)]
Always clear QUEUE_FLAG_ADD_RANDOM if any underlying device does not
have it set.

QUEUE_FLAG_ADD_RANDOM specifies whether or not queue IO timings
contribute to the random pool.

For bio-based targets this flag is always 0 because such devices have no
real queue.

For request-based devices this flag was always set to 1 by default.

Now set it according to the flags on underlying devices. If there is at
least one device which should not contribute, set the flag to zero: If a
device, such as fast SSD storage, is not suitable for supplying entropy,
a request-based queue stacked over it will not be either.

Because the checking logic is exactly same as for the rotational flag,
share the iteration function with device_is_nonrot().

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agodrivers/virtio/virtio_pci.c: fix error return code
Peter Senna Tschudin [Mon, 17 Sep 2012 17:31:17 +0000 (19:31 +0200)]
drivers/virtio/virtio_pci.c: fix error return code

Convert a nonnegative error return code to a negative one, as returned
elsewhere in the function.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
 { ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
    when != &ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}
// </smpl>

Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agomodule: wait when loading a module which is currently initializing.
Rusty Russell [Tue, 18 Sep 2012 23:38:14 +0000 (09:38 +1000)]
module: wait when loading a module which is currently initializing.

The original module-init-tools module loader used a fnctl lock on the
.ko file to avoid attempts to simultaneously load a module.
Unfortunately, you can't get an exclusive fcntl lock on a read-only
fd, making this not work for read-only mounted filesystems.
module-init-tools has a hacky sleep-and-loop for this now.

It's not that hard to wait in the kernel, and only return -EEXIST once
the first module has finished loading (or continue loading the module
if the first one failed to initialize for some reason).  It's also
consistent with what we do for dependent modules which are still loading.

Suggested-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agomodule: fix symbol waiting when module fails before init
Rusty Russell [Tue, 18 Sep 2012 23:38:13 +0000 (09:38 +1000)]
module: fix symbol waiting when module fails before init

We use resolve_symbol_wait(), which blocks if the module containing
the symbol is still loading.  However:

1) The module_wq we use is only woken after calling the modules' init
   function, but there are other failure paths after the module is
   placed in the linked list where we need to do the same thing.

2) wake_up() only wakes one waiter, and our waitqueue is shared by all
   modules, so we need to wake them all.

3) wake_up_all() doesn't imply a memory barrier: I feel happier calling
   it after we've grabbed and dropped the module_mutex, not just after
   the state assignment.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agoe1000: Small packets may get corrupted during padding by HW
Tushar Dave [Sat, 15 Sep 2012 10:16:57 +0000 (10:16 +0000)]
e1000: Small packets may get corrupted during padding by HW

On PCI/PCI-X HW, if packet size is less than ETH_ZLEN,
packets may get corrupted during padding by HW.
To WA this issue, pad all small packets manually.

Signed-off-by: Tushar Dave <tushar.n.dave@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocifs: fix return value in cifsConvertToUTF16
Jeff Layton [Tue, 18 Sep 2012 18:21:01 +0000 (14:21 -0400)]
cifs: fix return value in cifsConvertToUTF16

This function returns the wrong value, which causes the callers to get
the length of the resulting pathname wrong when it contains non-ASCII
characters.

This seems to fix https://bugzilla.samba.org/show_bug.cgi?id=6767

Cc: <stable@vger.kernel.org>
Reported-by: Baldvin Kovacs <baldvin.kovacs@gmail.com>
Reported-and-Tested-by: Nicolas Lefebvre <nico.lefebvre@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
12 years agoxfrm: fix a read lock imbalance in make_blackhole
Li RongQing [Mon, 17 Sep 2012 22:40:10 +0000 (22:40 +0000)]
xfrm: fix a read lock imbalance in make_blackhole

if xfrm_policy_get_afinfo returns 0, it has already released the read
lock, xfrm_policy_put_afinfo should not be called again.

Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotcp: fix regression in urgent data handling
Eric Dumazet [Mon, 17 Sep 2012 12:51:39 +0000 (12:51 +0000)]
tcp: fix regression in urgent data handling

Stephan Springl found that commit 1402d366019fed "tcp: introduce
tcp_try_coalesce" introduced a regression for rlogin

It turns out problem comes from TCP urgent data handling and
a change in behavior in input path.

rlogin sends two one-byte packets with URG ptr set, and when next data
frame is coalesced, we lack sk_data_ready() calls to wakeup consumer.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Stephan Springl <springl-k@lar.bfw.de>
Cc: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet: fix memory leak on oom with zerocopy
Michael S. Tsirkin [Sat, 15 Sep 2012 22:44:16 +0000 (22:44 +0000)]
net: fix memory leak on oom with zerocopy

If orphan flags fails, we don't free the skb
on receive, which leaks the skb memory.

Return value was also wrong: netif_receive_skb
is supposed to return NET_RX_DROP, not ENOMEM.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMerge branch 'clkdev' into fixes
Russell King [Tue, 18 Sep 2012 20:23:02 +0000 (21:23 +0100)]
Merge branch 'clkdev' into fixes

12 years agonetxen: check for root bus in netxen_mask_aer_correctable
Nikolay Aleksandrov [Fri, 14 Sep 2012 05:50:03 +0000 (05:50 +0000)]
netxen: check for root bus in netxen_mask_aer_correctable

Add a check if pdev->bus->self == NULL (root bus). When attaching
a netxen NIC to a VM it can be on the root bus and the guest would
crash in netxen_mask_aer_correctable() because of a NULL pointer
dereference if CONFIG_PCIEAER is present.

Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agohwmon: (lm70) Simplify show_name function
Guenter Roeck [Tue, 11 Sep 2012 20:34:29 +0000 (13:34 -0700)]
hwmon: (lm70) Simplify show_name function

Instead of using a switch statement to determine the device name, use
to_spi_device(dev)->modalias to simplify the code and reduce module size.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
12 years agohwmon: (adcxx) Simplify show_name function
Guenter Roeck [Tue, 11 Sep 2012 20:36:33 +0000 (13:36 -0700)]
hwmon: (adcxx) Simplify show_name function

Display device name using to_spi_device(dev)->modalias instead of computing it
from the number of ADC channels. This is cleaner and reduces code size.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
12 years agohwmon: Drop dependencies on EXPERIMENTAL
Guenter Roeck [Sat, 15 Sep 2012 14:59:15 +0000 (07:59 -0700)]
hwmon: Drop dependencies on EXPERIMENTAL

CONFIG_EXPERIMENTAL is expected to be removed, so drop dependencies on it.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Jean Delvare <khali@linux-fr.org>
12 years agohwmon: (it87) Fix Kconfig for IT87 driver
Guenter Roeck [Wed, 12 Sep 2012 16:48:14 +0000 (09:48 -0700)]
hwmon: (it87) Fix Kconfig for IT87 driver

Add missing reference to IT8782F and IT8783E/F to it87 driver description
in Kconfig. Replace wrong reference to Si960 with the correct Si950.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Jean Delvare <khali@linux-fr.org>
12 years agohwmon: (sht15) move header to linux/platform_data/
Vivien Didelot [Wed, 12 Sep 2012 16:23:44 +0000 (12:23 -0400)]
hwmon: (sht15) move header to linux/platform_data/

This patch moves the sht15.h header from include/linux to
include/linux/platform_data, and update existing support (stargate2
platform) accordingly.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
12 years agohwmon: (asus_atk0110) Remove useless kfree
Peter Senna Tschudin [Wed, 12 Sep 2012 15:06:42 +0000 (17:06 +0200)]
hwmon: (asus_atk0110) Remove useless kfree

The semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
position p1,p2;
expression x;
@@

if (x@p1 == NULL) { ... kfree@p2(x); ... return ...; }

@unchanged exists@
position r.p1,r.p2;
expression e <= r.x,x,e1;
iterator I;
statement S;
@@

if (x@p1 == NULL) { ... when != I(x,...) S
                        when != e = e1
                        when != e += e1
                        when != e -= e1
                        when != ++e
                        when != --e
                        when != e++
                        when != e--
                        when != &e
   kfree@p2(x); ... return ...; }

@ok depends on unchanged exists@
position any r.p1;
position r.p2;
expression x;
@@

... when != true x@p1 == NULL
kfree@p2(x);

@depends on !ok && unchanged@
position r.p2;
expression x;
@@

*kfree@p2(x);
// </smpl>

Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
12 years agohwmon: (ina2xx) Add support for INA220 and INA230
Guenter Roeck [Sat, 12 May 2012 18:33:11 +0000 (11:33 -0700)]
hwmon: (ina2xx) Add support for INA220 and INA230

INA220 is register compatible to INA219, and INA230 is register compatible to
INA226, so all we need to do is to add name aliases for those two chips.

Cc: Lothar Felten <l-felten@ti.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Jean Delvare <khali@linux-fr.org>