1. 12 Aug, 2012 4 commits
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 88de3d0d
      Linus Torvalds authored
      Pull arm-soc bug fixes from Arnd Bergmann:
       "These are a bunch of bug fixes that came in after the merge window and
        one update for the MAINTAINERS file.
      
        The largest part of the fixes are patches that address bugs found by
        building all the ARM defconfig files.  There are a lot more warnings
        that we have patches for, but the others are either still under
        discussion or are harmless and do not cause actual problems besides
        making the build slightly noisy."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (30 commits)
        ARM: davinci: remove broken ntosd2_init_i2c
        ARM: s3c24xx: enable CONFIG_BUG for tct_hammer
        omap-rng: fix use of SIMPLE_DEV_PM_OPS
        spi/s3c64xx: improve error handling
        mtd/omap2: fix dmaengine_slave_config error handling
        gpio: em: do not discard em_gio_irq_domain_cleanup
        ARM: exynos: exynos_pm_add_dev_to_genpd may be unused
        ARM: imx: gpmi-nand depends on mxs-dma
        ARM: integrator: include <linux/export.h>
        ARM: s3c24xx: use new PWM driver
        ARM: sa1100: include linux/io.h in hackkit leds code
        Input: eeti_ts: pass gpio value instead of IRQ
        ARM: pxa: remove irq_to_gpio from ezx-pcap driver
        ARM: tegra: more regulator fixes for Harmony
        usb/ohci-omap: remove unused variable
        mfd/asic3: fix asic3_mfd_probe return value
        ARM: kirkwood: fix typo in Makefile.boot
        i.MX27: Fix emma-prp and csi clocks.
        ARM: integrator: use clk_prepare_enable() for timer
        MAINTAINERS: update entry for Linus Walleij
        ...
      88de3d0d
    • Linus Torvalds's avatar
      Merge branch 'fixes-for-linus-for-3.6-rc2' of... · f720e7ea
      Linus Torvalds authored
      Merge branch 'fixes-for-linus-for-3.6-rc2' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
      
      Pull three dma-mapping fixes from Marek Szyprowski.
      
      * 'fixes-for-linus-for-3.6-rc2' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
        ARM: dma-mapping: fix incorrect freeing of atomic allocations
        ARM: dma-mapping: fix atomic allocation alignment
        ARM: mm: fix MMU mapping of CMA regions
      f720e7ea
    • Linus Torvalds's avatar
      Merge branch 'for-linus-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 15fc5deb
      Linus Torvalds authored
      Pull btrfs merge fix from Chris Mason:
       "This fixes a merge error in rc1.  The calls to mnt_want_write should
        have been removed."
      
      * 'for-linus-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: remove mnt_want_write call in btrfs_mksubvol
      15fc5deb
    • Jeff Mahoney's avatar
      printk: Fix calculation of length used to discard records · e3756477
      Jeff Mahoney authored
      While tracking down a weird buffer overflow issue in a program that
      looked to be sane, I started double checking the length returned by
      syslog(SYSLOG_ACTION_READ_ALL, ...) to make sure it wasn't overflowing
      the buffer.
      
      Sure enough, it was.  I saw this in strace:
      
        11339 syslog(SYSLOG_ACTION_READ_ALL, "<5>[244017.708129] REISERFS (dev"..., 8192) = 8279
      
      It turns out that the loops that calculate how much space the entries
      will take when they're copied don't include the newlines and prefixes
      that will be included in the final output since prev flags is passed as
      zero.
      
      This patch properly accounts for it and fixes the overflow.
      
      CC: stable@kernel.org
      Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e3756477
  2. 10 Aug, 2012 8 commits
    • Arnd Bergmann's avatar
      ARM: davinci: remove broken ntosd2_init_i2c · de923430
      Arnd Bergmann authored
      ntosd2_init_i2c walks the ntosd2_i2c_info array, which it expects to
      be populated with at least one member. gcc correctly warns about
      the out-of-bounds access here.
      
      Since this can not possibly work, it's better to disable i2c
      support entirely on this board.
      
      Without this patch, building davinci_all_defconfig results in:
      
      arch/arm/mach-davinci/board-neuros-osd2.c: In function 'davinci_ntosd2_init':
      arch/arm/mach-davinci/board-neuros-osd2.c:187:20: warning: array subscript is above array bounds [-Warray-bounds]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarSekhar Nori <nsekhar@ti.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Andrey Porodko <panda@chelcom.ru>
      de923430
    • Arnd Bergmann's avatar
      ARM: s3c24xx: enable CONFIG_BUG for tct_hammer · 15b5eb2d
      Arnd Bergmann authored
      Disabling CONFIG_BUG creates an insane amount of build warnings, which
      makes it useless to check for building defconfigs to see if new
      warnings show up.
      
      Without this patch, building tct_hammer_defconfig results in:
      
      net/packet/af_packet.c: In function 'tpacket_rcv':
      net/packet/af_packet.c:1889:30: warning: 'hdrlen' may be used uninitialized in this function [-Wuninitialized]
      net/core/ethtool.c: In function 'ethtool_get_feature_mask':
      net/core/ethtool.c:213:1: warning: control reaches end of non-void function [-Wreturn-type]
      block/cfq-iosched.c: In function 'cfq_async_queue_prio':
      block/cfq-iosched.c:2914:1: warning: control reaches end of non-void function [-Wreturn-type]
      mm/bootmem.c: In function 'mark_bootmem':
      mm/bootmem.c:352:1: warning: control reaches end of non-void function [-Wreturn-type]
      net/core/dev.c: In function 'skb_warn_bad_offload':
      net/core/dev.c:1904:33: warning: unused variable 'null_features' [-Wunused-variable]
      drivers/mtd/chips/cfi_probe.c: In function 'cfi_chip_setup':
      include/linux/mtd/cfi.h:489:3: warning: 'r.x[0]' may be used uninitialized in this function [-Wuninitialized]
      include/linux/mtd/map.h:394:11: note: 'r.x[0]' was declared here
      include/linux/mtd/cfi.h:489:3: warning: 'r.x[0]' may be used uninitialized in this function [-Wuninitialized]
      (and many more)
      
      The size of vmlinux increases by 1.78% because of this:
      
      size obj-arm/vmlinux.nobug
         text    data     bss     dec     hex filename
         2108474  116916   55352 2280742  22cd26 obj-arm/vmlinux
      size obj-arm/vmlinux.bug
         text    data     bss     dec     hex filename
         2150804  116916   53696 2321416  236c08 obj-arm/vmlinux
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      15b5eb2d
    • Arnd Bergmann's avatar
      Merge branch 'testing/new-warnings' into fixes · b64456a4
      Arnd Bergmann authored
      These patches all fix bugs that were newly introduced in v3.6-rc1
      and found because they cause a gcc warning with one of the ARM
      defconfigs. Most of them are harmless, but since we're trying
      to get rid of all warnings eventually, we can start with the ones
      that were not there before.
      
      * testing/new-warnings:
        omap-rng: fix use of SIMPLE_DEV_PM_OPS
        spi/s3c64xx: improve error handling
        mtd/omap2: fix dmaengine_slave_config error handling
        gpio: em: do not discard em_gio_irq_domain_cleanup
        ARM: exynos: exynos_pm_add_dev_to_genpd may be unused
        usb/ohci-omap: remove unused variable
        mfd/asic3: fix asic3_mfd_probe return value
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      b64456a4
    • Arnd Bergmann's avatar
      omap-rng: fix use of SIMPLE_DEV_PM_OPS · 59596df6
      Arnd Bergmann authored
      omap_rng_suspend and omap_rng_resume are unused if CONFIG_PM is enabled
      but CONFIG_PM_SLEEP is disabled. I found this while building all defconfig
      files on ARM. It's not clear to me if this is the right solution, but
      at least it makes the code consistent again.
      
      Without this patch, building omap1_defconfig results in:
      
      drivers/char/hw_random/omap-rng.c:165:12: warning: 'omap_rng_suspend' defined but not used [-Wunused-function]
      drivers/char/hw_random/omap-rng.c:171:12: warning: 'omap_rng_resume' defined but not used [-Wunused-function]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKevin Hilman <khilman@ti.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      59596df6
    • Arnd Bergmann's avatar
      spi/s3c64xx: improve error handling · 4732cc63
      Arnd Bergmann authored
      When a device tree definition os an s3c64xx SPI master is missing
      a "controller-data" subnode, the newly added s3c64xx_get_slave_ctrldata
      function might use uninitialized memory in place of that node,
      which was correctly reported by gcc.
      
      Without this patch, building s3c6400_defconfig results in:
      
      drivers/spi/spi-s3c64xx.c: In function 's3c64xx_get_slave_ctrldata.isra.25':
      drivers/spi/spi-s3c64xx.c:841:5: warning: 'data_np' may be used uninitialized in this function [-Wuninitialized]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarThomas Abraham <thomas.abraham@linaro.org>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Jaswinder Singh <jaswinder.singh@linaro.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      4732cc63
    • Arnd Bergmann's avatar
      mtd/omap2: fix dmaengine_slave_config error handling · d680e2c1
      Arnd Bergmann authored
      The newly added dmaengine support in the omap2 nand driver
      potentially causes an undefined return value from the
      omap_nand_probe function when dmaengine_slave_config
      reports an error. Let's handle this by returning the
      same error back to the caller.
      
      Without this patch, building omap2plus_defconfig results in:
      
      drivers/mtd/nand/omap2.c: In function 'omap_nand_probe':
      drivers/mtd/nand/omap2.c:1154:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Grazvydas Ignotas <notasas@gmail.com>
      d680e2c1
    • Arnd Bergmann's avatar
      gpio: em: do not discard em_gio_irq_domain_cleanup · 38eaed32
      Arnd Bergmann authored
      The newly added gpio-em driver marks its em_gio_irq_domain_cleanup
      function as __devexit, which would lead to that function being
      discarded in case CONFIG_HOTPLUG is disabled. However, the function
      is also called by the error handling logic em_gio_probe, which
      would cause a jump into a NULL pointer if it was removed from the
      kernel or module.
      
      Without this patch, building kzm9d_defconfig results in:
      
      WARNING: drivers/gpio/built-in.o(.devinit.text+0x330): Section mismatch in reference from the function em_gio_probe() to the function .devexit.text:em_gio_irq_domain_cleanup()
      The function __devinit em_gio_probe() references
      a function __devexit em_gio_irq_domain_cleanup().
      This is often seen when error handling in the init function
      uses functionality in the exit path.
      The fix is often to remove the __devexit annotation of
      em_gio_irq_domain_cleanup() so it may be used outside an exit section.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Magnus Damm <damm@opensource.se>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      38eaed32
    • Arnd Bergmann's avatar
      ARM: exynos: exynos_pm_add_dev_to_genpd may be unused · 8ab08c0c
      Arnd Bergmann authored
      exynos_pm_add_dev_to_genpd is used if one or more out of a large
      number of Kconfig symbols are enabled. However the new
      exynos_defconfig selects none of those, so the function becomes
      unused. Marking it so lets the compiler automatically discard
      it.
      
      Without this patch, building exynos_defconfig results in:
      
      arch/arm/mach-exynos/pm_domains.c:118:123: warning: 'exynos_pm_add_dev_to_genpd' defined but not used [-Wunused-function]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarThomas Abraham <thomas.abraham@linaro.org>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      8ab08c0c
  3. 09 Aug, 2012 11 commits
    • Alexander Block's avatar
      Btrfs: remove mnt_want_write call in btrfs_mksubvol · e00da206
      Alexander Block authored
      We got a recursive lock in mksubvol because the caller already held
      a lock. I think we got into this due to a merge error. Commit a874a63e
      removed the mnt_want_write call from btrfs_mksubvol and added a
      replacement call to mnt_want_write_file in btrfs_ioctl_snap_create_transid.
      Commit e7848683 however tried to move all calls to mnt_want_write above
      i_mutex. So somewhere while merging this, it got mixed up. The
      solution is to remove the mnt_want_write call completely from
      mksubvol.
      Reported-by: default avatarDavid Sterba <dave@jikos.cz>
      Signed-off-by: default avatarAlexander Block <ablock84@googlemail.com>
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
      e00da206
    • Arnd Bergmann's avatar
      ARM: imx: gpmi-nand depends on mxs-dma · a3349377
      Arnd Bergmann authored
      It is not currently possible to build the gpmi-nand driver without
      also building the mxs-dma driver. Clarify this Kconfig and enable
      both in the defconfig file so we can build it again with both enabled.
      
      drivers/built-in.o: In function `gpmi_dma_filter':
      clk-fixed-factor.c:(.text+0xafc18): undefined reference to `mxs_dma_is_apbh'
      make[1]: *** [vmlinux] Error 1
      make: *** [sub-make] Error 2
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarDirk Behme <dirk.behme@de.bosch.com>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      a3349377
    • Arnd Bergmann's avatar
      ARM: integrator: include <linux/export.h> · b434f5c9
      Arnd Bergmann authored
      Without this patch, building integrator_defconfig results in:
      
      arch/arm/mach-integrator/core.c:150:1: warning: data definition has no type or storage class [enabled by default]
      arch/arm/mach-integrator/core.c:150:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
      arch/arm/mach-integrator/core.c:150:1: warning: parameter names (without types) in function declaration [enabled by default]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      b434f5c9
    • Arnd Bergmann's avatar
      ARM: s3c24xx: use new PWM driver · 35e79061
      Arnd Bergmann authored
      The samsung PWM driver has moved to the new PWM subsystem, which
      changed the Kconfig symbol for that driver, but the rx1950 and
      gta02 boards still uses the old one.
      
      Without this patch, building s3c2410_defconfig results in:
      
      arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_lcd_power':
      arch/arm/mach-s3c24xx/mach-rx1950.c:430: undefined reference to `pwm_config'
      arch/arm/mach-s3c24xx/mach-rx1950.c:431: undefined reference to `pwm_disable'
      arch/arm/mach-s3c24xx/mach-rx1950.c:437: undefined reference to `pwm_config'
      arch/arm/mach-s3c24xx/mach-rx1950.c:438: undefined reference to `pwm_enable'
      arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_backlight_exit':
      arch/arm/mach-s3c24xx/mach-rx1950.c:504: undefined reference to `pwm_free'
      arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_backlight_init':
      arch/arm/mach-s3c24xx/mach-rx1950.c:487: undefined reference to `pwm_request'
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reported-by: default avatarTushar Behera <tushar.behera@linaro.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      35e79061
    • Arnd Bergmann's avatar
      ARM: sa1100: include linux/io.h in hackkit leds code · 9c97738c
      Arnd Bergmann authored
      The sa1100 definition of the io_p2v macro has changed in v3.6, and this one
      file stopped working because of that.
      
      Without this patch, building hackkit_defconfig results in:
      
      arch/arm/mach-sa1100/leds-hackkit.c: In function 'hackkit_leds_event':
      arch/arm/mach-sa1100/leds-hackkit.c:39:4: error: implicit declaration of function 'IOMEM' [-Werror=implicit-function-declaration]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      9c97738c
    • Arnd Bergmann's avatar
      Input: eeti_ts: pass gpio value instead of IRQ · 4eef6cbf
      Arnd Bergmann authored
      The EETI touchscreen asserts its IRQ line as soon as it has data in its
      internal buffers. The line is automatically deasserted once all data has
      been read via I2C. Hence, the driver has to monitor the GPIO line and
      cannot simply rely on the interrupt handler reception.
      
      In the current implementation of the driver, irq_to_gpio() is used to
      determine the GPIO number from the i2c_client's IRQ value.
      
      As irq_to_gpio() is not available on all platforms, this patch changes
      this and makes the driver ignore the passed in IRQ. Instead, a GPIO is
      added to the platform_data struct and gpio_to_irq is used to derive the
      IRQ from that GPIO. If this fails, bail out. The driver is only able to
      work in environments where the touchscreen GPIO can be mapped to an
      IRQ.
      
      Without this patch, building raumfeld_defconfig results in:
      
      drivers/input/touchscreen/eeti_ts.c: In function 'eeti_ts_irq_active':
      drivers/input/touchscreen/eeti_ts.c:65:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration]
      Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: stable@vger.kernel.org (v3.2+)
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Sven Neumann <s.neumann@raumfeld.com>
      Cc: linux-input@vger.kernel.org
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      4eef6cbf
    • Arnd Bergmann's avatar
      ARM: pxa: remove irq_to_gpio from ezx-pcap driver · 59ee93a5
      Arnd Bergmann authored
      The irq_to_gpio function was removed from the pxa platform
      in linux-3.2, and this driver has been broken since.
      
      There is actually no in-tree user of this driver that adds
      this platform device, but the driver can and does get enabled
      on some platforms.
      
      Without this patch, building ezx_defconfig results in:
      
      drivers/mfd/ezx-pcap.c: In function 'pcap_isr_work':
      drivers/mfd/ezx-pcap.c:205:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
      Cc: stable@vger.kernel.org (v3.2+)
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Daniel Ribeiro <drwyrm@gmail.com>
      59ee93a5
    • Stephen Warren's avatar
      ARM: tegra: more regulator fixes for Harmony · 798bd59c
      Stephen Warren authored
      Commit 3d55c29f "ARM: tegra: harmony: add regulator supply name and its
      input supply" was supposed to fix all the problems with regulators on
      Harmony. However, it appears that I only tested it when booting using
      board files, not when booting using device tree. This change fixes two
      problems with regulators when booting using device tree:
      
      1) That patch only created the vdd_sys regulator when booting using a
         board file. Since this is the root of the whole regulator tree, this
         caused no regulators to successfully initialize when booting using
         device tree. The registration of vdd_sys is moved to fix this.
      
      2) When booting use DT, the regulator core sets has_full_constraints,
         which in turn causes the core to turn off any regulators not marked
         as always on. Some of the affected regulators are required for basic
         system operation. To solve this, add always on constraints to all
         relevant regulators. This doesn't affect booting using a board file
         since nothing sets has_full_constraints in that case.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      798bd59c
    • Aaro Koskinen's avatar
      ARM: dma-mapping: fix incorrect freeing of atomic allocations · d9e0d149
      Aaro Koskinen authored
      Commit e9da6e99 (ARM: dma-mapping:
      remove custom consistent dma region) changed the way atomic allocations
      are handled. However, arm_dma_free() was not modified accordingly, and
      as a result freeing of atomic allocations does not work correctly when
      CMA is disabled. Memory is leaked and following WARNINGs are seen:
      
      [   57.698911] ------------[ cut here ]------------
      [   57.753518] WARNING: at arch/arm/mm/dma-mapping.c:263 arm_dma_free+0x88/0xe4()
      [   57.811473] trying to free invalid coherent area: e0848000
      [   57.867398] Modules linked in: sata_mv(-)
      [   57.921373] [<c000d270>] (unwind_backtrace+0x0/0xf0) from [<c0015430>] (warn_slowpath_common+0x50/0x68)
      [   58.033924] [<c0015430>] (warn_slowpath_common+0x50/0x68) from [<c00154dc>] (warn_slowpath_fmt+0x30/0x40)
      [   58.152024] [<c00154dc>] (warn_slowpath_fmt+0x30/0x40) from [<c000dc18>] (arm_dma_free+0x88/0xe4)
      [   58.219592] [<c000dc18>] (arm_dma_free+0x88/0xe4) from [<c008fa30>] (dma_pool_destroy+0x100/0x148)
      [   58.345526] [<c008fa30>] (dma_pool_destroy+0x100/0x148) from [<c019a64c>] (release_nodes+0x144/0x218)
      [   58.475782] [<c019a64c>] (release_nodes+0x144/0x218) from [<c0197e10>] (__device_release_driver+0x60/0xb8)
      [   58.614260] [<c0197e10>] (__device_release_driver+0x60/0xb8) from [<c0198608>] (driver_detach+0xd8/0xec)
      [   58.756527] [<c0198608>] (driver_detach+0xd8/0xec) from [<c0197c54>] (bus_remove_driver+0x7c/0xc4)
      [   58.901648] [<c0197c54>] (bus_remove_driver+0x7c/0xc4) from [<c004bfac>] (sys_delete_module+0x19c/0x220)
      [   59.051447] [<c004bfac>] (sys_delete_module+0x19c/0x220) from [<c0009140>] (ret_fast_syscall+0x0/0x2c)
      [   59.207996] ---[ end trace 0745420412c0325a ]---
      [   59.287110] ------------[ cut here ]------------
      [   59.366324] WARNING: at arch/arm/mm/dma-mapping.c:263 arm_dma_free+0x88/0xe4()
      [   59.450511] trying to free invalid coherent area: e0847000
      [   59.534357] Modules linked in: sata_mv(-)
      [   59.616785] [<c000d270>] (unwind_backtrace+0x0/0xf0) from [<c0015430>] (warn_slowpath_common+0x50/0x68)
      [   59.790030] [<c0015430>] (warn_slowpath_common+0x50/0x68) from [<c00154dc>] (warn_slowpath_fmt+0x30/0x40)
      [   59.972322] [<c00154dc>] (warn_slowpath_fmt+0x30/0x40) from [<c000dc18>] (arm_dma_free+0x88/0xe4)
      [   60.070701] [<c000dc18>] (arm_dma_free+0x88/0xe4) from [<c008fa30>] (dma_pool_destroy+0x100/0x148)
      [   60.256817] [<c008fa30>] (dma_pool_destroy+0x100/0x148) from [<c019a64c>] (release_nodes+0x144/0x218)
      [   60.445201] [<c019a64c>] (release_nodes+0x144/0x218) from [<c0197e10>] (__device_release_driver+0x60/0xb8)
      [   60.634148] [<c0197e10>] (__device_release_driver+0x60/0xb8) from [<c0198608>] (driver_detach+0xd8/0xec)
      [   60.823623] [<c0198608>] (driver_detach+0xd8/0xec) from [<c0197c54>] (bus_remove_driver+0x7c/0xc4)
      [   61.013268] [<c0197c54>] (bus_remove_driver+0x7c/0xc4) from [<c004bfac>] (sys_delete_module+0x19c/0x220)
      [   61.203472] [<c004bfac>] (sys_delete_module+0x19c/0x220) from [<c0009140>] (ret_fast_syscall+0x0/0x2c)
      [   61.393390] ---[ end trace 0745420412c0325b ]---
      
      The patch fixes this.
      Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      d9e0d149
    • Aaro Koskinen's avatar
      ARM: dma-mapping: fix atomic allocation alignment · e4ea6918
      Aaro Koskinen authored
      The alignment mask is calculated incorrectly. Fixing the calculation
      makes strange hangs/lockups disappear during the boot with Amstrad E3
      and 3.6-rc1 kernel.
      Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      e4ea6918
    • Chris Brand's avatar
      ARM: mm: fix MMU mapping of CMA regions · 39f78e70
      Chris Brand authored
      Fix dma_contiguous_remap() so that it continues through all the
      regions, even after encountering one that is outside lowmem.
      Without this change, if you have two CMA regions, the first outside
      lowmem and the seocnd inside lowmem, only the second one will get
      set up in the MMU. Data written to that region then doesn't get
      automatically flushed from the cache into memory.
      Signed-off-by: default avatarChris Brand <cbrand@broadcom.com>
      [extended patch subject with 'fix' word]
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      39f78e70
  4. 08 Aug, 2012 7 commits
    • Arnd Bergmann's avatar
      usb/ohci-omap: remove unused variable · bb1a5805
      Arnd Bergmann authored
      Commit c2e935a7 "USB: move transceiver from ehci_hcd and ohci_hcd to
      hcd and rename it as phy" removed the last use of the "ohci" variable
      in the usb_hcd_omap_remove function, but left the variable in place
      unused.
      
      Without this patch, building omap1_defconfig results in:
      
      In file included from drivers/usb/host/ohci-hcd.c:1013:0:
      drivers/usb/host/ohci-omap.c: In function 'usb_hcd_omap_remove':
      drivers/usb/host/ohci-omap.c:406:19: warning: unused variable 'ohci' [-Wunused-variable]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Richard Zhao <richard.zhao@freescale.com>
      bb1a5805
    • Arnd Bergmann's avatar
      mfd/asic3: fix asic3_mfd_probe return value · b2f0fa82
      Arnd Bergmann authored
      In commit 4f304245 "mfd: Set asic3 DS1WM clock_rate", a possible
      path through asic3_mfd_probe was introduced that would lead to
      an unpredictable return value, if everything succeeds but there
      are pdata->leds is NULL. This was reported correctly by gcc.
      
      Without this patch, building magician_defconfig results in:
      
      drivers/mfd/asic3.c: In function 'asic3_mfd_probe':
      drivers/mfd/asic3.c:940:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Paul Parsons <lost.distance@yahoo.com>
      Cc: Philipp Zabel <philipp.zabel@gmail.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      b2f0fa82
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · f4ba394c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Missed rcu_assign_pointer() in mac80211 scanning, from Johannes
          Berg.
      
       2) Allow devices to limit the number of segments that an individual
          TCP TSO packet can use at a time, to deal with device and/or driver
          specific limitations.  From Ben Hutchings.
      
       3) Fix unexpected hard IPSEC expiration after setting the date.  From
          Fan Du.
      
       4) Memory leak fix in bxn2x driver, from Jesper Juhl.
      
       5) Fix two memory leaks in libertas driver, from Daniel Drake.
      
       6) Fix deref of out-of-range array index in packet scheduler generic
          actions layer.  From Hiroaki SHIMODA.
      
       7) Fix TX flow control errors in mlx4 driver, from Yevgeny Petrilin.
      
       8) Fix CRIS eth_v10.c driver build, from Randy Dunlap.
      
       9) Fix wrong SKB freeing in LLC protocol layer, from Sorin Dumitru.
      
      10) The IP output path checks neigh lookup errors incorrectly, it needs
          to use IS_ERR().  From Vasiliy Kulikov.
      
      11) An estimator leak leads to deref of freed memory in timer handler,
          fix from Hiroaki SHIMODA.
      
      12) TCP early demux in ipv6 needs to use DST cookies in order to
          validate the RX route properly.  Fix from Eric Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits)
        net: ipv6: fix TCP early demux
        net: Use PTR_RET rather than if(IS_ERR(.. [1]
        net_sched: act: Delete estimator in error path.
        ip: fix error handling in ip_finish_output2()
        llc: free the right skb
        ixp4xx_eth: fix ptp_ixp46x build failure
        drivers/atm/iphase.c: fix error return code
        tcp_output: fix sparse warning for tcp_wfree
        drivers/net/phy/mdio-mux-gpio.c: drop devm_kfree of devm_kzalloc'd data
        batman-adv: select an internet gateway if none was chosen
        mISDN: Bugfix for layer2 fixed TEI mode
        igb: don't break user visible strings over multiple lines in igb_ethtool.c
        igb: correct hardware type (i210/i211) check in igb_loopback_test()
        igb: Fix for failure to init on some 82576 devices.
        cris: fix eth_v10.c build error
        cdc-ncm: tag Ericsson WWAN devices (eg F5521gw) with FLAG_WWAN
        isdnloop: fix and simplify isdnloop_init()
        hyperv: Move wait completion msg code into rndis_filter_halt_device()
        net/mlx4_core: Remove port type restrictions
        net/mlx4_en: Fixing TX queue stop/wake flow
        ...
      f4ba394c
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-fixes-for-v3.6-rc1' of... · bf44ce83
      Linus Torvalds authored
      Merge tag 'pinctrl-fixes-for-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
      
      Pull pinctrl fixes from Linus Walleij:
       - Move MXS pinctrl registration to poscore_initcall
       - Fix up various devm_* managed resources code paths
       - Fix one function group in the Nomadik driver
       - Update MAINTAINERS
      
      * tag 'pinctrl-fixes-for-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        drivers/pinctrl/pinctrl-nomadik.c: drop devm_kfree of devm_kzalloc'd data
        MAINTAINERS: fix a few pinctrl related entries
        pinctrl-sirf: remove devm_kfree at error path
        pinctrl/nomadik: fix hsi function group list
        pinctrl/pinctrl-u300: remove unneeded devm_kfree call
        pinctrl: mxs: register driver at postcore_initcall time
      bf44ce83
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 7f46f9c1
      Linus Torvalds authored
      Pull IOMMU fixes from Joerg Roedel:
       "These patches fix a couple of issues.  First of all a few problems
        with ACS on x86 introduced in the last merge window, where ACS did not
        work on AMD and a NULL pointer dereference when there ran against
        SR-IOV devices.
      
        The patches fallen out of coccinelle checks fix a possible invalid
        memory reference and a possible memory leak.  The other patches mostly
        fix build errors and warnings and a wrong return value."
      
      * tag 'iommu-fixes-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Fix ACS path checking
        iommu/intel: Fix ACS path checking
        iommu/amd: Fix pci_request_acs() call-place
        iommu/exynos: Fix build error
        iommu/tegra: smmu: Fix error initial value at domain_init
        iommu/tegra: smmu: Cleanup with lesser nest
        iommu: Add missing forward declaration in include file
        iommu: Include linux/types.h
        iommu/intel: add missing free_domain_mem
        iommu/tegra: remove invalid reference to list iterator variable
      7f46f9c1
    • Linus Torvalds's avatar
      Merge tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 6666cabf
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Containing only a few really small/trivial fixes.  The only urgent fix
        is a regression fix of HDMI codec probing, introduced in 3.6-rc1.  The
        rest are HD-audio specific fixes and a copule of minor bug fixes in
        PCM core and the old emu10k1."
      
      * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Fix double quirk for Quanta FL1 / Lenovo Ideapad
        ALSA: hda - Fix ugly debug prints with CONFIG_SND_VERBOSE_PRINTK=y
        ALSA: hda - remove redundant auto quirks for conexant 506x
        ALSA: hda - remove quirk for Dell Vostro 1015
        ALSA: hda - add dock support for Thinkpad X230
        ALSA: hda - Fix regression of HDMI codec probing
        ALSA: hda - add dock support for Thinkpad T430s
        ALSA: emu10k1: Avoid access to invalid pages when period=1
        ALSA: PCM: Fix possible memory leaks in the error path
      6666cabf
    • David Henningsson's avatar
      ALSA: hda - Fix double quirk for Quanta FL1 / Lenovo Ideapad · 012e7eb1
      David Henningsson authored
      The same ID is twice in the quirk table, so the second one is not used.
      Signed-off-by: default avatarDavid Henningsson <david.henningsson@canonical.com>
      Cc: <stable@vger.kernel.org> [v3.2+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      012e7eb1
  5. 07 Aug, 2012 10 commits