1. 10 Jul, 2014 5 commits
  2. 09 Jul, 2014 9 commits
  3. 08 Jul, 2014 1 commit
  4. 07 Jul, 2014 8 commits
    • Linus Torvalds's avatar
      Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 448bfad8
      Linus Torvalds authored
      Pull thermal fixes from Zhang Rui:
       "Specifics:
      
         - update Email address of Thermal subsystem maintainer Eduardo
           Valentin.
      
         - fix a problem that unloading thermal module results in kernel crash
           because a non-exist device file is removed on thermal unload.
      
         - fix a problem that critical trip point is set wrongly on latest
           i.MX6 SOC and results in system critical shutdown.
      
         - a couple of fixes to Tmon tool, of-thermal code and ti thermal
           driver"
      
      * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        tmon: set umask to a reasonable value
        tmon: Check log file for common secuirty issues
        tools/thermal: tmon: fix compilation errors when building statically
        thermal: ti-soc-thermal: ti-bandgap.c: Cleaning up wrong address is checked
        Thermal: imx: correct critical trip temperature setting
        thermal: Bind cooling devices with the correct arguments
        thermal: Add braces around suspect code
        thermal: hwmon: Make the check for critical temp valid consistent
        MAINTAINERS: Update Eduardo Valentin's email address
      448bfad8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 4c2f503a
      Linus Torvalds authored
      Pull HID fixes from Jiri Kosina:
       "A few tiny HID subsystem fixes for 3.16"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: use multi input quirk for 22b9:2968
        HID: sensor-hub: fix potential memory leak
        HID: usbhid: quirk for PM1610 and PM1640 Touchscreen.
        HID: rmi: Protect PM-only functions by #ifdef CONFIG_PM
        HID: sensor-hub: introduce Kconfig dependency on IOMEM
        HID: sensor-hub: make dyn_callback_lock IRQ-safe
      4c2f503a
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v3.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 92556e60
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "Two fixes for the pin control subsystem, both relating to the error
        path in probe()
      
        I'm a bit snowed under by mail but these have boiled in linux-next and
        should propagate to you"
      
      * tag 'pinctrl-v3.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: berlin: fix an error code in berlin_pinctrl_probe()
        pinctrl: sunxi: Fix potential null pointer dereference
      92556e60
    • Guenter Roeck's avatar
      hwmon: (adc128d818) Drop write support on inX_input attributes · 7fe7381c
      Guenter Roeck authored
      Writes into input registers doesn't make sense, even more so since
      the writes actually ended up writing into the maximum limit registers.
      Drop it.
      
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      7fe7381c
    • 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
  5. 06 Jul, 2014 4 commits
    • 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
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 110e4308
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "i915, tda998x and vmwgfx fixes,
      
        The main one is i915 fix for missing VGA connectors, along with some
        fixes for the tda998x from Russell fixing some modesetting problems.
      
        (still on holidays, but got a spare moment to find these)"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/vmwgfx: Fix incorrect write to read-only register v2:
        drm/i915: Drop early VLV WA to fix Voltage not getting dropped to Vmin
        drm/i915: only apply crt_present check on VLV
        drm/i915: Wait for vblank after enabling the primary plane on BDW
        drm/i2c: tda998x: add some basic mode validation
        drm/i2c: tda998x: faster polling for edid
        drm/i2c: tda998x: move drm_i2c_encoder_destroy call
      110e4308
  6. 05 Jul, 2014 13 commits