]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
10 years agoMerge remote-tracking branch 'fscache/fscache'
Stephen Rothwell [Tue, 29 Apr 2014 00:21:26 +0000 (10:21 +1000)]
Merge remote-tracking branch 'fscache/fscache'

10 years agoMerge remote-tracking branch 'f2fs/dev'
Stephen Rothwell [Tue, 29 Apr 2014 00:20:34 +0000 (10:20 +1000)]
Merge remote-tracking branch 'f2fs/dev'

10 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Tue, 29 Apr 2014 00:19:26 +0000 (10:19 +1000)]
Merge remote-tracking branch 'ext4/dev'

10 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Tue, 29 Apr 2014 00:18:30 +0000 (10:18 +1000)]
Merge remote-tracking branch 'ecryptfs/next'

10 years agoMerge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:17:35 +0000 (10:17 +1000)]
Merge remote-tracking branch 'cifs/for-next'

10 years agoMerge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Tue, 29 Apr 2014 00:16:39 +0000 (10:16 +1000)]
Merge remote-tracking branch 'xtensa/for_next'

10 years agoMerge remote-tracking branch 'uml/next'
Stephen Rothwell [Tue, 29 Apr 2014 00:15:42 +0000 (10:15 +1000)]
Merge remote-tracking branch 'uml/next'

Conflicts:
arch/um/include/asm/Kbuild

10 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Tue, 29 Apr 2014 00:14:16 +0000 (10:14 +1000)]
Merge remote-tracking branch 's390/features'

10 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:13:14 +0000 (10:13 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

10 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:12:18 +0000 (10:12 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

10 years agoMerge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:11:14 +0000 (10:11 +1000)]
Merge remote-tracking branch 'tegra/for-next'

10 years agoMerge remote-tracking branch 'samsung/for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:10:21 +0000 (10:10 +1000)]
Merge remote-tracking branch 'samsung/for-next'

10 years agoMerge remote-tracking branch 'renesas/next'
Stephen Rothwell [Tue, 29 Apr 2014 00:09:28 +0000 (10:09 +1000)]
Merge remote-tracking branch 'renesas/next'

10 years agoMerge remote-tracking branch 'mvebu/for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:08:23 +0000 (10:08 +1000)]
Merge remote-tracking branch 'mvebu/for-next'

Conflicts:
arch/arm/mach-mvebu/board-v7.c

10 years agoMerge remote-tracking branch 'keystone/next'
Stephen Rothwell [Tue, 29 Apr 2014 00:08:16 +0000 (10:08 +1000)]
Merge remote-tracking branch 'keystone/next'

10 years agoMerge remote-tracking branch 'imx-mxs/for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:07:15 +0000 (10:07 +1000)]
Merge remote-tracking branch 'imx-mxs/for-next'

10 years agoMerge remote-tracking branch 'ep93xx/ep93xx-for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:07:07 +0000 (10:07 +1000)]
Merge remote-tracking branch 'ep93xx/ep93xx-for-next'

10 years agoMerge remote-tracking branch 'berlin/berlin/for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:06:15 +0000 (10:06 +1000)]
Merge remote-tracking branch 'berlin/berlin/for-next'

10 years agoMerge remote-tracking branch 'arm-kvm-cpuresume/arm-kvm-cpuresume'
Stephen Rothwell [Tue, 29 Apr 2014 00:05:19 +0000 (10:05 +1000)]
Merge remote-tracking branch 'arm-kvm-cpuresume/arm-kvm-cpuresume'

10 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:03:15 +0000 (10:03 +1000)]
Merge remote-tracking branch 'arm/for-next'

10 years agoMerge remote-tracking branch 'arc/for-next'
Stephen Rothwell [Tue, 29 Apr 2014 00:02:25 +0000 (10:02 +1000)]
Merge remote-tracking branch 'arc/for-next'

10 years agoMerge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'
Stephen Rothwell [Mon, 28 Apr 2014 23:57:19 +0000 (09:57 +1000)]
Merge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'

10 years agoMerge remote-tracking branch 'rr-fixes/fixes'
Stephen Rothwell [Mon, 28 Apr 2014 23:57:16 +0000 (09:57 +1000)]
Merge remote-tracking branch 'rr-fixes/fixes'

10 years agoMerge remote-tracking branch 'ide/master'
Stephen Rothwell [Mon, 28 Apr 2014 23:57:13 +0000 (09:57 +1000)]
Merge remote-tracking branch 'ide/master'

10 years agoMerge remote-tracking branch 'crypto-current/master'
Stephen Rothwell [Mon, 28 Apr 2014 23:57:11 +0000 (09:57 +1000)]
Merge remote-tracking branch 'crypto-current/master'

10 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Mon, 28 Apr 2014 23:57:08 +0000 (09:57 +1000)]
Merge remote-tracking branch 'input-current/for-linus'

10 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Mon, 28 Apr 2014 23:57:06 +0000 (09:57 +1000)]
Merge remote-tracking branch 'wireless/master'

10 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Mon, 28 Apr 2014 23:57:05 +0000 (09:57 +1000)]
Merge remote-tracking branch 'sound-current/for-linus'

10 years agoMerge remote-tracking branch 'ipsec/master'
Stephen Rothwell [Mon, 28 Apr 2014 23:57:05 +0000 (09:57 +1000)]
Merge remote-tracking branch 'ipsec/master'

Conflicts:
net/ipv4/ip_vti.c

10 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Mon, 28 Apr 2014 23:57:02 +0000 (09:57 +1000)]
Merge remote-tracking branch 'net/master'

10 years agoMerge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux
Linus Torvalds [Mon, 28 Apr 2014 22:19:06 +0000 (15:19 -0700)]
Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux

Pull devicetree bug fixes from Grant Likely:
 "These are some important bug fixes that need to get into v3.15.

  This branch contains a pair of important bug fixes for the DT code:

   - Fix some incorrect binding property names before they enter common
     usage

   - Fix bug where some platform devices will be unable to get their
     interrupt number when they depend on an interrupt controller that
     is not available at device creation time.  This is a problem
     causing mainline to fail on a number of ARM platforms"

* tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
  of/irq: do irq resolution in platform_get_irq
  of: selftest: add deferred probe interrupt test
  dt: Fix binding typos in clock-names and interrupt-names

10 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Mon, 28 Apr 2014 21:58:15 +0000 (14:58 -0700)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

Pull powerpc fixes from Ben Herrenschmidt:
 "Here is a bunch of post-merge window fixes that have been accumulating
  in patchwork while I was on vacation or buried under other stuff last
  week.

  We have the now usual batch of LE fixes from Anton (sadly some new
  stuff that went into this merge window had endian issues, we'll try to
  make sure we do better next time)

  Some fixes and cleanups to the new 24x7 performance monitoring stuff
  (mostly typos and cleaning up printk's)

  A series of fixes for an issue with our runlatch bit, which wasn't set
  properly for offlined threads/cores and under KVM, causing potentially
  some counters to misbehave along with possible power management
  issues.

  A fix for kexec nasty race where the new kernel wouldn't "see" the
  secondary processors having reached back into firmware in time.

  And finally a few other misc (and pretty simple) bug fixes"

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (33 commits)
  powerpc/4xx: Fix section mismatch in ppc4xx_pci.c
  ppc/kvm: Clear the runlatch bit of a vcpu before napping
  ppc/kvm: Set the runlatch bit of a CPU just before starting guest
  ppc/powernv: Set the runlatch bits correctly for offline cpus
  powerpc/pseries: Protect remove_memory() with device hotplug lock
  powerpc: Fix error return in rtas_flash module init
  powerpc: Bump BOOT_COMMAND_LINE_SIZE to 2048
  powerpc: Bump COMMAND_LINE_SIZE to 2048
  powerpc: Rename duplicate COMMAND_LINE_SIZE define
  powerpc/perf/hv-24x7: Catalog version number is be64, not be32
  powerpc/perf/hv-24x7: Remove [static 4096], sparse chokes on it
  powerpc/perf/hv-24x7: Use (unsigned long) not (u32) values when calling plpar_hcall_norets()
  powerpc/perf/hv-gpci: Make device attr static
  powerpc/perf/hv_gpci: Probe failures use pr_debug(), and padding reduced
  powerpc/perf/hv_24x7: Probe errors changed to pr_debug(), padding fixed
  powerpc/mm: Fix tlbie to add AVAL fields for 64K pages
  powerpc/powernv: Fix little endian issues in OPAL dump code
  powerpc/powernv: Create OPAL sglist helper functions and fix endian issues
  powerpc/powernv: Fix little endian issues in OPAL error log code
  powerpc/powernv: Fix little endian issues with opal_do_notifier calls
  ...

10 years agomm: don't pointlessly use BUG_ON() for sanity check
Linus Torvalds [Mon, 28 Apr 2014 21:24:09 +0000 (14:24 -0700)]
mm: don't pointlessly use BUG_ON() for sanity check

BUG_ON() is a big hammer, and should be used _only_ if there is some
major corruption that you cannot possibly recover from, making it
imperative that the current process (and possibly the whole machine) be
terminated with extreme prejudice.

The trivial sanity check in the vmacache code is *not* such a fatal
error.  Recovering from it is absolutely trivial, and using BUG_ON()
just makes it harder to debug for no actual advantage.

To make matters worse, the placement of the BUG_ON() (only if the range
check matched) actually makes it harder to hit the sanity check to begin
with, so _if_ there is a bug (and we just got a report from Srivatsa
Bhat that this can indeed trigger), it is harder to debug not just
because the machine is possibly dead, but because we don't have better
coverage.

BUG_ON() must *die*.  Maybe we should add a checkpatch warning for it,
because it is simply just about the worst thing you can ever do if you
hit some "this cannot happen" situation.

Reported-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Cc: Davidlohr Bueso <davidlohr@hp.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
10 years agoMerge branch 'mvebu/dt' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:48 +0000 (19:14 +0000)]
Merge branch 'mvebu/dt' into for-next

10 years agoMerge branch 'mvebu/defconfig' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:45 +0000 (19:14 +0000)]
Merge branch 'mvebu/defconfig' into for-next

10 years agoMerge branch 'mvebu/soc' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:41 +0000 (19:14 +0000)]
Merge branch 'mvebu/soc' into for-next

10 years agoMerge branch 'mvebu/soc-orion5x' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:38 +0000 (19:14 +0000)]
Merge branch 'mvebu/soc-orion5x' into for-next

10 years agoMerge branch 'mvebu/soc-cpuidle' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:35 +0000 (19:14 +0000)]
Merge branch 'mvebu/soc-cpuidle' into for-next

10 years agoMerge branch 'mvebu/soc-pmsu' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:33 +0000 (19:14 +0000)]
Merge branch 'mvebu/soc-pmsu' into for-next

10 years agoMerge branch 'mvebu/drivers' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:30 +0000 (19:14 +0000)]
Merge branch 'mvebu/drivers' into for-next

10 years agoMerge branch 'mvebu/drivers-clk' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:27 +0000 (19:14 +0000)]
Merge branch 'mvebu/drivers-clk' into for-next

10 years agoMerge branch 'mvebu/irqchip' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:25 +0000 (19:14 +0000)]
Merge branch 'mvebu/irqchip' into for-next

10 years agoMerge branch 'mvebu/drivers-mbus_pci-fixes' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:22 +0000 (19:14 +0000)]
Merge branch 'mvebu/drivers-mbus_pci-fixes' into for-next

10 years agoMerge branch 'mvebu/drivers-irqchip-fixes' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:20 +0000 (19:14 +0000)]
Merge branch 'mvebu/drivers-irqchip-fixes' into for-next

10 years agoMerge branch 'mvebu/dt-fixes' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:17 +0000 (19:14 +0000)]
Merge branch 'mvebu/dt-fixes' into for-next

10 years agoMerge branch 'mvebu/dt-fixes-non-critical' into for-next
Jason Cooper [Mon, 28 Apr 2014 19:14:12 +0000 (19:14 +0000)]
Merge branch 'mvebu/dt-fixes-non-critical' into for-next

10 years agonet: bonding: Fix format string mismatch in bond_sysfs.c
Masanari Iida [Mon, 28 Apr 2014 15:41:21 +0000 (00:41 +0900)]
net: bonding: Fix format string mismatch in bond_sysfs.c

Fix format string mismatch in bonding_show_min_links().

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: ipv6: more places need LOOPBACK_IFINDEX for flowi6_iif
Julian Anastasov [Mon, 28 Apr 2014 07:51:56 +0000 (10:51 +0300)]
net: ipv6: more places need LOOPBACK_IFINDEX for flowi6_iif

To properly match iif in ip rules we have to provide
LOOPBACK_IFINDEX in flowi6_iif, not 0. Some ip6mr_fib_lookup
and fib6_rule_lookup callers need such fix.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoARM: mvebu: register the cpuidle driver for the Armada XP SoCs
Gregory CLEMENT [Mon, 14 Apr 2014 15:10:14 +0000 (17:10 +0200)]
ARM: mvebu: register the cpuidle driver for the Armada XP SoCs

The cpuidle is a platform driver so we register the device just after
the initialization of the board in an arch_initcall.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1397488214-20685-12-git-send-email-gregory.clement@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
10 years agocpuidle: mvebu: Add initial CPU idle support for Armada 370/XP SoC
Gregory CLEMENT [Mon, 14 Apr 2014 15:10:13 +0000 (17:10 +0200)]
cpuidle: mvebu: Add initial CPU idle support for Armada 370/XP SoC

Add the wfi, cpu idle and cpu deep idle power states support for the
Armada XP SoCs.

All the latencies and the power consumption values used at the
"armada_370_xp_idle_driver" structure are preliminary and will be
modified in the future after running some measurements and analysis.

Based on the work of Nadav Haklai.

Signed-off-by: Nadav Haklai <nadavh@marvell.com>
Link: https://lkml.kernel.org/r/1397488214-20685-11-git-send-email-gregory.clement@free-electrons.com
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1397488214-20685-11-git-send-email-gregory.clement@free-electrons.com
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
10 years agoARM: mvebu: Register notifier callback for the cpuidle transition
Gregory CLEMENT [Mon, 14 Apr 2014 15:10:12 +0000 (17:10 +0200)]
ARM: mvebu: Register notifier callback for the cpuidle transition

In order to have well encapsulated code, we use notifier callbacks for
CPU_PM_ENTER and CPU_PM_EXIT inside the mvebu power management code.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1397488214-20685-10-git-send-email-gregory.clement@free-electrons.com
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
10 years agoARM: mvebu: refine which files are build in mach-mvebu
Thomas Petazzoni [Mon, 28 Apr 2014 18:20:39 +0000 (20:20 +0200)]
ARM: mvebu: refine which files are build in mach-mvebu

Following the integration into mach-mvebu of the Kirkwood ARMv5
support, we need to be more careful about which files get built. For
example, the pmsu.c file now calls wfi(), which only exists on ARMv7
platforms.

Therefore, this commit changes mach-mvebu/Makefile to build the Armada
370/XP/375/38x specific files only when CONFIG_MACH_MVEBU_V7 is
enabled.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1398709239-6126-1-git-send-email-thomas.petazzoni@free-electrons.com
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
10 years agoARM: mvebu: Enable the thermal sensor in Armada 380/385 SoC
Ezequiel Garcia [Thu, 24 Apr 2014 20:23:24 +0000 (17:23 -0300)]
ARM: mvebu: Enable the thermal sensor in Armada 380/385 SoC

This commit enables the thermal sensor found in Armada 380/385 SoCs.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Link: https://lkml.kernel.org/r/1398371004-15807-11-git-send-email-ezequiel.garcia@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
10 years agoMerge branch for-3.16/defconfig into for-next
Stephen Warren [Mon, 28 Apr 2014 15:58:08 +0000 (09:58 -0600)]
Merge branch for-3.16/defconfig into for-next

10 years agoMerge branch for-3.16/dt into for-next
Stephen Warren [Mon, 28 Apr 2014 15:58:08 +0000 (09:58 -0600)]
Merge branch for-3.16/dt into for-next

10 years agoARM: tegra: use correct audio CODEC on Jetson TK1
Stephen Warren [Fri, 25 Apr 2014 16:12:42 +0000 (10:12 -0600)]
ARM: tegra: use correct audio CODEC on Jetson TK1

Jetson TK1 contains an RT5639 not an RT5640. While the two are extremely
similar and mostly compatible, we should still use the correct device
name in the device tree. I had meant to fix this before applying the
initial DT, but this issue slipped my mind.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
10 years agoARM: tegra: dalmore - Add DSI power supply
Thierry Reding [Fri, 25 Apr 2014 15:44:51 +0000 (17:44 +0200)]
ARM: tegra: dalmore - Add DSI power supply

The 1.2V supply for CSI and DSI was previously marked always-on. This is
suboptimal because it prevents the supply from being disabled when there
is no activity in the display or capture paths that it powers.

Hook up the regulator to the DSI output and mark it as not always-on, so
that it will only be enabled when DSI actually needs it.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: tegra: dalmore - Add +5V HDMI supply
Thierry Reding [Fri, 25 Apr 2014 15:44:50 +0000 (17:44 +0200)]
ARM: tegra: dalmore - Add +5V HDMI supply

This supply controls the +5V pin on the HDMI connector, which in turn is
used by attached sinks to return the hotplug detect signal.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: tegra: beaver - Add +5V HDMI supply
Thierry Reding [Fri, 25 Apr 2014 15:44:49 +0000 (17:44 +0200)]
ARM: tegra: beaver - Add +5V HDMI supply

This supply controls the +5V pin on the HDMI connector, which in turn is
used by attached sinks to return the hotplug detect signal.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: tegra: harmony - Add +5V HDMI supply
Thierry Reding [Fri, 25 Apr 2014 15:44:48 +0000 (17:44 +0200)]
ARM: tegra: harmony - Add +5V HDMI supply

This supply controls the +5V pin on the HDMI connector, which in turn is
used by attached sinks to return the hotplug detect signal.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: tegra: jetson-tk1 - Enable HDMI support
Thierry Reding [Fri, 25 Apr 2014 15:44:47 +0000 (17:44 +0200)]
ARM: tegra: jetson-tk1 - Enable HDMI support

Add HDMI +5V, VDD and PLL regulators and enable the DDC I2C controller.
Enable the HDMI device, provide the power supplies as well as the DDC
adapter and use pin the standard pin (PN7) for hotplug detection.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: tegra: venice2 - Enable HDMI
Thierry Reding [Fri, 25 Apr 2014 15:44:46 +0000 (17:44 +0200)]
ARM: tegra: venice2 - Enable HDMI

Add HDMI +5V, VDD and PLL regulators and enable the DDC I2C controller.
Enable the HDMI device, provide the power supplies as well as the DDC
adapter and use the standard pin (PN7) for hotplug detection.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: tegra: Add Tegra124 HDMI support
Thierry Reding [Fri, 25 Apr 2014 15:44:45 +0000 (17:44 +0200)]
ARM: tegra: Add Tegra124 HDMI support

Add a device node for the HDMI controller found on Tegra124.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agocrypto: caam - add allocation failure handling in SPRINTFCAT macro
Horia Geanta [Fri, 18 Apr 2014 10:01:42 +0000 (13:01 +0300)]
crypto: caam - add allocation failure handling in SPRINTFCAT macro

GFP_ATOMIC memory allocation could fail.
In this case, avoid NULL pointer dereference and notify user.

Cc: <stable@vger.kernel.org> # 3.2+
Cc: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
10 years agoALSA: hda - add headset mic detect quirk for a Dell laptop
Hui Wang [Mon, 28 Apr 2014 06:45:00 +0000 (14:45 +0800)]
ALSA: hda - add headset mic detect quirk for a Dell laptop

When we plug a 3-ring headset on the Dell machine (VID: 0x10ec0255,
SID: 0x10280674), the headset mic can't be detected, after apply this
patch, the headset mic can work well.

BugLink: https://bugs.launchpad.net/bugs/1297581
Cc: David Henningsson <david.henningsson@canonical.com>
Cc: stable@vger.kernel.org
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
10 years agoMerge tag 'asoc-v3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Mon, 28 Apr 2014 10:00:36 +0000 (12:00 +0200)]
Merge tag 'asoc-v3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v3.15

A smattering of driver-specific fixes here, nothing generic.  The Cirrus
CODEC conversions to devm_ are leak fixes - the conversion adds missing
error handling code.

10 years agof2fs: consider fallocated space for SEEK_DATA
Jaegeuk Kim [Mon, 28 Apr 2014 09:12:36 +0000 (18:12 +0900)]
f2fs: consider fallocated space for SEEK_DATA

If an amount of data are allocated though fallocate and user writes a couple of
data among the space, f2fs should return the data offset made by user when
SEEK_DATA is requested.

For example, (N: NEW_ADDR by fallocate, X: NEW_ADDR by user)
1) fallocate 0 ~ 10MB
f -> N N N N N N N N N N N N ... N

2) write 4KB at 5MB offset
f -> N N N N N X N N N N N N ... N

3) SEEK_DATA from 0 should return 5MB offset

So, this patch adds a routine to search the first dirty page to handle that.
Then, the SEEK_DATA flow skips NEW_ADDR offsets until any dirty page is found.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: return i_size if the hole is outside of i_size
Jaegeuk Kim [Mon, 28 Apr 2014 08:02:48 +0000 (17:02 +0900)]
f2fs: return i_size if the hole is outside of i_size

When SEEK_HOLE is requeted, it should return i_size if the hole position is
found outside of i_size.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agopowerpc/4xx: Fix section mismatch in ppc4xx_pci.c
Alistair Popple [Tue, 8 Apr 2014 04:20:19 +0000 (14:20 +1000)]
powerpc/4xx: Fix section mismatch in ppc4xx_pci.c

This patch fixes this section mismatch:

WARNING: vmlinux.o(.text+0x1efc4): Section mismatch in reference from
the function apm821xx_pciex_init_port_hw() to the function
.init.text:ppc4xx_pciex_wait_on_sdr.isra.9()

The function apm821xx_pciex_init_port_hw() references the function
__init ppc4xx_pciex_wait_on_sdr.isra.9().  This is often because
apm821xx_pciex_init_port_hw lacks a __init annotation or the
annotation of ppc4xx_pciex_wait_on_sdr.isra.9 is wrong.

apm821xx_pciex_init_port_hw is only referenced by a struct in
__initdata, so it should be safe to add __init to
apm821xx_pciex_init_port_hw.

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agoppc/kvm: Clear the runlatch bit of a vcpu before napping
Preeti U Murthy [Fri, 11 Apr 2014 10:32:08 +0000 (16:02 +0530)]
ppc/kvm: Clear the runlatch bit of a vcpu before napping

When the guest cedes the vcpu or the vcpu has no guest to
run it naps. Clear the runlatch bit of the vcpu before
napping to indicate an idle cpu.

Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agoppc/kvm: Set the runlatch bit of a CPU just before starting guest
Preeti U Murthy [Fri, 11 Apr 2014 10:31:58 +0000 (16:01 +0530)]
ppc/kvm: Set the runlatch bit of a CPU just before starting guest

The secondary threads in the core are kept offline before launching guests
in kvm on powerpc: "371fefd6f2dc4666:KVM: PPC: Allow book3s_hv guests to use
SMT processor modes."

Hence their runlatch bits are cleared. When the secondary threads are called
in to start a guest, their runlatch bits need to be set to indicate that they
are busy. The primary thread has its runlatch bit set though, but there is no
harm in setting this bit once again. Hence set the runlatch bit for all
threads before they start guest.

Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agoppc/powernv: Set the runlatch bits correctly for offline cpus
Preeti U Murthy [Fri, 11 Apr 2014 10:31:48 +0000 (16:01 +0530)]
ppc/powernv: Set the runlatch bits correctly for offline cpus

Up until now we have been setting the runlatch bits for a busy CPU and
clearing it when a CPU enters idle state. The runlatch bit has thus
been consistent with the utilization of a CPU as long as the CPU is online.

However when a CPU is hotplugged out the runlatch bit is not cleared. It
needs to be cleared to indicate an unused CPU. Hence this patch has the
runlatch bit cleared for an offline CPU just before entering an idle state
and sets it immediately after it exits the idle state.

Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agopowerpc/pseries: Protect remove_memory() with device hotplug lock
Li Zhong [Thu, 10 Apr 2014 08:25:31 +0000 (16:25 +0800)]
powerpc/pseries: Protect remove_memory() with device hotplug lock

While testing memory hot-remove, I found following dead lock:

Process #1141 is drmgr, trying to remove some memory, i.e. memory499.
It holds the memory_hotplug_mutex, and blocks when trying to remove file
"online" under dir memory499, in kernfs_drain(), at
        wait_event(root->deactivate_waitq,
                   atomic_read(&kn->active) == KN_DEACTIVATED_BIAS);

Process #1120 is trying to online memory499 by
   echo 1 > memory499/online

In .kernfs_fop_write, it uses kernfs_get_active() to increase
&kn->active, thus blocking process #1141. While itself is blocked later
when trying to acquire memory_hotplug_mutex, which is held by process

The backtrace of both processes are shown below:

[<c000000001b18600>] 0xc000000001b18600
[<c000000000015044>] .__switch_to+0x144/0x200
[<c000000000263ca4>] .online_pages+0x74/0x7b0
[<c00000000055b40c>] .memory_subsys_online+0x9c/0x150
[<c00000000053cbe8>] .device_online+0xb8/0x120
[<c00000000053cd04>] .online_store+0xb4/0xc0
[<c000000000538ce4>] .dev_attr_store+0x64/0xa0
[<c00000000030f4ec>] .sysfs_kf_write+0x7c/0xb0
[<c00000000030e574>] .kernfs_fop_write+0x154/0x1e0
[<c000000000268450>] .vfs_write+0xe0/0x260
[<c000000000269144>] .SyS_write+0x64/0x110
[<c000000000009ffc>] syscall_exit+0x0/0x7c

[<c000000001b18600>] 0xc000000001b18600
[<c000000000015044>] .__switch_to+0x144/0x200
[<c00000000030be14>] .__kernfs_remove+0x204/0x300
[<c00000000030d428>] .kernfs_remove_by_name_ns+0x68/0xf0
[<c00000000030fb38>] .sysfs_remove_file_ns+0x38/0x60
[<c000000000539354>] .device_remove_attrs+0x54/0xc0
[<c000000000539fd8>] .device_del+0x158/0x250
[<c00000000053a104>] .device_unregister+0x34/0xa0
[<c00000000055bc14>] .unregister_memory_section+0x164/0x170
[<c00000000024ee18>] .__remove_pages+0x108/0x4c0
[<c00000000004b590>] .arch_remove_memory+0x60/0xc0
[<c00000000026446c>] .remove_memory+0x8c/0xe0
[<c00000000007f9f4>] .pseries_remove_memblock+0xd4/0x160
[<c00000000007fcfc>] .pseries_memory_notifier+0x27c/0x290
[<c0000000008ae6cc>] .notifier_call_chain+0x8c/0x100
[<c0000000000d858c>] .__blocking_notifier_call_chain+0x6c/0xe0
[<c00000000071ddec>] .of_property_notify+0x7c/0xc0
[<c00000000071ed3c>] .of_update_property+0x3c/0x1b0
[<c0000000000756cc>] .ofdt_write+0x3dc/0x740
[<c0000000002f60fc>] .proc_reg_write+0xac/0x110
[<c000000000268450>] .vfs_write+0xe0/0x260
[<c000000000269144>] .SyS_write+0x64/0x110
[<c000000000009ffc>] syscall_exit+0x0/0x7c

This patch uses lock_device_hotplug() to protect remove_memory() called
in pseries_remove_memblock(), which is also stated before function
remove_memory():

 * NOTE: The caller must call lock_device_hotplug() to serialize hotplug
 * and online/offline operations before this call, as required by
 * try_offline_node().
 */
void __ref remove_memory(int nid, u64 start, u64 size)

With this lock held, the other process(#1120 above) trying to online the
memory block will retry the system call when calling
lock_device_hotplug_sysfs(), and finally find No such device error.

Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agopowerpc: Fix error return in rtas_flash module init
Anton Blanchard [Mon, 14 Apr 2014 11:23:32 +0000 (21:23 +1000)]
powerpc: Fix error return in rtas_flash module init

module_init should return 0 or a negative errno.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agopowerpc: Bump BOOT_COMMAND_LINE_SIZE to 2048
Anton Blanchard [Mon, 14 Apr 2014 11:55:25 +0000 (21:55 +1000)]
powerpc: Bump BOOT_COMMAND_LINE_SIZE to 2048

Bump the boot wrapper BOOT_COMMAND_LINE_SIZE to match the
kernel.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agopowerpc: Bump COMMAND_LINE_SIZE to 2048
Anton Blanchard [Mon, 14 Apr 2014 11:54:52 +0000 (21:54 +1000)]
powerpc: Bump COMMAND_LINE_SIZE to 2048

I've had a report that the current limit is too small for
an automated network based installer. Bump it.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agopowerpc: Rename duplicate COMMAND_LINE_SIZE define
Anton Blanchard [Mon, 14 Apr 2014 11:54:05 +0000 (21:54 +1000)]
powerpc: Rename duplicate COMMAND_LINE_SIZE define

We have two definitions of COMMAND_LINE_SIZE, one for the kernel
and one for the boot wrapper. I assume this is so the boot
wrapper can be self sufficient and not rely on kernel headers.

Having two defines with the same name is confusing, I just
updated the wrong one when trying to bump it.

Make the boot wrapper define unique by calling it
BOOT_COMMAND_LINE_SIZE.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agopowerpc/perf/hv-24x7: Catalog version number is be64, not be32
Cody P Schafer [Tue, 15 Apr 2014 17:10:55 +0000 (10:10 -0700)]
powerpc/perf/hv-24x7: Catalog version number is be64, not be32

The catalog version number was changed from a be32 (with proceeding
32bits of padding) to a be64, update the code to treat it as a be64

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
10 years agof2fs: introduce f2fs_seek_block to support SEEK_{DATA, HOLE} in llseek
Chao Yu [Wed, 23 Apr 2014 06:10:24 +0000 (14:10 +0800)]
f2fs: introduce f2fs_seek_block to support SEEK_{DATA, HOLE} in llseek

In This patch we introduce f2fs_seek_block to support SEEK_{DATA,HOLE} of
lseek(2).

change log from v1:
 o fix bug when lseek from middle of page and fix wrong calculation of
PGOFS_OF_NEXT_DNODE macro.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: introduce help function {create,destroy}_flush_cmd_control
Gu Zheng [Sun, 27 Apr 2014 06:21:33 +0000 (14:21 +0800)]
f2fs: introduce help function {create,destroy}_flush_cmd_control

Introduce help function {create,destroy}_flush_cmd_control to clean up
the create/destory flush merge operation.

Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: introduce struct flush_cmd_control to wrap the flush_merge fields
Gu Zheng [Sun, 27 Apr 2014 06:21:21 +0000 (14:21 +0800)]
f2fs: introduce struct flush_cmd_control to wrap the flush_merge fields

Split the flush_merge fields from sm_i, and use the new struct flush_cmd_control
to wrap it, so that we can igonre these fileds if flush_merge is disable, and
it alse can the structs more neat.

Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: introduce help macro ADDRS_PER_PAGE()
Chao Yu [Sat, 26 Apr 2014 11:59:52 +0000 (19:59 +0800)]
f2fs: introduce help macro ADDRS_PER_PAGE()

Introduce help macro ADDRS_PER_PAGE() to get the number of address pointers in
direct node or inode.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: submit bio at the reclaim path
Jaegeuk Kim [Thu, 24 Apr 2014 00:49:52 +0000 (09:49 +0900)]
f2fs: submit bio at the reclaim path

If f2fs_write_data_page is called through the reclaim path, we should submit
the bio right away.

This patch resolves the following issue that Marc Dietrich reported.
"It took me a while to bisect a problem which causes my ARM (tegra2) netbook to
frequently stall for 5-10 seconds when I enable EXA acceleration (opentegra
experimental ddx)."
And this patch fixes that.

Reported-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: return errors right after checking them
Jaegeuk Kim [Wed, 23 Apr 2014 03:28:18 +0000 (12:28 +0900)]
f2fs: return errors right after checking them

This patch adds two error conditions early in the setxattr operations.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: pass flags field to setxattr functions
Jaegeuk Kim [Wed, 23 Apr 2014 03:23:14 +0000 (12:23 +0900)]
f2fs: pass flags field to setxattr functions

This patch passes the "flags" field to the low level setxattr functions
to use XATTR_REPLACE in the following patches.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: clean up long variable names
Jaegeuk Kim [Wed, 23 Apr 2014 03:17:25 +0000 (12:17 +0900)]
f2fs: clean up long variable names

This patch includes simple clean-ups to reduce unnecessary long variable names.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: handle inline data independently in f2fs_bmap
Chao Yu [Tue, 22 Apr 2014 05:34:01 +0000 (13:34 +0800)]
f2fs: handle inline data independently in f2fs_bmap

We'd better handle inline data case independently in f2fs_bmap().
It can reduce our handling time in f2fs_bmap().

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: adjust free mem size to flush dentry blocks
Jaegeuk Kim [Wed, 16 Apr 2014 01:47:06 +0000 (10:47 +0900)]
f2fs: adjust free mem size to flush dentry blocks

If so many dirty dentry blocks are cached, not reached to the flush condition,
we should fall into livelock in balance_dirty_pages.
So, let's consider the mem size for the condition.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: avoid BUG_ON when mouting corrupted image having garbage blocks
Jaegeuk Kim [Fri, 18 Apr 2014 06:21:04 +0000 (15:21 +0900)]
f2fs: avoid BUG_ON when mouting corrupted image having garbage blocks

If the disk has some garbage blocks, F2FS is able to face with BUG_ON when
recovering direct node blocks.
This patch detects the error case and avoids that prior to reaching BUG_ON.

Alexey Khoroshilov addressed the potential security issues as follows.
"An ability to trigger a BUG_ON assert by mounting a crafted image is
usually considered as a local denial of service [1-3]. As far as I
understand, the reason is that some kernel data may become inconsistent
that can lead to further problems.

[1] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3353
[2] http://www.openwall.com/lists/oss-security/2011/06/24/4
[3] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2928
etc."

Reported-by: Andrey Tsyvarev <tsyvarev@ispras.ru>
Cc: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: add available_nids to fix handling max_nid correctly
Jaegeuk Kim [Fri, 18 Apr 2014 02:14:37 +0000 (11:14 +0900)]
f2fs: add available_nids to fix handling max_nid correctly

This patch introduces available_nids for alloc_nids() and fixes max_nid for
build_free_nids() and scan_nat_pages().

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: add static to get_max_meta_blks
Fabian Frederick [Thu, 17 Apr 2014 15:51:06 +0000 (17:51 +0200)]
f2fs: add static to get_max_meta_blks

inline get_max_meta_blks is only used in checkpoint.c
Use standard static inline format.

Cc: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: introduce raw_nat_from_node_info() to simplfy codes
Chao Yu [Thu, 17 Apr 2014 02:51:05 +0000 (10:51 +0800)]
f2fs: introduce raw_nat_from_node_info() to simplfy codes

This patch introduce raw_nat_from_node_info() to simplfy some codes, and also
use exist function node_info_from_raw_nat() to do the same job.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: add the flush_merge handle in the remount flow
Gu Zheng [Fri, 11 Apr 2014 09:50:00 +0000 (17:50 +0800)]
f2fs: add the flush_merge handle in the remount flow

Add the *remount* handle of flush_merge option, so that the users
can enable flush_merge in the runtime, such as the underlying device
handles the cache_flush command relatively slowly.

Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: atomically set inode->i_flags in f2fs_set_inode_flags()
Zhang Zhen [Tue, 15 Apr 2014 06:19:38 +0000 (14:19 +0800)]
f2fs: atomically set inode->i_flags in f2fs_set_inode_flags()

Use set_mask_bits() to atomically set i_flags instead of clearing out the
S_IMMUTABLE, S_APPEND, etc. flags and then setting them from the
FS_IMMUTABLE_FL, FS_APPEND_FL, etc. flags, since this opens up a race
where an immutable file has the immutable flag cleared for a brief
window of time.

Signed-off-by: Zhang Zhen <zhenzhang.zhang@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: make recover_inline_xattr() static
Jingoo Han [Tue, 15 Apr 2014 08:51:05 +0000 (17:51 +0900)]
f2fs: make recover_inline_xattr() static

Make recover_inline_xattr() static, because this function is
used only in this file.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: remove costly dirty_dir_inode operations
Jaegeuk Kim [Tue, 15 Apr 2014 02:19:28 +0000 (11:19 +0900)]
f2fs: remove costly dirty_dir_inode operations

This patch removes list opeations in handling dirty dir inodes.
Previously, F2FS traverses whole the list of dirty dir inodes to check whether
there is an existing inode or not, resulting in heavy CPU overheads.

So this patch removes such the traverse operations by adding FI_DIRTY_DIR to
indicate the inode lies on the list or not.
Through this simple flag, we can remove redundant operations gracefully.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: fix to unlock f2fs_lock at the omitted error case
Jaegeuk Kim [Wed, 16 Apr 2014 05:22:50 +0000 (14:22 +0900)]
f2fs: fix to unlock f2fs_lock at the omitted error case

If it occurs an error, we should call f2fs_unlock_op.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: call redirty_page_for_writepage
Jaegeuk Kim [Tue, 15 Apr 2014 07:04:15 +0000 (16:04 +0900)]
f2fs: call redirty_page_for_writepage

This patch replace some general codes with redirty_page_for_writepage, which
can be enabled after consideration on additional procedure like counting dirty
pages appropriately.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: avoid to conduct roll-forward due to the remained garbage blocks
Jaegeuk Kim [Tue, 15 Apr 2014 04:57:55 +0000 (13:57 +0900)]
f2fs: avoid to conduct roll-forward due to the remained garbage blocks

The f2fs always scans the next chain of direct node blocks.
But some garbage blocks are able to be remained due to no discard support or
SSR triggers.
This occasionally wreaks recovering wrong inodes that were used or BUG_ONs
due to reallocating node ids as follows.

When mount this f2fs image:
http://linuxtesting.org/downloads/f2fs_fault_image.zip
BUG_ON is triggered in f2fs driver (messages below are generated on
kernel 3.13.2; for other kernels output is similar):

kernel BUG at fs/f2fs/node.c:215!
 Call Trace:
 [<ffffffffa032ebad>] recover_inode_page+0x1fd/0x3e0 [f2fs]
 [<ffffffff811446e7>] ? __lock_page+0x67/0x70
 [<ffffffff81089990>] ? autoremove_wake_function+0x50/0x50
 [<ffffffffa0337788>] recover_fsync_data+0x1398/0x15d0 [f2fs]
 [<ffffffff812b9e5c>] ? selinux_d_instantiate+0x1c/0x20
 [<ffffffff811cb20b>] ? d_instantiate+0x5b/0x80
 [<ffffffffa0321044>] f2fs_fill_super+0xb04/0xbf0 [f2fs]
 [<ffffffff811b861e>] ? mount_bdev+0x7e/0x210
 [<ffffffff811b8769>] mount_bdev+0x1c9/0x210
 [<ffffffffa0320540>] ? validate_superblock+0x210/0x210 [f2fs]
 [<ffffffffa031cf8d>] f2fs_mount+0x1d/0x30 [f2fs]
 [<ffffffff811b9497>] mount_fs+0x47/0x1c0
 [<ffffffff81166e00>] ? __alloc_percpu+0x10/0x20
 [<ffffffff811d4032>] vfs_kern_mount+0x72/0x110
 [<ffffffff811d6763>] do_mount+0x493/0x910
 [<ffffffff811615cb>] ? strndup_user+0x5b/0x80
 [<ffffffff811d6c70>] SyS_mount+0x90/0xe0
 [<ffffffff8166f8d9>] system_call_fastpath+0x16/0x1b

Found by Linux File System Verification project (linuxtesting.org).

Reported-by: Andrey Tsyvarev <tsyvarev@ispras.ru>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
10 years agof2fs: enable flush_merge only in f2fs is not read-only
Gu Zheng [Fri, 11 Apr 2014 09:49:55 +0000 (17:49 +0800)]
f2fs: enable flush_merge only in f2fs is not read-only

Enable flush_merge only in f2fs is not read-only, so does the mount
option show.

Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>