1. 08 Feb, 2013 3 commits
    • Russell King's avatar
      ARM: DMA mapping: fix bad atomic test · 633dc92a
      Russell King authored
      Realview fails to boot with this warning:
      BUG: spinlock lockup suspected on CPU#0, init/1
       lock: 0xcf8bde10, .magic: dead4ead, .owner: init/1, .owner_cpu: 0
      Backtrace:
      [<c00185d8>] (dump_backtrace+0x0/0x10c) from [<c03294e8>] (dump_stack+0x18/0x1c) r6:cf8bde10 r5:cf83d1c0 r4:cf8bde10 r3:cf83d1c0
      [<c03294d0>] (dump_stack+0x0/0x1c) from [<c018926c>] (spin_dump+0x84/0x98)
      [<c01891e8>] (spin_dump+0x0/0x98) from [<c0189460>] (do_raw_spin_lock+0x100/0x198)
      [<c0189360>] (do_raw_spin_lock+0x0/0x198) from [<c032cbac>] (_raw_spin_lock+0x3c/0x44)
      [<c032cb70>] (_raw_spin_lock+0x0/0x44) from [<c01c9224>] (pl011_console_write+0xe8/0x11c)
      [<c01c913c>] (pl011_console_write+0x0/0x11c) from [<c002aea8>] (call_console_drivers.clone.7+0xdc/0x104)
      [<c002adcc>] (call_console_drivers.clone.7+0x0/0x104) from [<c002b320>] (console_unlock+0x2e8/0x454)
      [<c002b038>] (console_unlock+0x0/0x454) from [<c002b8b4>] (vprintk_emit+0x2d8/0x594)
      [<c002b5dc>] (vprintk_emit+0x0/0x594) from [<c0329718>] (printk+0x3c/0x44)
      [<c03296dc>] (printk+0x0/0x44) from [<c002929c>] (warn_slowpath_common+0x28/0x6c)
      [<c0029274>] (warn_slowpath_common+0x0/0x6c) from [<c0029304>] (warn_slowpath_null+0x24/0x2c)
      [<c00292e0>] (warn_slowpath_null+0x0/0x2c) from [<c0070ab0>] (lockdep_trace_alloc+0xd8/0xf0)
      [<c00709d8>] (lockdep_trace_alloc+0x0/0xf0) from [<c00c0850>] (kmem_cache_alloc+0x24/0x11c)
      [<c00c082c>] (kmem_cache_alloc+0x0/0x11c) from [<c00bb044>] (__get_vm_area_node.clone.24+0x7c/0x16c)
      [<c00bafc8>] (__get_vm_area_node.clone.24+0x0/0x16c) from [<c00bb7b8>] (get_vm_area_caller+0x48/0x54)
      [<c00bb770>] (get_vm_area_caller+0x0/0x54) from [<c0020064>] (__alloc_remap_buffer.clone.15+0x38/0xb8)
      [<c002002c>] (__alloc_remap_buffer.clone.15+0x0/0xb8) from [<c0020244>] (__dma_alloc+0x160/0x2c8)
      [<c00200e4>] (__dma_alloc+0x0/0x2c8) from [<c00204d8>] (arm_dma_alloc+0x88/0xa0)[<c0020450>] (arm_dma_alloc+0x0/0xa0) from [<c00beb00>] (dma_pool_alloc+0xcc/0x1a8)
      [<c00bea34>] (dma_pool_alloc+0x0/0x1a8) from [<c01a9d14>] (pl08x_fill_llis_for_desc+0x28/0x568)
      [<c01a9cec>] (pl08x_fill_llis_for_desc+0x0/0x568) from [<c01aab8c>] (pl08x_prep_slave_sg+0x258/0x3b0)
      [<c01aa934>] (pl08x_prep_slave_sg+0x0/0x3b0) from [<c01c9f74>] (pl011_dma_tx_refill+0x140/0x288)
      [<c01c9e34>] (pl011_dma_tx_refill+0x0/0x288) from [<c01ca748>] (pl011_start_tx+0xe4/0x120)
      [<c01ca664>] (pl011_start_tx+0x0/0x120) from [<c01c54a4>] (__uart_start+0x48/0x4c)
      [<c01c545c>] (__uart_start+0x0/0x4c) from [<c01c632c>] (uart_start+0x2c/0x3c)
      [<c01c6300>] (uart_start+0x0/0x3c) from [<c01c795c>] (uart_write+0xcc/0xf4)
      [<c01c7890>] (uart_write+0x0/0xf4) from [<c01b0384>] (n_tty_write+0x1c0/0x3e4)
      [<c01b01c4>] (n_tty_write+0x0/0x3e4) from [<c01acfe8>] (tty_write+0x144/0x240)
      [<c01acea4>] (tty_write+0x0/0x240) from [<c01ad17c>] (redirected_tty_write+0x98/0xac)
      [<c01ad0e4>] (redirected_tty_write+0x0/0xac) from [<c00c371c>] (vfs_write+0xbc/0x150)
      [<c00c3660>] (vfs_write+0x0/0x150) from [<c00c39c0>] (sys_write+0x4c/0x78)
      [<c00c3974>] (sys_write+0x0/0x78) from [<c0014460>] (ret_fast_syscall+0x0/0x3c)
      
      This happens because the DMA allocation code is not respecting atomic
      allocations correctly.
      
      GFP flags should not be tested for GFP_ATOMIC to determine if an
      atomic allocation is being requested.  GFP_ATOMIC is not a flag but
      a value.  The GFP bitmask flags are all prefixed with __GFP_.
      
      The rest of the kernel tests for __GFP_WAIT not being set to indicate
      an atomic allocation.  We need to do the same.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      633dc92a
    • Russell King's avatar
      ARM: realview: ensure that we have sufficient IRQs available · e210101d
      Russell King authored
      Realview EB with a rev B MPcore tile results in lots of warnings at
      boot because it can't allocate enough IRQs.  Fix this by increasing
      the number of available IRQs.
      
      WARNING: at /home/rmk/git/linux-rmk/arch/arm/common/gic.c:757 gic_init_bases+0x12c/0x2ec()
      Cannot allocate irq_descs @ IRQ96, assuming pre-allocated
      Modules linked in:
      Backtrace:
      [<c00185d8>] (dump_backtrace+0x0/0x10c) from [<c03294e8>] (dump_stack+0x18/0x1c) r6:000002f5 r5:c042c62c r4:c044ff40 r3:c045f240
      [<c03294d0>] (dump_stack+0x0/0x1c) from [<c00292c8>] (warn_slowpath_common+0x54/0x6c)
      [<c0029274>] (warn_slowpath_common+0x0/0x6c) from [<c0029384>] (warn_slowpath_fmt+0x38/0x40)
      [<c002934c>] (warn_slowpath_fmt+0x0/0x40) from [<c042c62c>] (gic_init_bases+0x12c/0x2ec)
      [<c042c500>] (gic_init_bases+0x0/0x2ec) from [<c042cdc8>] (gic_init_irq+0x8c/0xd8)
      [<c042cd3c>] (gic_init_irq+0x0/0xd8) from [<c042827c>] (init_IRQ+0x1c/0x24)
      [<c0428260>] (init_IRQ+0x0/0x24) from [<c04256c8>] (start_kernel+0x1a4/0x300)
      [<c0425524>] (start_kernel+0x0/0x300) from [<70008070>] (0x70008070)
      ---[ end trace 1b75b31a2719ed1c ]---
      ------------[ cut here ]------------
      WARNING: at /home/rmk/git/linux-rmk/kernel/irq/irqdomain.c:234 irq_domain_add_legacy+0x80/0x140()
      Modules linked in:
      Backtrace:
      [<c00185d8>] (dump_backtrace+0x0/0x10c) from [<c03294e8>] (dump_stack+0x18/0x1c) r6:000000ea r5:c0081a38 r4:00000000 r3:c045f240
      [<c03294d0>] (dump_stack+0x0/0x1c) from [<c00292c8>] (warn_slowpath_common+0x54/0x6c)
      [<c0029274>] (warn_slowpath_common+0x0/0x6c) from [<c0029304>] (warn_slowpath_null+0x24/0x2c)
      [<c00292e0>] (warn_slowpath_null+0x0/0x2c) from [<c0081a38>] (irq_domain_add_legacy+0x80/0x140)
      [<c00819b8>] (irq_domain_add_legacy+0x0/0x140) from [<c042c64c>] (gic_init_bases+0x14c/0x2ec)
      [<c042c500>] (gic_init_bases+0x0/0x2ec) from [<c042cdc8>] (gic_init_irq+0x8c/0xd8)
      [<c042cd3c>] (gic_init_irq+0x0/0xd8) from [<c042827c>] (init_IRQ+0x1c/0x24)
      [<c0428260>] (init_IRQ+0x0/0x24) from [<c04256c8>] (start_kernel+0x1a4/0x300)
      [<c0425524>] (start_kernel+0x0/0x300) from [<70008070>] (0x70008070)
      ---[ end trace 1b75b31a2719ed1d ]---
      ------------[ cut here ]------------
      WARNING: at /home/rmk/git/linux-rmk/arch/arm/common/gic.c:762 gic_init_bases+0x170/0x2ec()
      Modules linked in:
      Backtrace:
      [<c00185d8>] (dump_backtrace+0x0/0x10c) from [<c03294e8>] (dump_stack+0x18/0x1c) r6:000002fa r5:c042c670 r4:00000000 r3:c045f240
      [<c03294d0>] (dump_stack+0x0/0x1c) from [<c00292c8>] (warn_slowpath_common+0x54/0x6c)
      [<c0029274>] (warn_slowpath_common+0x0/0x6c) from [<c0029304>] (warn_slowpath_null+0x24/0x2c)
      [<c00292e0>] (warn_slowpath_null+0x0/0x2c) from [<c042c670>] (gic_init_bases+0x170/0x2ec)
      [<c042c500>] (gic_init_bases+0x0/0x2ec) from [<c042cdc8>] (gic_init_irq+0x8c/0xd8)
      [<c042cd3c>] (gic_init_irq+0x0/0xd8) from [<c042827c>] (init_IRQ+0x1c/0x24)
      [<c0428260>] (init_IRQ+0x0/0x24) from [<c04256c8>] (start_kernel+0x1a4/0x300)
      [<c0425524>] (start_kernel+0x0/0x300) from [<70008070>] (0x70008070)
      ---[ end trace 1b75b31a2719ed1e ]---
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      e210101d
    • Russell King's avatar
      ARM: GIC: fix GIC cpumask initialization · 2bb31351
      Russell King authored
      Punit Agrawal reports:
      > I was trying to boot 3.8-rc5 on Realview EB 11MPCore using
      > realview-smp_defconfig as a starting point but the kernel failed to
      > progress past the log below (config attached).
      >
      > Pawel suggested I try reverting 384a2902 - "ARM: gic: use a private
      > mapping for CPU target interfaces" that you've authored. With this
      > commit reverted the kernel boots.
      >
      > I am not quite sure why the commit breaks 11MPCore but Pawel (cc'd)
      > might be able to shed light on that.
      
      Some early GIC implementations return zero for the first distributor
      CPU routing register.  This means we can't rely on that telling us
      which CPU interface we're connected to.  We know that these platforms
      implement PPIs for IRQs 29-31 - but we shouldn't assume that these
      will always be populated.
      
      So, instead, scan for a non-zero CPU routing register in the first
      32 IRQs and use that as our CPU mask.
      Reported-by: default avatarPunit Agrawal <punit.agrawal@arm.com>
      Reviewed-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      2bb31351
  2. 25 Jan, 2013 4 commits
    • Linus Torvalds's avatar
      Linux 3.8-rc5 · 949db153
      Linus Torvalds authored
      949db153
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · d7df025e
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "It turns out that we had two crc bugs when running fsx-linux in a
        loop.  Many thanks to Josef, Miao Xie, and Dave Sterba for nailing it
        all down.  Miao also has a new OOM fix in this v2 pull as well.
      
        Ilya fixed a regression Liu Bo found in the balance ioctls for pausing
        and resuming a running balance across drives.
      
        Josef's orphan truncate patch fixes an obscure corruption we'd see
        during xfstests.
      
        Arne's patches address problems with subvolume quotas.  If the user
        destroys quota groups incorrectly the FS will refuse to mount.
      
        The rest are smaller fixes and plugs for memory leaks."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (30 commits)
        Btrfs: fix repeated delalloc work allocation
        Btrfs: fix wrong max device number for single profile
        Btrfs: fix missed transaction->aborted check
        Btrfs: Add ACCESS_ONCE() to transaction->abort accesses
        Btrfs: put csums on the right ordered extent
        Btrfs: use right range to find checksum for compressed extents
        Btrfs: fix panic when recovering tree log
        Btrfs: do not allow logged extents to be merged or removed
        Btrfs: fix a regression in balance usage filter
        Btrfs: prevent qgroup destroy when there are still relations
        Btrfs: ignore orphan qgroup relations
        Btrfs: reorder locks and sanity checks in btrfs_ioctl_defrag
        Btrfs: fix unlock order in btrfs_ioctl_rm_dev
        Btrfs: fix unlock order in btrfs_ioctl_resize
        Btrfs: fix "mutually exclusive op is running" error code
        Btrfs: bring back balance pause/resume logic
        btrfs: update timestamps on truncate()
        btrfs: fix btrfs_cont_expand() freeing IS_ERR em
        Btrfs: fix a bug when llseek for delalloc bytes behind prealloc extents
        Btrfs: fix off-by-one in lseek
        ...
      d7df025e
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 66e2d3e8
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Two small cifs fixes"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        fs/cifs/cifs_dfs_ref.c: fix potential memory leakage
        cifs: fix srcip_matches() for ipv6
      66e2d3e8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · d93816a6
      Linus Torvalds authored
      Pull kvm fixlet from Marcelo Tosatti.
      
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: PPC: Emulate dcbf
      d93816a6
  3. 24 Jan, 2013 26 commits
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 01acd3ef
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "A number of fixes:
      
        Patrik found a problem with preempt counting in the VFP assembly
        functions which can cause the preempt count to be upset.
      
        Nicolas fixed a problem with the parsing of the DT when it straddles a
        1MB boundary.
      
        Subhash Jadavani reported a problem with sparsemem and our highmem
        support for cache maintanence for DMA areas, and TI found a bug in
        their strongly ordered memory mapping type.
      
        Also, three fixes by way of Will Deacon's tree from Dave Martin for
        instruction compatibility and Marc Zyngier to fix hypervisor boot mode
        issues."
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7629/1: mm: Fix missing XN flag for for MT_MEMORY_SO
        ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with sparsemem
        ARM: 7628/1: head.S: map one extra section for the ATAG/DTB area
        ARM: 7627/1: Predicate preempt logic on PREEMP_COUNT not PREEMPT alone
        ARM: virt: simplify __hyp_stub_install epilog
        ARM: virt: boot secondary CPUs through the right entry point
        ARM: virt: Avoid bx instruction for compatibility with <=ARMv4
      01acd3ef
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 1496ec13
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Here's a long-pending fixes pull request for arm-soc (I didn't send
        one in the -rc4 cycle).
      
        The larger deltas are from:
      
         - A fixup of error paths in the mvsdio driver
      
         - Header file move for a driver that hadn't been properly converted
           to multiplatform on i.MX, which was causing build failures when
           included
      
         - Device tree updates for at91 dealing mostly with their new pinctrl
           setup merged in 3.8 and mistakes in those initial configs
      
        The rest are the normal mix of small fixes all over the place; sunxi,
        omap, imx, mvebu, etc, etc."
      
      * tag 'fixes-for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
        mfd: vexpress-sysreg: Don't skip initialization on probe
        ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
        ARM: vexpress: extend the MPIDR range used for pen release check
        ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii
        ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig
        ARM: at91/at91_dt_defconfig: remove memory specification to cmdline
        ARM: at91/dts: add macb mii pinctrl config for kizbox
        ARM: at91: rm9200: remake the BGA as default version
        ARM: at91: fix gpios on i2c-gpio for RM9200 DT
        ARM: at91/at91sam9x5 DTS: add SCK USART pins
        ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts
        ARM: at91/at91-pinctrl documentation: fix typo and add some details
        ARM: kirkwood: fix missing #interrupt-cells property
        mmc: mvsdio: use devm_ API to simplify/correct error paths.
        clk: mvebu/clk-cpu.c: fix memory leakage
        ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport
        ARM: OMAP2+: DT node Timer iteration fix
        ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()
        ARM: OMAP2+: fix build break for omapdrm
        ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls
        ...
      1496ec13
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-for-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ba2ab41f
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
      
       - Two cpuidle initialization fixes from Konrad Rzeszutek Wilk.
      
       - cpufreq regression fixes for AMD processors from Borislav Petkov,
         Stefan Bader, and Matthew Garrett.
      
       - ACPI cpufreq fix from Thomas Schlichter.
      
       - cpufreq and devfreq fixes related to incorrect usage of operating
         performance points (OPP) framework and RCU from Nishanth Menon.
      
       - APEI workaround for incorrect BIOS information from Lans Zhang.
      
      * tag 'pm+acpi-for-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: Add module aliases for acpi-cpufreq
        ACPI: Check MSR valid bit before using P-state frequencies
        PM / devfreq: exynos4_bus: honor RCU lock usage
        PM / devfreq: add locking documentation for recommended_opp
        cpufreq: cpufreq-cpu0: use RCU locks around usage of OPP
        cpufreq: OMAP: use RCU locks around usage of OPP
        ACPI, APEI: Fixup incorrect 64-bit access width firmware bug
        ACPI / processor: Get power info before updating the C-states
        powernow-k8: Add a kconfig dependency on acpi-cpufreq
        ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled
        intel_idle: Don't register CPU notifier if we are not running.
      ba2ab41f
    • Linus Torvalds's avatar
      Merge tag 'regmap-fix-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · bff92411
      Linus Torvalds authored
      Pull regmap fixes from Mark Brown:
       "One more oversight in the debugfs code was reported and fixed, plus a
        documentation fix."
      
      * tag 'regmap-fix-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: fix small typo in regmap_bulk_write comment
        regmap: debugfs: Fix seeking from the cache
      bff92411
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma · 3f58e094
      Linus Torvalds authored
      Pull slave-dmaengine fixes from Vinod Koul:
       "A few fixes on slave dmanengine.  There are trivial fixes in imx-dma,
        tegra-dma & ioat driver"
      
      * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
        dma: tegra: implement flags parameters for cyclic transfer
        dmaengine: imx-dma: Disable use of hw_chain to fix sg_dma transfers.
        ioat: Fix DMA memory sync direction correct flag
      3f58e094
    • Linus Torvalds's avatar
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · acc5da0f
      Linus Torvalds authored
      Pill i2c fixes from Wolfram Sang:
       "Here are a few, typical driver fixes for the I2C subsystem"
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c-designware: add missing MODULE_LICENSE
        i2c: omap: fix draining irq handling
        i2c: omap: errata i462: fix incorrect ack for arbitration lost interrupt
        i2c: muxes: fix wrong use of sizeof(ptr)
        i2c: sirf: register i2c_client from dt child-nodes in probe entry
        i2c: mxs: Fix type of error code
        i2c: mxs: Fix misuse init_completion
      acc5da0f
    • Miao Xie's avatar
      Btrfs: fix repeated delalloc work allocation · 1eafa6c7
      Miao Xie authored
      btrfs_start_delalloc_inodes() locks the delalloc_inodes list, fetches the
      first inode, unlocks the list, triggers btrfs_alloc_delalloc_work/
      btrfs_queue_worker for this inode, and then it locks the list, checks the
      head of the list again. But because we don't delete the first inode that it
      deals with before, it will fetch the same inode. As a result, this function
      allocates a huge amount of btrfs_delalloc_work structures, and OOM happens.
      
      Fix this problem by splice this delalloc list.
      Reported-by: default avatarAlex Lyakas <alex.btrfs@zadarastorage.com>
      Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      1eafa6c7
    • Miao Xie's avatar
      Btrfs: fix wrong max device number for single profile · c9f01bfe
      Miao Xie authored
      The max device number of single profile is 1, not 0 (0 means 'as many as
      possible'). Fix it.
      
      Cc: Liu Bo <bo.li.liu@oracle.com>
      Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
      Reviewed-by: default avatarLiu Bo <bo.li.liu@oracle.com>
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      c9f01bfe
    • Miao Xie's avatar
      Btrfs: fix missed transaction->aborted check · 2cba30f1
      Miao Xie authored
      First, though the current transaction->aborted check can stop the commit early
      and avoid unnecessary operations, it is too early, and some transaction handles
      don't end, those handles may set transaction->aborted after the check.
      
      Second, when we commit the transaction, we will wake up some worker threads to
      flush the space cache and inode cache. Those threads also allocate some transaction
      handles and may set transaction->aborted if some serious error happens.
      
      So we need more check for ->aborted when committing the transaction. Fix it.
      Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      2cba30f1
    • Miao Xie's avatar
      Btrfs: Add ACCESS_ONCE() to transaction->abort accesses · 8d25a086
      Miao Xie authored
      We may access and update transaction->aborted on the different CPUs without
      lock, so we need ACCESS_ONCE() wrapper to prevent the compiler from creating
      unsolicited accesses and make sure we can get the right value.
      Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      8d25a086
    • Josef Bacik's avatar
      Btrfs: put csums on the right ordered extent · e58dd74b
      Josef Bacik authored
      I noticed a WARN_ON going off when adding csums because we were going over
      the amount of csum bytes that should have been allowed for an ordered
      extent.  This is a leftover from when we used to hold the csums privately
      for direct io, but now we use the normal ordered sum stuff so we need to
      make sure and check if we've moved on to another extent so that the csums
      are added to the right extent.  Without this we could end up with csums for
      bytenrs that don't have extents to cover them yet.  Thanks,
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      e58dd74b
    • Liu Bo's avatar
      Btrfs: use right range to find checksum for compressed extents · 192000dd
      Liu Bo authored
      For compressed extents, the range of checksum is covered by disk length,
      and the disk length is different with ram length, so we need to use disk
      length instead to get us the right checksum.
      Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      192000dd
    • Josef Bacik's avatar
      Btrfs: fix panic when recovering tree log · b0175117
      Josef Bacik authored
      A user reported a BUG_ON(ret) that occured during tree log replay.  Ret was
      -EAGAIN, so what I think happened is that we removed an extent that covered
      a bitmap entry and an extent entry.  We remove the part from the bitmap and
      return -EAGAIN and then search for the next piece we want to remove, which
      happens to be an entire extent entry, so we just free the sucker and return.
      The problem is ret is still set to -EAGAIN so we trip the BUG_ON().  The
      user used btrfs-zero-log so I'm not 100% sure this is what happened so I've
      added a WARN_ON() to catch the other possibility.  Thanks,
      Reported-by: default avatarJan Steffens <jan.steffens@gmail.com>
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      b0175117
    • Josef Bacik's avatar
      Btrfs: do not allow logged extents to be merged or removed · 201a9038
      Josef Bacik authored
      We drop the extent map tree lock while we're logging extents, so somebody
      could come in and merge another extent into this one and screw up our
      logging, or they could even remove us from the list which would keep us from
      logging the extent or freeing our ref on it, so we need to make sure to not
      clear LOGGING until after the extent is logged, and then we can merge it to
      adjacent extents.  Thanks,
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      201a9038
    • Olof Johansson's avatar
      Merge branch 'vexpress/fixes' of git://git.linaro.org/people/pawelmoll/linux into fixes · 3836414f
      Olof Johansson authored
      From Pawel Moll:
      - makes the V2P-CA15_A7 (a.k.a. TC2) work with 3.8 kernels
      - improves vexpress-sysreg.c behaviour on arm64 platforms
      
      * 'vexpress/fixes' of git://git.linaro.org/people/pawelmoll/linux:
        mfd: vexpress-sysreg: Don't skip initialization on probe
        ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
        ARM: vexpress: extend the MPIDR range used for pen release check
      3836414f
    • Olof Johansson's avatar
      Merge tag 'at91-fixes' of git://github.com/at91linux/linux-at91 into fixes · 60fd8e35
      Olof Johansson authored
      From Nicolas Ferre:
      Here are fixes for AT91 that are mainly related to device tree.
      One RM9200 setup option is the only C code change.
      Some documentation changes can clarify the pinctrl use.
      Then, some defconfig modifications are allowing the affected platforms
      to boot.
      
      * tag 'at91-fixes' of git://github.com/at91linux/linux-at91:
        ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii
        ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig
        ARM: at91/at91_dt_defconfig: remove memory specification to cmdline
        ARM: at91/dts: add macb mii pinctrl config for kizbox
        ARM: at91: rm9200: remake the BGA as default version
        ARM: at91: fix gpios on i2c-gpio for RM9200 DT
        ARM: at91/at91sam9x5 DTS: add SCK USART pins
        ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts
        ARM: at91/at91-pinctrl documentation: fix typo and add some details
      60fd8e35
    • Pawel Moll's avatar
      mfd: vexpress-sysreg: Don't skip initialization on probe · 52666298
      Pawel Moll authored
      The vexpress-sysreg driver does not have to be initialized
      early, when the platform doesn't require this. Unfortunately
      in such case it wasn't initialized correctly - master site
      lookup and config bridge registration were missing. Fixed now.
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      52666298
    • Pawel Moll's avatar
      ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree · ab838bc9
      Pawel Moll authored
      As the kernel is able to cope with multiple clusters,
      uncomment the A7 cores in the Device Tree for V2P-CA15_A7
      tile, making all 5 cores available to the user.
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      ab838bc9
    • Lorenzo Pieralisi's avatar
      ARM: vexpress: extend the MPIDR range used for pen release check · 1585defb
      Lorenzo Pieralisi authored
      In ARM multi-cluster systems the MPIDR affinity level 0 cannot be used as a
      single cpu identifier, affinity levels 1 and 2 must be taken into account as
      well.
      This patch extends the MPIDR usage to affinity levels 1 and 2 in versatile
      secondary cores start up code in order to compare the passed pen_release
      value with the full-blown affinity mask.
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      1585defb
    • Mark Brown's avatar
      af4ca6a8
    • Olof Johansson's avatar
      Merge tag 'imx-fixes-3.8-3' of git://git.linaro.org/people/shawnguo/linux-2.6 into fixes · 4ad3041d
      Olof Johansson authored
      From Shawn Guo:
      
      This is yet another critical imxfb fixes held off by absence of FB
      maintainer for some time.
      
      * tag 'imx-fixes-3.8-3' of git://git.linaro.org/people/shawnguo/linux-2.6:
        video: imxfb: Do not crash on reboot
      4ad3041d
    • Olof Johansson's avatar
      Merge tag 'mvebu_fixes_for_v3.8-rc5' of git://git.infradead.org/users/jcooper/linux into fixes · f6be19c8
      Olof Johansson authored
      From Jason Cooper:
      
      mvebu fixes for v3.8-rc5
       - fix memory leak in mvebu/clk-cpu.c
       - use devm_ to correct/simplify error paths in mvsdio
       - add missing #interrupt-cells property in kirkwood
      
      * tag 'mvebu_fixes_for_v3.8-rc5' of git://git.infradead.org/users/jcooper/linux:
        ARM: kirkwood: fix missing #interrupt-cells property
        mmc: mvsdio: use devm_ API to simplify/correct error paths.
        clk: mvebu/clk-cpu.c: fix memory leakage
      f6be19c8
    • Linus Torvalds's avatar
      Merge tag 'usb-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · ff7532ca
      Linus Torvalds authored
      Pull more USB fixes from Greg Kroah-Hartman:
       "Here are some more USB fixes for the 3.8-rc4 tree.
      
        Some gadget driver fixes, and finally resolved the ehci-mxc driver
        build issues (it's just some code moving around and being deleted)."
      
      * tag 'usb-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: EHCI: fix build error in ehci-mxc
        USB: EHCI: add a name for the platform-private field
        USB: EHCI: fix incorrect configuration test
        USB: EHCI: Move definition of EHCI_STATS to ehci.h
        USB: UHCI: fix IRQ race during initialization
        usb: gadget: FunctionFS: Fix missing braces in parse_opts
        usb: dwc3: gadget: fix ep->maxburst for ep0
        ARM: i.MX clock: Change the connection-id for fsl-usb2-udc
        usb: gadget: fsl_mxc_udc: replace MX35_IO_ADDRESS to ioremap
        usb: gadget: fsl-mxc-udc: replace cpu_is_xxx() with platform_device_id
        usb: musb: cppi_dma: drop '__init' annotation
      ff7532ca
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · ae763db4
      Linus Torvalds authored
      Pull drivers/misc fix from Greg Kroah-Hartman:
       "Here is a single revert for the ti-st misc driver, fixing problem that
        was introduced in 3.7-rc1 that has been bothering people."
      
      * tag 'char-misc-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        Revert "drivers/misc/ti-st: remove gpio handling"
      ae763db4
    • Linus Torvalds's avatar
      Merge tag 'tty-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 6f48ea58
      Linus Torvalds authored
      Pull a TTY maintainer patch from Greg Kroah-Hartman:
       "Just a MAINTAINERS update, now that Alan has left for a bit, I'll
        continue to watch over the serial drivers."
      
      * tag 'tty-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        MAINTAINERS: Someone needs to watch over the serial drivers
      6f48ea58
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 2116e02a
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       - gspca: add needed delay for I2C traffic for sonixb/sonixj cameras
       - gspca: add one missing Kinect USB ID
       - usbvideo: some regression fixes
       - omap3isp: fix some build issues
       - videobuf2: fix video output handling
       - exynos s5p/m5mols: a few regression fixes.
      
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] uvcvideo: Set error_idx properly for S_EXT_CTRLS failures
        [media] uvcvideo: Cleanup leftovers of partial revert
        [media] uvcvideo: Return -EACCES when trying to set a read-only control
        [media] omap3isp: Don't include <plat/cpu.h>
        [media] s5p-mfc: Fix interrupt error handling routine
        [media] s5p-fimc: Fix return value of __fimc_md_create_flite_source_links()
        [media] m5mols: Fix typo in get_fmt callback
        [media] v4l: vb2: Set data_offset to 0 for single-plane output buffers
        [media] [FOR,v3.8] omap3isp: Don't include deleted OMAP plat/ header files
        [media] gspca_sonixj: Add a small delay after i2c_w1
        [media] gspca_sonixb: Properly wait between i2c writes
        [media] gspca_kinect: add Kinect for Windows USB id
      2116e02a
  4. 23 Jan, 2013 7 commits