aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-10-11ARM: dts: AM437X: Add DES nodeJoel Fernandes1-0/+7
AM437x SoC has a DES3DES module similar to the one on OMAP4. Add DT node for the same. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM437X: Add AES nodeJoel Fernandes1-0/+7
AM437x SoC has AES module similar to the one on OMAP4. Add DT node for the same. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: Fix AES interrupt numberJoel Fernandes1-1/+1
AES interrupts were previously not used, but after recent changes to omap-aes driver, its being used. Correct the interrupt number to have working PIO mode. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: Add AES data and documentationMark A. Greer5-0/+53
Add the generic AM33XX AES module's device tree data and enable it for the am335x-evm, am335x-evmsk, and am335x-bone platforms. Also add Documentation file describing the data for the AES module. Cc: Paul Walmsley <[email protected]> Signed-off-by: Mark A. Greer <[email protected]> Signed-off-by: Joel Fernandes <[email protected]> [[email protected]: Dropped interrupt-parent property, documentation fixups] Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: Add SHAM data and documentationMark A. Greer5-0/+49
Add the generic AM33XX SHAM module's device tree data and enable it for the am335x-evm, am335x-evmsk, and am335x-bone platforms. Also add Documentation file describing the data for the SHAM module. Cc: Paul Walmsley <[email protected]> Signed-off-by: Mark A. Greer <[email protected]> Signed-off-by: Joel Fernandes <[email protected]> [[email protected]: Dropped interrupt-parent property, documentation fixups] Acked-by: Mark Rutland <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: OMAP4: Add DES3DES nodeJoel Fernandes1-0/+9
OMAP4 has an DES3DES module that uses the omap-des crypto driver. Add DT entries for the same. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: OMAP4: Add AES nodeJoel Fernandes1-0/+9
OMAP4 has an AES module that uses the omap-aes crypto driver. Add DT entries for the same. Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: am335x-evm[sdk]: switch mmc1 to 4-bit modeBalaji T K2-0/+2
Set bus-width to make SD card operate in 4 bit mode. Signed-off-by: Balaji T K <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: am335x-bone-common: correct mux mode for cmd lineBalaji T K1-1/+1
Set pinmux_emmc_pins mux mode for cmd line to MODE2 in order to detect eMMC on BBB and BBW + eMMC cape. Signed-off-by: Balaji T K <[email protected]> Tested-by: Felipe Balbi <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: Add support for IGEP AQUILA EXPANSION board.Enric Balletbo i Serra2-0/+17
The IGEP AQUILA EXPANSION board is a development platform for the IGEP COM AQUILA AM335x boards. The board adds the following connectivity: o USB OTG o USB HOST o HDMI o Ethernet o Serial Debug (3.3V) o 2x46 pin headers o EEPROM Signed-off-by: Enric Balletbo i Serra <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: Add support for IGEP COM AQUILAEnric Balletbo i Serra1-0/+265
The IGEP COM AQUILA is industrial processors SODIMM module with following highlights: o AM3352/AM3354/AM3358/AM3359 Texas Instruments processor o Cortex-A8 ARM CPU o 3.3 volts Inputs / Outputs use industrial o 256 MB DDR3 SDRAM / 128 Megabytes FLASH o MicroSD card reader on-board o Ethernet controller on-board o JTAG debug connector available o Designed for industrial range purposes Signed-off-by: Enric Balletbo i Serra <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: am335x-boneblack: move fixed regulator to board levelNishanth Menon1-7/+7
3.3V fixed regulator does not belong to TPS node - as a result the fixed regulator is never probed and MMC is continually deferred due to lack of regulator. Move the fixed regulator to be at root of platform. Cc: Joel Fernandes <[email protected]> Cc: Sekhar Nori <[email protected]> Cc: Koen Kooi <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Tested-by: Felipe Balbi <[email protected]> Tested-by: Balaji T K <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: omap3-beagle: Add USB OTG PHY detailsRoger Quadros1-0/+7
Add information about the USB OTG PHY. Without this the OTG port on beagle will not work. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: omap3-beagle-xm: Add USB Host supportRoger Quadros1-9/+56
Provide RESET GPIO and Power regulator for the USB PHY, the USB Host port mode and the PHY device for the controller. Also provide pin multiplexer information for USB host pins. We also relocate omap3_pmx_core pin definations so that they are close to omap3_pmx_wkup pin definations. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: omap5-uevm: Use reset-gpios for hsusb2/3_resetRoger Quadros1-24/+2
We no longer need to model the RESET line as a regulator since the USB phy-nop driver accepts "reset-gpios" property. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: omap4-panda: Use reset-gpios for hsusb1_resetRoger Quadros1-17/+1
We no longer need to model the RESET line as a regulator since the USB phy-nop driver accepts "reset-gpios" property. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: omap3-beagle: Use reset-gpios for hsusb2_resetRoger Quadros1-12/+1
We no longer need to model the RESET line as a regulator since the USB phy-nop driver accepts "reset-gpios" property. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: add ethernet alias's for am33xxDan Murphy1-0/+2
Set the alias for ethernet0 and ethernet1 so that uBoot can set the MAC address appropriately. Currently u-boot cannot find the alias and there for does not set the MAC address. Signed-off-by: Dan Murphy <[email protected]> Tested-by: Mugunthan V N <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: DRA7: Add TPS659038 PMIC nodesKeerthy1-0/+112
Add DT nodes for TPS659038 PMIC on DRA7 boards. It is based on top of: http://comments.gmane.org/gmane.linux.ports.arm.omap/102459. Documentation: - Documentation/devicetree/bindings/mfd/palmas.txt - Documentation/devicetree/bindings/regulator/palmas-pmic.txt Boot Tested on DRA7 d1 Board. Signed-off-by: Keerthy <[email protected]> Acked-by: Nishanth Menon <[email protected]> [[email protected]: Fix indentation and changelog] Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: omap3-devkit8000: fix a typo in GMPC nodeAaro Koskinen1-1/+1
"gpmc,sync-clki-ps" is not defined/documented, it should be "gpmc,sync-clk-ps" instead. Signed-off-by: Aaro Koskinen <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: don't redefine OCP bus and device nodesJavier Martinez Canillas3-317/+311
The On Chip Peripherals (OCP) device node is a simplified representation of the AM33XX SoC interconnect. An OCP dev node is already defined in the am33xx.dtsi Device Tree source file included by am33xx based boards so there is no need to redefine this on each board DT file. Also, the OCP and IP modules directly connected to it are SoC internal details that is better to keep outside of board files. Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: use pinmux node defined in included fileJavier Martinez Canillas3-365/+365
am33xx boards DTS include the am33xx.dtsi Device Tree source file that already define a pinmux device node for the AM33XX SoC Pin Multiplex. Redefining this for each board makes the Device Tree files harder to modify and maintain so let's just use what is already defined in the included .dtsi file. Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: am335x-bone-common: add cpu0 and mmc1 triggersKoen Kooi1-0/+2
This matches the vendor 3.8.x configuration that is shipping with the boards. The LED layout is now: USR0: heartbeat USR1: mmc0 (micro-SD slot) USR2: cpu0 USR3: mmc1 (eMMC) The cpu0 triggers was put in between the mmc triggers to make is easier to see where the disk activity is. Signed-off-by: Koen Kooi <[email protected]> Tested-by: Kevin Hilman <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: am335x-bone-common: switch mmc1 to 4-bit modeKoen Kooi1-0/+1
The micro-SD slot hooks up all four data pins so lets' use them. Signed-off-by: Koen Kooi <[email protected]> Tested-by: Kevin Hilman <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: am335x-boneblack: add eMMC DT entryKoen Kooi2-0/+35
The pinmux is specified in am335x-bone-common.dtsi to be reused by the eMMC cape. Signed-off-by: Koen Kooi <[email protected]> Tested-by: Kevin Hilman <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> [[email protected]: Fix traling spaces and useless comments] Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: am335x-bone: add CD for mmc1Alexander Holler2-1/+14
This enables the use of MMC cards even when no card was inserted at boot. Signed-off-by: Alexander Holler <[email protected]> Signed-off-by: Koen Kooi <[email protected]> Tested-by: Kevin Hilman <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: Add MMC support and documentationMatt Porter5-1/+88
Adds AM33XX MMC support for am335x-bone, am335x-evm and am335x-evmsk boards. Also added is the DMA binding definitions based on the generic DMA request binding. Additional changes made to DTS: * Interrupt, reg and compatible properties added * ti,needs-special-hs-handling added Signed-off-by: Matt Porter <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: Add SPI DMA supportMatt Porter1-0/+10
Adds DMA resources to the AM33XX SPI nodes. Signed-off-by: Matt Porter <[email protected]> Signed-off-by: Joel A Fernandes <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11ARM: dts: AM33XX: Add EDMA supportMatt Porter1-0/+12
Adds AM33XX EDMA support to the am33xx.dtsi as documented in Documentation/devicetree/bindings/dma/ti-edma.txt [Joel Fernandes <[email protected]>] Drop DT entries that are non-hardware-description as discussed in [1] [1] https://patchwork.kernel.org/patch/2226761/ Signed-off-by: Matt Porter <[email protected]> Signed-off-by: Joel A Fernandes <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2013-10-11Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linusLinus Torvalds3-3/+3
Pull MIPS fix from Ralf Baechle: "Just one fix. The stack protector was loading the value of the canary instead of its address" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: stack protector: Fix per-task canary switch
2013-10-11Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds25-93/+74
Pull drm fixes from Dave Airlie: "All over the map.. - nouveau: disable MSI, needs more work, will try again next merge window - radeon: audio + uvd regression fixes, dpm fixes, reset fixes - i915: the dpms fix might fix your haswell And one pain in the ass revert, so we have VGA arbitration that when implemented 4-5 years ago really hoped that GPUs could remove themselves from arbitration completely once they had a kernel driver. It seems Intel hw designers decided that was too nice a facility to allow us to have so they removed it when they went on-die (so since Ironlake at least). Now Alex Williamson added support for VGA arbitration for newer GPUs however this now exposes itself to userspace as requireing arbitration of GPU VGA regions and the X server gets involved and disables things that it can't handle when VGA access is possibly required around every operation. So in order to not break userspace we just reverted things back to the old known broken status so maybe we can try and design out way out. Ville also had a patch to use stop machine for the two times Intel needs to access VGA space, that might be acceptable with some rework, but for now myself and Daniel agreed to just go back" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (23 commits) Revert "i915: Update VGA arbiter support for newer devices" Revert "drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is done" drm/radeon: re-enable sw ACR support on pre-DCE4 drm/radeon/dpm: disable bapm on TN asics drm/radeon: improve soft reset on CIK drm/radeon: improve soft reset on SI drm/radeon/dpm: off by one in si_set_mc_special_registers() drm/radeon/dpm/btc: off by one in btc_set_mc_special_registers() drm/radeon: forever loop on error in radeon_do_test_moves() drm/radeon: fix hw contexts for SUMO2 asics drm/radeon: fix typo in CP DMA register headers drm/radeon/dpm: disable multiple UVD states drm/radeon: use hw generated CTS/N values for audio drm/radeon: fix N/CTS clock matching for audio drm/radeon: use 64-bit math to calculate CTS values for audio (v2) drm/edid: catch kmalloc failure in drm_edid_to_speaker_allocation Revert "drm/fb-helper: don't sleep for screen unblank when an oops is in progress" drm/gma500: fix things after get/put page helpers drm/nouveau/mc: disable msi support by default, it's busted in tons of places drm/i915: Only apply DPMS to the encoder if enabled ...
2013-10-11ARM: OMAP2+: Add WLAN modules and of_serial to omap2plus_defconfigTony Lindgren1-0/+9
Many boards have either WL12XX or MWIFIEX, so let's build modules for those by default. This also makes it easier to test WLAN on pandaboard to avoid regressions like we had with the move to device tree based booting. And at least the zoom boards need the of_serial for the UARTs connected to the GPMC bus. Signed-off-by: Tony Lindgren <[email protected]>
2013-10-11ARM: OMAP2+: Run make savedefconfig on omap2plus_defconfig to shrink itTony Lindgren1-62/+30
We can save few tens of lines this way, and it is easier to generate minimal patches against omap2plus_defconfig. Signed-off-by: Tony Lindgren <[email protected]>
2013-10-11ARM: OMAP2+: Add minimal 8250 support for GPMCTony Lindgren1-0/+38
Just initialize things using the bootloader timings like we've been doing for the legacy booting too. It should be possible to patch in the GPMC timings for the based on the TL16CP743C/TL16C754C manual at: http://www.ti.com/lit/ds/slls644g/slls644g.pdf Signed-off-by: Tony Lindgren <[email protected]>
2013-10-11ARM: OMAP2+: Use pdata quirks for wl12xx for omap3 evm and zoom3Tony Lindgren1-0/+12
As the wl12xx bindings are still pending, this way we can get things working for omap3 evm and zoom platforms. Signed-off-by: Tony Lindgren <[email protected]>
2013-10-11ALSA: hda - Sony VAIO Pro 13 (haswell) now has a working headset jackDavid Henningsson1-0/+2
Just got the positive confirmation from a tester: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1227093/comments/28 Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-10-11ALSA: hda - Add a headset mic model for ALC269 and friendsDavid Henningsson2-0/+16
Using the headset mic model will cause the headset mic to be labeled "headset mic" instead of just "mic". Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-10-11ALSA: hda - Fix microphone for Sony VAIO Pro 13 (Haswell model)David Henningsson1-0/+9
The external mic showed up with a precense detect of "always present", essentially disabling the internal mic. Therefore turn off presence detection for this pin. Note: The external mic seems not yet working, but an internal mic is certainly better than no mic at all. Cc: [email protected] BugLink: https://bugs.launchpad.net/bugs/1227093 Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-10-11compiler/gcc4: Add quirk for 'asm goto' miscompilation bugIngo Molnar9-11/+26
Fengguang Wu, Oleg Nesterov and Peter Zijlstra tracked down a kernel crash to a GCC bug: GCC miscompiles certain 'asm goto' constructs, as outlined here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 Implement a workaround suggested by Jakub Jelinek. Reported-and-tested-by: Fengguang Wu <[email protected]> Reported-by: Oleg Nesterov <[email protected]> Reported-by: Peter Zijlstra <[email protected]> Suggested-by: Jakub Jelinek <[email protected]> Reviewed-by: Richard Henderson <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Andrew Morton <[email protected]> Cc: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2013-10-11Revert "i915: Update VGA arbiter support for newer devices"Dave Airlie3-38/+3
This reverts commit 81b5c7bc8de3e6f63419139c2fc91bf81dea8a7d. Adding drm/i915 into the vga arbiter chain means that X (in a piece of well-meant paranoia) will do a get/put on the vga decoding around _every_ accel call down into the ddx. Which results in some nice performance disasters [1]. This really breaks userspace, by disabling DRI for everyone, and stops OpenGL from working, this isn't limited to just the i915 but both the integrated and discrete GPUs on multi-gpu systems, in other words this causes untold worlds of pain, Ville tried to come up with a Great Hack to fiddle the required VGA I/O ops behind everyone's back using stop_machine, but that didn't really work out [2]. Given that we're fairly late in the -rc stage for such games let's just revert this all. One thing we might want to keep is to delay the disabling of the vga decoding until the fbdev emulation and the fbcon screen is set up. If we kill vga mem decoding beforehand fbcon can end up with a white square in the top-left corner it tried to save from the vga memory for a seamless transition. And we have bug reports on older platforms which seem to match these symptoms. But again that's something to play around with in -next. References: [1] http://lists.x.org/archives/xorg-devel/2013-September/037763.html References: [2] http://www.spinics.net/lists/intel-gfx/msg34062.html Cc: Alex Williamson <[email protected]> Cc: Ville Syrjälä <[email protected]> Cc: Chris Wilson <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-10-11Revert "drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff ↵Dave Airlie3-23/+11
is done" This reverts commit 6e1b4fdad5157bb9e88777d525704aba24389bee. This is part of a revert due to a userspace breakage, better explained in the revert of 1a1a4cbf4906a13c0c377f708df5d94168e7b582. Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-10-11Merge branch 'drm-fixes-3.12' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie15-25/+53
into drm-fixes Regression fixes for audio and UVD, several hang fixes, some DPM fixes. * 'drm-fixes-3.12' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: re-enable sw ACR support on pre-DCE4 drm/radeon/dpm: disable bapm on TN asics drm/radeon: improve soft reset on CIK drm/radeon: improve soft reset on SI drm/radeon/dpm: off by one in si_set_mc_special_registers() drm/radeon/dpm/btc: off by one in btc_set_mc_special_registers() drm/radeon: forever loop on error in radeon_do_test_moves() drm/radeon: fix hw contexts for SUMO2 asics drm/radeon: fix typo in CP DMA register headers drm/radeon/dpm: disable multiple UVD states drm/radeon: use hw generated CTS/N values for audio drm/radeon: fix N/CTS clock matching for audio drm/radeon: use 64-bit math to calculate CTS values for audio (v2) drm/edid: catch kmalloc failure in drm_edid_to_speaker_allocation
2013-10-11dma: edma.c: remove edma_desc leakageGeyslan G. Bem1-0/+1
Free memory allocated to edma_desc when failing to allocate slot. Signed-off-by: Geyslan G. Bem <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-10-11rcar-hpbdma: add parameter to set_slave() methodSergei Shtylyov1-2/+5
Commit 4981c4dc194efb18f0e9a02f1b43e926f2f0d2bb (DMA: shdma: switch DT mode to use configuration data from a match table) added a new parameter to set_slave() method but unfortunately got merged later than commit c4f6c41ba790bbbfcebb4c47a (dma: add driver for R-Car HPB-DMAC), so that the HPB-DMAC driver retained the old prototype which caused this warning: drivers/dma/sh/rcar-hpbdma.c:485: warning: initialization from incompatible pointer type The newly added parameter is used to override DMA slave address from 'struct hpb_dmae_slave_config', so we have to add the 'slave_addr' field to 'struct hpb_dmae_chan', conditionally assign it in set_slave() method, and return in slave_addr() method. Signed-off-by: Sergei Shtylyov <[email protected]> Tested-by: Simon Horman <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-10-11rcar-hpbdma: remove shdma_free_irq() callsSergei Shtylyov1-2/+0
Commit c1c63a14f4f2419d093acd7164eccdff315baa86 (DMA: shdma: switch to managed resource allocation) got rid of shdma_free_irq() but unfortunately got merged later than commit c4f6c41ba790bbbfcebb4c47a709ac8ff1fe1af9 (dma: add driver for R-Car HPB-DMAC), so that the HPB-DMAC driver retained the calls and got broken: drivers/dma/sh/rcar-hpbdma.c: In function `hpb_dmae_alloc_chan_resources': drivers/dma/sh/rcar-hpbdma.c:435: error: implicit declaration of function `shdma_free_irq' Fix this compilation error by removing the remaining shdma_free_irq() calls. Reported-by: Simon Horman <[email protected]> Signed-off-by: Sergei Shtylyov <[email protected]> Tested-by: Simon Horman <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-10-10Btrfs: fix oops caused by the space balance and dead rootsMiao Xie3-7/+17
When doing space balance and subvolume destroy at the same time, we met the following oops: kernel BUG at fs/btrfs/relocation.c:2247! RIP: 0010: [<ffffffffa04cec16>] prepare_to_merge+0x154/0x1f0 [btrfs] Call Trace: [<ffffffffa04b5ab7>] relocate_block_group+0x466/0x4e6 [btrfs] [<ffffffffa04b5c7a>] btrfs_relocate_block_group+0x143/0x275 [btrfs] [<ffffffffa0495c56>] btrfs_relocate_chunk.isra.27+0x5c/0x5a2 [btrfs] [<ffffffffa0459871>] ? btrfs_item_key_to_cpu+0x15/0x31 [btrfs] [<ffffffffa048b46a>] ? btrfs_get_token_64+0x7e/0xcd [btrfs] [<ffffffffa04a3467>] ? btrfs_tree_read_unlock_blocking+0xb2/0xb7 [btrfs] [<ffffffffa049907d>] btrfs_balance+0x9c7/0xb6f [btrfs] [<ffffffffa049ef84>] btrfs_ioctl_balance+0x234/0x2ac [btrfs] [<ffffffffa04a1e8e>] btrfs_ioctl+0xd87/0x1ef9 [btrfs] [<ffffffff81122f53>] ? path_openat+0x234/0x4db [<ffffffff813c3b78>] ? __do_page_fault+0x31d/0x391 [<ffffffff810f8ab6>] ? vma_link+0x74/0x94 [<ffffffff811250f5>] vfs_ioctl+0x1d/0x39 [<ffffffff811258c8>] do_vfs_ioctl+0x32d/0x3e2 [<ffffffff811259d4>] SyS_ioctl+0x57/0x83 [<ffffffff813c3bfa>] ? do_page_fault+0xe/0x10 [<ffffffff813c73c2>] system_call_fastpath+0x16/0x1b It is because we returned the error number if the reference of the root was 0 when doing space relocation. It was not right here, because though the root was dead(refs == 0), but the space it held still need be relocated, or we could not remove the block group. So in this case, we should return the root no matter it is dead or not. Signed-off-by: Miao Xie <[email protected]> Signed-off-by: Josef Bacik <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2013-10-10Btrfs: insert orphan roots into fs radix treeMiao Xie1-5/+3
Now we don't drop all the deleted snapshots/subvolumes before the space balance. It means we have to relocate the space which is held by the dead snapshots/subvolumes. So we must into them into fs radix tree, or we would forget to commit the change of them when doing transaction commit, and it would corrupt the metadata. Signed-off-by: Miao Xie <[email protected]> Signed-off-by: Josef Bacik <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2013-10-10Btrfs: limit delalloc pages outside of find_delalloc_rangeJosef Bacik1-8/+4
Liu fixed part of this problem and unfortunately I steered him in slightly the wrong direction and so didn't completely fix the problem. The problem is we limit the size of the delalloc range we are looking for to max bytes and then we try to lock that range. If we fail to lock the pages in that range we will shrink the max bytes to a single page and re loop. However if our first page is inside of the delalloc range then we will end up limiting the end of the range to a period before our first page. This is illustrated below [0 -------- delalloc range --------- 256mb] [page] So find_delalloc_range will return with delalloc_start as 0 and end as 128mb, and then we will notice that delalloc_start < *start and adjust it up, but not adjust delalloc_end up, so things go sideways. To fix this we need to not limit the max bytes in find_delalloc_range, but in find_lock_delalloc_range and that way we don't end up with this confusion. Thanks, Signed-off-by: Josef Bacik <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2013-10-10Btrfs: use right root when checking for hash collisionJosef Bacik1-1/+1
btrfs_rename was using the root of the old dir instead of the root of the new dir when checking for a hash collision, so if you tried to move a file into a subvol it would freak out because it would see the file you are trying to move in its current root. This fixes the bug where this would fail btrfs subvol create test1 btrfs subvol create test2 mv test1 test2. Thanks to Chris Murphy for catching this, Cc: [email protected] Reported-by: Chris Murphy <[email protected]> Signed-off-by: Josef Bacik <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2013-10-10bcache: Fix a null ptr deref regressionKent Overstreet1-2/+1
Commit c0f04d88e46d ("bcache: Fix flushes in writeback mode") was fixing a reported data corruption bug, but it seems some last minute refactoring or rebasing introduced a null pointer deref. Signed-off-by: Kent Overstreet <[email protected]> Cc: linux-stable <[email protected]> # >= v3.10 Reported-by: Gabriel de Perthuis <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>