Skip to content
  1. Jul 11, 2014
  2. Jul 10, 2014
  3. Jul 09, 2014
  4. Jul 08, 2014
  5. Jul 07, 2014
    • Guenter Roeck's avatar
      hwmon: (emc2103) Clamp limits instead of bailing out · f6c2dd20
      Guenter Roeck authored
      
      
      It is customary to clamp limits instead of bailing out with an error
      if a configured limit is out of the range supported by the driver.
      This simplifies limit configuration, since the user will not typically
      know chip and/or driver specific limits.
      
      Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      f6c2dd20
    • Yasuaki Ishimatsu's avatar
      workqueue: zero cpumask of wq_numa_possible_cpumask on init · 5a6024f1
      Yasuaki Ishimatsu authored
      
      
      When hot-adding and onlining CPU, kernel panic occurs, showing following
      call trace.
      
        BUG: unable to handle kernel paging request at 0000000000001d08
        IP: [<ffffffff8114acfd>] __alloc_pages_nodemask+0x9d/0xb10
        PGD 0
        Oops: 0000 [#1] SMP
        ...
        Call Trace:
         [<ffffffff812b8745>] ? cpumask_next_and+0x35/0x50
         [<ffffffff810a3283>] ? find_busiest_group+0x113/0x8f0
         [<ffffffff81193bc9>] ? deactivate_slab+0x349/0x3c0
         [<ffffffff811926f1>] new_slab+0x91/0x300
         [<ffffffff815de95a>] __slab_alloc+0x2bb/0x482
         [<ffffffff8105bc1c>] ? copy_process.part.25+0xfc/0x14c0
         [<ffffffff810a3c78>] ? load_balance+0x218/0x890
         [<ffffffff8101a679>] ? sched_clock+0x9/0x10
         [<ffffffff81105ba9>] ? trace_clock_local+0x9/0x10
         [<ffffffff81193d1c>] kmem_cache_alloc_node+0x8c/0x200
         [<ffffffff8105bc1c>] copy_process.part.25+0xfc/0x14c0
         [<ffffffff81114d0d>] ? trace_buffer_unlock_commit+0x4d/0x60
         [<ffffffff81085a80>] ? kthread_create_on_node+0x140/0x140
         [<ffffffff8105d0ec>] do_fork+0xbc/0x360
         [<ffffffff8105d3b6>] kernel_thread+0x26/0x30
         [<ffffffff81086652>] kthreadd+0x2c2/0x300
         [<ffffffff81086390>] ? kthread_create_on_cpu+0x60/0x60
         [<ffffffff815f20ec>] ret_from_fork+0x7c/0xb0
         [<ffffffff81086390>] ? kthread_create_on_cpu+0x60/0x60
      
      In my investigation, I found the root cause is wq_numa_possible_cpumask.
      All entries of wq_numa_possible_cpumask is allocated by
      alloc_cpumask_var_node(). And these entries are used without initializing.
      So these entries have wrong value.
      
      When hot-adding and onlining CPU, wq_update_unbound_numa() is called.
      wq_update_unbound_numa() calls alloc_unbound_pwq(). And alloc_unbound_pwq()
      calls get_unbound_pool(). In get_unbound_pool(), worker_pool->node is set
      as follow:
      
      3592         /* if cpumask is contained inside a NUMA node, we belong to that node */
      3593         if (wq_numa_enabled) {
      3594                 for_each_node(node) {
      3595                         if (cpumask_subset(pool->attrs->cpumask,
      3596                                            wq_numa_possible_cpumask[node])) {
      3597                                 pool->node = node;
      3598                                 break;
      3599                         }
      3600                 }
      3601         }
      
      But wq_numa_possible_cpumask[node] does not have correct cpumask. So, wrong
      node is selected. As a result, kernel panic occurs.
      
      By this patch, all entries of wq_numa_possible_cpumask are allocated by
      zalloc_cpumask_var_node to initialize them. And the panic disappeared.
      
      Signed-off-by: default avatarYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Reviewed-by: default avatarLai Jiangshan <laijs@cn.fujitsu.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: stable@vger.kernel.org
      Fixes: bce90380 ("workqueue: add wq_numa_tbl_len and wq_numa_possible_cpumask[]")
      5a6024f1
    • Wen-chien Jesse Sung's avatar
      HID: use multi input quirk for 22b9:2968 · 3179e8e6
      Wen-chien Jesse Sung authored
      
      
      This device generates ABS_Z and ABS_RX events instead of ABS_X and
      ABS_Y.
      
      Signed-off-by: default avatarWen-chien Jesse Sung <jesse.sung@canonical.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      3179e8e6
    • Guenter Roeck's avatar
      hwmon: (adm1031) Fix writes to limit registers · 145e74a4
      Guenter Roeck authored
      
      
      Upper limit for write operations to temperature limit registers
      was clamped to a fractional value. However, limit registers do
      not support fractional values. As a result, upper limits of 127.5
      degrees C or higher resulted in a rounded limit of 128 degrees C.
      Since limit registers are signed, this was stored as -128 degrees C.
      Clamp limits to (-55, +127) degrees C to solve the problem.
      
      Value on writes to auto_temp[12]_min and auto_temp[12]_max were not
      clamped at all, but masked. As a result, out-of-range writes resulted
      in a more or less arbitrary limit. Clamp those attributes to (0, 127)
      degrees C for more predictable results.
      
      Cc: Axel Lin <axel.lin@ingics.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      145e74a4
    • Linus Torvalds's avatar
      Linux 3.16-rc4 · cd3de83f
      Linus Torvalds authored
      cd3de83f
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux · 100193f5
      Linus Torvalds authored
      Pull devicetree bugfix from Grant Likely:
       "Important bug fix for parsing 64-bit addresses on 32-bit platforms.
        Without this patch the kernel will try to use memory ranges that
        cannot be reached"
      
      * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
        of: Check for phys_addr_t overflows in early_init_dt_add_memory_arch
      100193f5
    • Linus Torvalds's avatar
      Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 8addf0c7
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of 13 fixes, a MAINTAINERS update and a sparse update.
        The fixes are mostly correct value initialisations, avoiding NULL
        derefs and some uninitialised pointer avoidance.
      
        All the patches have been incubated in -next for a few days.  The
        final patch (use the scsi data buffer length to extract transfer size)
        has been rebased to add a cc to stable, but only the commit message
        has changed"
      
      * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] use the scsi data buffer length to extract transfer size
        virtio-scsi: fix various bad behavior on aborted requests
        virtio-scsi: avoid cancelling uninitialized work items
        ibmvscsi: Add memory barriers for send / receive
        ibmvscsi: Abort init sequence during error recovery
        qla2xxx: Fix sparse warning in qla_target.c.
        bnx2fc: Improve stats update mechanism
        bnx2fc: do not scan uninitialized lists in case of error.
        fc: ensure scan_work isn't active when freeing fc_rport
        pm8001: Fix potential null pointer dereference and memory leak.
        MAINTAINERS: Update LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) maintainers Email IDs
        be2iscsi: remove potential junk pointer free
        be2iscsi: add an missing goto in error path
        scsi_error: set DID_TIME_OUT correctly
        scsi_error: fix invalid setting of host byte
      8addf0c7
  6. Jul 06, 2014
  7. Jul 05, 2014
    • Santosh Shilimkar's avatar
      MAINTAINERS: Add few more Keystone drivers · bc6aa566
      Santosh Shilimkar authored
      
      
      Update MAINTAINERS file for recently added reset controller, AEMIF
      and clocksource driver for Keystone SOCs.
      
      The EMIF memory controller driver is also added along with AEMIF.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Kevin Hilman <khilman@linaro.org>
      Cc: Mike Turquette <mturquette@linaro.org>
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      bc6aa566
    • Shawn Guo's avatar
      MAINTAINERS: merge MXS entry into IMX one · ce515a6b
      Shawn Guo authored
      
      
      The mach-mxs platform is actually co-maintained by myself and
      pengutronix folks.  Also it's hosted in the same kernel tree as IMX.
      So let's merge the entry into IMX one.
      
      Signed-off-by: default avatarShawn Guo <shawn.guo@freescale.com>
      Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      ce515a6b
    • Olof Johansson's avatar
      Merge tag 'mvebu-fixes-3.16-2' of git://git.infradead.org/linux-mvebu into fixes · 25d11631
      Olof Johansson authored
      mvebu fixes for v3.16 (round #2)
      
       - mvebu
          - Fix PCIe deadlock now that SMP is enabled
          - Fix cpuidle for big-endian systems
      
      * tag 'mvebu-fixes-3.16-2' of git://git.infradead.org/linux-mvebu
      
      :
        ARM: mvebu: fix cpuidle implementation to work on big-endian systems
        ARM: mvebu: update L2/PCIe deadlock workaround after L2CC cleanup
        ARM: mvebu: move Armada 375 external abort logic as a quirk
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      25d11631
    • Maxime Ripard's avatar
      ARM: sunxi: Reintroduce the restart code for A10/A20 SoCs · d767af5e
      Maxime Ripard authored
      
      
      This partly reverts commits 55360050 (ARM: sunxi: Remove reset code from
      the platform) and 5e669ec5 (ARM: sunxi: Remove init_machine callback) for
      the sun4i, sun5i and sun7i families.
      
      This is needed because the watchdog counterpart of these commits was dropped,
      and didn't make it into 3.16. In order to still be able to reboot the board, we
      need to reintroduce that code. Of course, the long term view is still to get
      rid of that code in mach-sunxi.
      
      Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      d767af5e
    • Olof Johansson's avatar
      Merge tag 'omap-for-v3.16/fixes-against-rc1' of... · 5acd78c5
      Olof Johansson authored
      Merge tag 'omap-for-v3.16/fixes-against-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Merge OMAP fixes from Tony Lindgren:
      
      Fixes for omaps for issues discovered during the merge window and
      enabling of a few features that had to wait for the driver
      dependencies to clear.
      
      The fixes included are:
      
      - Fix am43xx hard reset flags
      - Fix SoC detection for DRA722
      - Fix CPU OPP table for omap5
      - Fix legacy mux parser bug if requested muxname is a prefix of
        multiple mux entries
      - Fix qspi interrupt binding that relies on the irq crossbar
        that has not yet been enabled
      - Add missing phy_sel for am43x-epos-evm
      - Drop unused gic_init_irq() that is no longer needed
      
      And the enabling of features that had driver dependencies are:
      
      - Change dra7 to use Audio Tracking Logic clock instead of a fixed
        clock now that the clock driver for it has been merged
      
      - Enable off idle configuration for selected omaps as all the kernel
        dependencies for device tree based booting are finally merged as
        this is needed to get the automated PM tests working finally with
        device tree based booting
      
      - Add hwmod entry for ocp2scp3 for omap5 to get sata working as
        all the driver dependencies are now in the kernel and this patch
        fell through the cracks during the merge window
      
      * tag 'omap-for-v3.16/fixes-against-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: dra7-evm: remove interrupt binding
        ARM: OMAP2+: Fix parser-bug in platform muxing code
        ARM: DTS: dra7/dra7xx-clocks: ATL related changes
        ARM: OMAP2+: drop unused function
        ARM: dts: am43x-epos-evm: Add Missing cpsw-phy-sel for am43x-epos-evm
        ARM: dts: omap5: Update CPU OPP table as per final production Manual
        ARM: DRA722: add detection of SoC information
        ARM: dts: Enable twl4030 off-idle configuration for selected omaps
        ARM: OMAP5: hwmod: Add ocp2scp3 and sata hwmods
        ARM: OMAP2+: hwmod: Change hardreset soc_ops for AM43XX
      5acd78c5