28 Sep, 2016

1 commit

  • CURRENT_TIME macro is not appropriate for filesystems as it
    doesn't use the right granularity for filesystem timestamps.
    Use current_time() instead.

    CURRENT_TIME is also not y2038 safe.

    This is also in preparation for the patch that transitions
    vfs timestamps to use 64 bit time and hence make them
    y2038 safe. As part of the effort current_time() will be
    extended to do range checks. Hence, it is necessary for all
    file system timestamps to use current_time(). Also,
    current_time() will be transitioned along with vfs to be
    y2038 safe.

    Note that whenever a single call to current_time() is used
    to change timestamps in different inodes, it is because they
    share the same time granularity.

    Signed-off-by: Deepa Dinamani
    Reviewed-by: Arnd Bergmann
    Acked-by: Felipe Balbi
    Acked-by: Steven Whitehouse
    Acked-by: Ryusuke Konishi
    Acked-by: David Sterba
    Signed-off-by: Al Viro

    Deepa Dinamani
     

12 Sep, 2016

3 commits

  • Commit aa71987472a9 ("nvme: fabrics drivers don't need the nvme-pci
    driver") removed the dependency on BLK_DEV_NVME, but the cdoe does
    depend on the block layer (which used to be an implicit dependency
    through BLK_DEV_NVME).

    Otherwise you get various errors from the kbuild test robot random
    config testing when that happens to hit a configuration with BLOCK
    device support disabled.

    Cc: Christoph Hellwig
    Cc: Jay Freyensee
    Cc: Sagi Grimberg
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull IIO fixes from Greg KH:
    "Here are a few small IIO fixes for 4.8-rc6.

    Nothing major, full details are in the shortlog, all of these have
    been in linux-next with no reported issues"

    * tag 'staging-4.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    iio:core: fix IIO_VAL_FRACTIONAL sign handling
    iio: ensure ret is initialized to zero before entering do loop
    iio: accel: kxsd9: Fix scaling bug
    iio: accel: bmc150: reset chip at init time
    iio: fix pressure data output unit in hid-sensor-attributes
    tools:iio:iio_generic_buffer: fix trigger-less mode

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are some small USB gadget, phy, and xhci fixes for 4.8-rc6.

    All of these resolve minor issues that have been reported, and all
    have been in linux-next with no reported issues"

    * tag 'usb-4.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    usb: chipidea: udc: fix NULL ptr dereference in isr_setup_status_phase
    xhci: fix null pointer dereference in stop command timeout function
    usb: dwc3: pci: fix build warning on !PM_SLEEP
    usb: gadget: prevent potenial null pointer dereference on skb->len
    usb: renesas_usbhs: fix clearing the {BRDY,BEMP}STS condition
    usb: phy: phy-generic: Check clk_prepare_enable() error
    usb: gadget: udc: renesas-usb3: clear VBOUT bit in DRD_CON
    Revert "usb: dwc3: gadget: always decrement by 1"

    Linus Torvalds
     

11 Sep, 2016

2 commits

  • Pull libnvdimm fixes from Dan Williams:
    "nvdimm fixes for v4.8, two of them are tagged for -stable:

    - Fix devm_memremap_pages() to use track_pfn_insert(). Otherwise,
    DAX pmd mappings end up with an uncached pgprot, and unusable
    performance for the device-dax interface. The device-dax interface
    appeared in 4.7 so this is tagged for -stable.

    - Fix a couple VM_BUG_ON() checks in the show_smaps() path to
    understand DAX pmd entries. This fix is tagged for -stable.

    - Fix a mis-merge of the nfit machine-check handler to flip the
    polarity of an if() to match the final version of the patch that
    Vishal sent for 4.8-rc1. Without this the nfit machine check
    handler never detects / inserts new 'badblocks' entries which
    applications use to identify lost portions of files.

    - For test purposes, fix the nvdimm_clear_poison() path to operate on
    legacy / simulated nvdimm memory ranges. Without this fix a test
    can set badblocks, but never clear them on these ranges.

    - Fix the range checking done by dax_dev_pmd_fault(). This is not
    tagged for -stable since this problem is mitigated by specifying
    aligned resources at device-dax setup time.

    These patches have appeared in a next release over the past week. The
    recent rebase you can see in the timestamps was to drop an invalid fix
    as identified by the updated device-dax unit tests [1]. The -mm
    touches have an ack from Andrew"

    [1]: "[ndctl PATCH 0/3] device-dax test for recent kernel bugs"
    https://lists.01.org/pipermail/linux-nvdimm/2016-September/006855.html

    * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    libnvdimm: allow legacy (e820) pmem region to clear bad blocks
    nfit, mce: Fix SPA matching logic in MCE handler
    mm: fix cache mode of dax pmd mappings
    mm: fix show_smap() for zone_device-pmd ranges
    dax: fix mapping size check

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "Mostly driver bugfixes, but also a few cleanups which are nice to have
    out of the way"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: rk3x: Restore clock settings at resume time
    i2c: Spelling s/acknowedge/acknowledge/
    i2c: designware: save the preset value of DW_IC_SDA_HOLD
    Documentation: i2c: slave-interface: add note for driver development
    i2c: mux: demux-pinctrl: run properly with multiple instances
    i2c: bcm-kona: fix inconsistent indenting
    i2c: rcar: use proper device with dma_mapping_error
    i2c: sh_mobile: use proper device with dma_mapping_error
    i2c: mux: demux-pinctrl: invalidate properly when switching fails

    Linus Torvalds
     

10 Sep, 2016

6 commits

  • Bad blocks can be injected via /sys/block/pmemN/badblocks. In a situation
    where legacy pmem is being used or a pmem region created by using memmap
    kernel parameter, the injected bad blocks are not cleared due to
    nvdimm_clear_poison() failing from lack of ndctl function pointer. In
    this case we need to just return as handled and allow the bad blocks to
    be cleared rather than fail.

    Reviewed-by: Vishal Verma
    Signed-off-by: Dave Jiang
    Signed-off-by: Dan Williams

    Dave Jiang
     
  • The check for a 'pmem' type SPA in the MCE handler was inverted due to a
    merge/rebase error.

    Fixes: 6839a6d nfit: do an ARS scrub on hitting a latent media error
    Cc: linux-acpi@vger.kernel.org
    Cc: Dan Williams
    Signed-off-by: Vishal Verma
    Signed-off-by: Dan Williams

    Vishal Verma
     
  • Pull virtio fixes from Michael Tsirkin:
    "This includes a couple of bugfixs for virtio.

    The virtio console patch is actually also in x86/tip targeting 4.9
    because it helps vmap stacks, but it also fixes IOMMU_PLATFORM which
    was added in 4.8, and it seems important not to ship that in a broken
    configuration"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    virtio_console: Stop doing DMA on the stack
    virtio: mark vring_dma_dev() static

    Linus Torvalds
     
  • Pull GPIO fixes from Linus Walleij:
    "Some GPIO fixes that have been boiling the last two weeks or so.
    Nothing special, I'm trying to sort out some Kconfig business and
    Russell needs a fix in for -his SA1100 rework.

    Summary:

    - Revert a pointless attempt to add an include to solve the UM allyes
    compilation problem.

    - Make the mcp23s08 depend on OF_GPIO as it uses it and doesn't
    compile properly without it.

    - Fix a probing problem for ucb1x00"

    * tag 'gpio-v4.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: sa1100: fix irq probing for ucb1x00
    gpio: mcp23s08: make driver depend on OF_GPIO
    Revert "gpio: include in gpiolib-of"

    Linus Torvalds
     
  • virtio_console uses a small DMA buffer for control requests. Move
    that buffer into heap memory.

    Doing virtio DMA on the stack is normally okay on non-DMA-API virtio
    systems (which is currently most of them), but it breaks completely
    if the stack is virtually mapped.

    Tested by typing both directions using picocom aimed at /dev/hvc0.

    Signed-off-by: Andy Lutomirski
    Signed-off-by: Michael S. Tsirkin
    Reviewed-by: Amit Shah

    Andy Lutomirski
     
  • We get 1 warning when building kernel with W=1:
    drivers/virtio/virtio_ring.c:170:16: warning: no previous prototype for 'vring_dma_dev' [-Wmissing-prototypes]

    In fact, this function is only used in the file in which it is
    declared and don't need a declaration, but can be made static.
    so this patch marks this function with 'static'.

    Signed-off-by: Baoyou Xie
    Acked-by: Arnd Bergmann
    Signed-off-by: Michael S. Tsirkin

    Baoyou Xie
     

09 Sep, 2016

9 commits

  • …balbi/usb into usb-linus

    Felipe writes:

    usb: fixes for v4.8-rc6

    Unfortunately we have a bogus dwc3 patch leaked through the cracks and
    got merged into Linus' HEAD. That patch ended up causing off-by-1 error
    in our TRB accounting logic. Thankfully John Youn found out the problem
    and we provided a revert to the bogus dwc3 patch in no time.

    Apart from this off-by-1 error, we have two fixes to the Renesas drivers,
    a small fix to our generic phy driver, a NULL pointer dereference fix for
    f_eem and a build warning fix in dwc3.

    Greg Kroah-Hartman
     
  • …er.chen/usb into usb-linus

    Peter writes:

    Fix the possible kernel panic when the hardware signal is bad for chipidea udc.

    Greg Kroah-Hartman
     
  • …jic23/iio into staging-linus

    Jonathan writes:

    Second set of IIO fixes for the 4.8 cycle.

    We have a big rework of the kxsd9 driver queued up behind the fix below and
    a fix for a recent fix that was marked for stable.
    Hence this fix series is perhaps a little more urgent than average for IIO.
    * core
    - a fix for a fix in the last set. The recent fix for blocking ops when
    ! task running left a path (unlikely one) in which the function return
    value was not set - so initialise it to 0.
    - The IIO_TYPE_FRACTIONAL code previously didn't cope with negative
    fractions. Turned out a fix for this was in Analog's tree but hadn't made
    it upstream.
    * bmc150
    - reset chip at init time. At least one board out there ends up coming up
    in an unstable state due to noise during power up. The reset does no
    harm on other boards.
    * kxsd9
    - Fix a bug in the reported scaling due to failing to set the integer
    part to 0.
    * hid-sensors-pressure
    - Output was in the wrong units to comply with the IIO ABI.
    * tools
    - iio_generic_buffer: Fix the trigger-less mode by ensuring we don't fault
    out for having no trigger when we explicitly said we didn't want to have
    one.

    Greg Kroah-Hartman
     
  • Problems with the signal integrity of the high speed USB data lines or
    noise on reference ground lines can cause the i.MX6 USB controller to
    violate USB specs and exhibit unexpected behavior.

    It was observed that USBi_UI interrupts were triggered first and when
    isr_setup_status_phase was called, ci->status was NULL, which lead to a
    NULL pointer dereference kernel panic.

    This patch fixes the kernel panic, emits a warning once and returns
    -EPIPE to halt the device and let the host get stalled.
    It also adds a comment to point people, who are experiencing this issue,
    to their USB hardware design.

    Cc: #4.1+
    Signed-off-by: Clemens Gruber
    Signed-off-by: Peter Chen

    Clemens Gruber
     
  • Depending on a number of factors including:
    - Which exact Rockchip SoC we're working with
    - How deep we suspend
    - Which i2c port we're on

    We might lose the state of the i2c registers at suspend time.
    Specifically we've found that on rk3399 the i2c ports that are not in
    the PMU power domain lose their state with the current suspend depth
    configured by ARM Tursted Firmware.

    Note that there are very few actual i2c registers that aren't configured
    per transfer anyway so all we actually need to re-configure are the
    clock config registers. We'll just add a call to rk3x_i2c_adapt_div()
    at resume time and be done with it.

    NOTE: On rk3399 on ports whose power was lost, I put printouts in at
    resume time. I saw things like:
    before: con=0x00010300, div=0x00060006
    after: con=0x00010200, div=0x00180025

    Signed-off-by: Douglas Anderson
    Reviewed-by: David Wu
    Tested-by: David Wu
    [wsa: removed duplicate const]
    Signed-off-by: Wolfram Sang

    Doug Anderson
     
  • Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Wolfram Sang

    Geert Uytterhoeven
     
  • There are several ways to set the SDA hold time for i2c controller,
    including: Device Tree, built-in device properties and ACPI. However,
    if the SDA hold time is not specified by above method, we should
    read the value, where it is preset by firmware, and save it to
    sda_hold_time. This is needed because when i2c controller enters
    runtime suspend, the DW_IC_SDA_HOLD value will be reset to chipset
    default value. And during runtime resume, i2c_dw_init will be called
    to reconfigure i2c controller. If sda_hold_time is zero, the chipset
    default hold time will be used, that will be too short for some
    platforms. Therefore, to have a better tolerance, the DW_IC_SDA_HOLD
    value should be kept by sda_hold_time.

    Signed-off-by: Zhuo-hao Lee
    Reviewed-by: Andy Shevchenko
    Acked-by: Jarkko Nikula
    Signed-off-by: Wolfram Sang

    Zhuo-hao Lee
     
  • Pull dmi fix from Jean Delvare.

    * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    dmi-id: don't free dev structure after calling device_register

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "This is a slightly larger batch of fixes that we've been sitting on a
    few -rcs. Most of them are simple oneliners, but there are two sets
    that are slightly larger and worth pointing out:

    - A set of patches to OMAP to deal with hwmod for RTC on am33xx
    (beaglebone SoC, among others). It's the only clock that ever has
    a valid offset of 0, so a new flag needed introduction once this
    problem was discovered.

    - A collection of CCI fixes for performance counters discovered once
    people started using it on X-Gene CPUs"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits)
    arm-cci: pmu: Fix typo in event name
    Revert "ARM: tegra: fix erroneous address in dts"
    ARM: dts: imx6qdl: Fix SPDIF regression
    ARM: imx6: add missing BM_CLPCR_BYPASS_PMIC_READY setting for imx6sx
    ARM: dts: imx7d-sdb: fix ti,x-plate-ohms property name
    ARM: dts: kirkwood: Fix PCIe label on OpenRD
    ARM: kirkwood: ib62x0: fix size of u-boot environment partition
    bus: arm-ccn: make event groups reliable
    bus: arm-ccn: fix hrtimer registration
    bus: arm-ccn: fix PMU interrupt flags
    ARM: tegra: Correct polarity for Tegra114 PMIC interrupt
    MAINTAINERS: add tree entry for ARM/UniPhier architecture
    ARM: sun5i: Fix typo in trip point temperature
    MAINTAINERS: Switch to kernel.org account for Krzysztof Kozlowski
    ARM: imx6ul: populates platform device at .init_machine
    bus: arm-ccn: Add missing event attribute exclusions for host/guest
    bus: arm-ccn: Correct required arguments for XP PMU events
    bus: arm-ccn: Fix XP watchpoint settings bitmask
    bus: arm-ccn: Do not attempt to configure XPs for cycle counter
    bus: arm-ccn: Fix PMU handling of MN
    ...

    Linus Torvalds
     

08 Sep, 2016

9 commits

  • We can't use a static property for all the changesets, so we now create
    dynamic ones for each changeset.

    Signed-off-by: Wolfram Sang
    Fixes: 50a5ba87690814 ("i2c: mux: demux-pinctrl: add driver")
    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • dmi_dev is freed in error exit code but, according to the document
    of device_register, it should never directly free device structure
    after calling this function, even if it returned an error! Use
    put_device() instead.

    Signed-off-by: Allen Hung
    Signed-off-by: Jean Delvare

    Allen Hung
     
  • The stop endpoint command has its own 5 second timeout timer.
    If the timeout function is triggered between USB3 and USB2 host
    removal it will try to call usb_hc_died(xhci_to_hcd(xhci)->primary_hcd)

    the ->primary_hcd will be set to NULL at USB3 hcd removal.

    Fix this by first checking if the PCI host is being removed, and
    also by using only xhci_to_hcd() as it will always return the primary
    hcd.

    CC:
    Signed-off-by: Mathias Nyman
    Signed-off-by: Greg Kroah-Hartman

    Mathias Nyman
     
  • Pull thermal fix from Zhang Rui:
    "Only one patch this time, which fixes a crash in rcar_thermal driver.
    From Dirk Behme"

    * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    thermal: rcar_thermal: Fix priv->zone error handling

    Linus Torvalds
     
  • For one of the CCI events exposed under sysfs, "snoop" was typo'd as
    "snopp". Correct this such that users see the expected event name when
    enumerating events via sysfs.

    Cc: arm@kernel.org
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Olof Johansson

    Suzuki K Poulose
     
  • ucb1x00 has used IRQ probing since it's dawn to find the GPIO interrupt
    that it's connected to. However, commit 23393d49fb75 ("gpio: kill off
    set_irq_flags usage") broke this by disabling IRQ probing on GPIO
    interrupts. Fix this.

    Fixes: 23393d49fb75 ("gpio: kill off set_irq_flags usage")
    Signed-off-by: Russell King
    Signed-off-by: Linus Walleij

    Russell King
     
  • The MCP23S08 driver certainly accesses fields inside the
    struct gpio_chip that are only available under CONFIG_OF_GPIO
    not just CONFIG_OF, so update the Kconfig and driver to reflect
    this.

    Cc: Alexander Stein
    Cc: Phil Reid
    Reported-by: kbuild test robot
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This reverts commit 7d4defe21c682c934a19fce1ba8b54b7bde61b08.

    The commit was pointless, manically trembling in the dark for
    a solution. The real fixes are:

    commit 048c28c91e56
    ("gpio: make any OF dependent driver depend on OF_GPIO")
    commit 2527ecc9195e
    ("gpio: Fix OF build problem on UM")

    Reported-by: Chris Wilson
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Pull hardened usercopy fixes from Kees Cook:

    - inline copy_*_user() for correct use of __builtin_const_p() for
    hardened usercopy and the recent compile-time checks.

    - switch hardened usercopy to only check non-const size arguments to
    avoid meaningless checks on likely-sane const values.

    - update lkdtm usercopy tests to compenstate for the const checking.

    * tag 'usercopy-v4.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    lkdtm: adjust usercopy tests to bypass const checks
    usercopy: fold builtin_const check into inline function
    x86/uaccess: force copy_*_user() to be inlined

    Linus Torvalds
     

07 Sep, 2016

9 commits

  • When building a kernel with CONFIG_PM_SLEEP=n, we
    get the following warning:

    drivers/usb/dwc3/dwc3-pci.c:253:12: warning: 'dwc3_pci_pm_dummy' defined but not used

    In order to fix this, we should only define
    dwc3_pci_pm_dummy() when CONFIG_PM_SLEEP is defined.

    Fixes: f6c274e11e3b ("usb: dwc3: pci: runtime_resume child device")
    Reported-by: Arnd Bergmann
    Acked-by: Arnd Bergmann
    Signed-off-by: Felipe Balbi

    Felipe Balbi
     
  • Pull rdma fixes from Doug Ledford:
    "This is the second pull request for the rdma subsystem. Most of the
    patches are small and obvious. I took two patches in that are larger
    than I wanted this late in the cycle.

    The first is the hfi1 patch that implements a work queue to test the
    QSFP read state. I originally rejected the first patch for this
    (which would have place up to 20 seconds worth of udelays in their
    probe routine). They then rewrote it the way I wanted (use delayed
    work tasks to wait asynchronously up to 20 seconds for the QSFP to
    come alive), so I can't really complain about the size of getting what
    I asked for :-/.

    The second is large because it switches the rcu locking in the debugfs
    code. Since a locking change like this is done all at once, the size
    it what it is. It resolves a litany of debug messages from the
    kernel, so I pulled it in for -rc.

    The rest are all typical -rc worthy patches I think.

    There will still be a third -rc pull request from the rdma subsystem
    this release. I hope to have that one ready to go by the end of this
    week or early next.

    Summary:

    - a smattering of small fixes across the core, ipoib, i40iw, isert,
    cxgb4, and mlx4

    - a slightly larger group of fixes to each of mlx5 and hfi1"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
    IB/hfi1: Rework debugfs to use SRCU
    IB/hfi1: Make n_krcvqs be an unsigned long integer
    IB/hfi1: Add QSFP sanity pre-check
    IB/hfi1: Fix AHG KDETH Intr shift
    IB/hfi1: Fix SGE length for misaligned PIO copy
    IB/mlx5: Don't return errors from poll_cq
    IB/mlx5: Use TIR number based on selector
    IB/mlx5: Simplify code by removing return variable
    IB/mlx5: Return EINVAL when caller specifies too many SGEs
    IB/mlx4: Don't return errors from poll_cq
    Revert "IB/mlx4: Return EAGAIN for any error in mlx4_ib_poll_one"
    IB/ipoib: Fix memory corruption in ipoib cm mode connect flow
    IB/core: Fix use after free in send_leave function
    IB/cxgb4: Make _free_qp static to silence build warning
    IB/isert: Properly release resources on DEVICE_REMOVAL
    IB/hfi1: Fix the size parameter to find_first_bit
    IB/mlx5: Fix the size parameter to find_first_bit
    IB/hfi1: Clean up type used and casting
    i40iw: Receive notification events correctly
    i40iw: Update hw_iwarp_state

    Linus Torvalds
     
  • The hardened usercopy is now consistently avoiding checks against const
    sizes, since we really only want to perform runtime bounds checking
    on lengths that weren't known at build time. To test the hardened usercopy
    code, we must force the length arguments to be seen as non-const.

    Signed-off-by: Kees Cook

    Kees Cook
     
  • Pull mailbox fixes from Jassi Brar:
    "Misc fixes for BCM mailbox driver

    - Fix build warnings by making static functions used within the file.
    - Check for potential NULL before dereferencing
    - Fix link error by defining HAS_DMA dependency"

    * 'mailbox-devel' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
    fix:mailbox:bcm-pdc-mailbox:mark symbols static where possible
    mailbox: bcm-pdc: potential NULL dereference in pdc_shutdown()
    mailbox: Add HAS_DMA Kconfig dependency to BCM_PDC_MBOX

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "This is really three fixes, but the SES one comes in a bundle of three
    (making the replacement API available properly, using it and removing
    the non-working one). The SES problem causes an oops on hpsa devices
    because they attach virtual disks to the host which aren't SAS
    attached (the replacement API ignores them).

    The other two fixes are fairly minor: the sense key one means we
    actually resolve a newly added sense key and the RDAC device
    blacklisting is needed to prevent us annoying the universal XPORT lun
    of various RDAC arrays"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: sas: remove is_sas_attached()
    scsi: ses: use scsi_is_sas_rphy instead of is_sas_attached
    scsi: sas: provide stub implementation for scsi_is_sas_rphy
    scsi: blacklist all RDAC devices for BLIST_NO_ULD_ATTACH
    scsi: fix upper bounds check of sense key in scsi_sense_key_string()

    Linus Torvalds
     
  • Pull regmap fixes from Mark Brown:
    "Several fixes here, the main one being the change from Lars-Peter
    which I'd been letting soak in -next since the merge window in case it
    uncovered further issues as it's a minimal fix rather than a change
    addressing the root cause of the problems (which would've been too
    invasive for -rc):

    - The biggest change is a fix from Lars-Peter to ensure that we don't
    create overlapping rbtree nodes which in turn avoids returning
    corrupt cache values to users, fixing some issues that were exposed
    by some recent optimisations with certain access patterns but had
    been present for a long time.

    - A fix from Elaine Zhang to stop us updating the cache if we get an
    I/O error when writing to the hardware.

    - A fix fromm Maarten ter Huurne to avoid uninitialized defaults in
    cases where we have non-readable registers but are initializing the
    cache by reading from the device"

    * tag 'regmap-fix-v4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
    regmap: drop cache if the bus transfer error
    regmap: rbtree: Avoid overlapping nodes
    regmap: cache: Fix num_reg_defaults computation from reg_defaults_raw

    Linus Torvalds
     
  • Pull spi fixes from Mark Brown:
    "As well as the usual driver fixes there's a couple of non-trivial core
    fixes in here:

    - Fixes for issues reported by Julia Lawall in the changes that were
    sent last time to fix interaction between the bus lock and the
    locking done for the SPI thread. I'd let this one cook for a while
    to make sure nothing else came up in testing.

    - A fix from Sien Wu for arithmetic overflows when calculating the
    timeout for larger transfers (espcially common with slow buses with
    flashes on them)"

    * tag 'spi-fix-v4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
    spi: Prevent unexpected SPI time out due to arithmetic overflow
    spi: pxa2xx-pci: fix ACPI-based enumeration of SPI devices
    MAINTAINERS: add myself as Samsung SPI maintainer
    spi: Drop io_mutex in error paths
    spi: sh-msiof: Avoid invalid clock generator parameters
    spi: img-spfi: Remove spi_master_put in img_spfi_remove()
    spi: mediatek: remove spi_master_put in mtk_spi_remove()
    spi: qup: Remove spi_master_put in spi_qup_remove()

    Linus Torvalds
     
  • …git/broonie/regulator

    Pull regulator fixes from Mark Brown:
    "Two things here, one an e-mail update for Krzysztof Kozlowski and the
    other a couple of fixes for issues with incorrectly described voltages
    in a couple of the Qualcomm regulator drivers that were breaking MMC
    on some platforms"

    * tag 'regulator-fix-v4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: Change Krzysztof Kozlowski's email to kernel.org
    regulator: qcom_smd: Fix voltage ranges for pma8084 ftsmps and pldo
    regulator: qcom_smd: Fix voltage ranges for pm8x41

    Linus Torvalds
     
  • Pull pin control fixes from Linus Walleij:
    "Nothing special at all, just three SoC-specific driver fixes:

    - Fix routing problems in pistachio (Imagination) and sunxi
    (AllWinner)

    - Fix an interrupt problem in the Cherryview (Intel)"

    * tag 'pinctrl-v4.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl: sunxi: fix uart1 CTS/RTS pins at PG on A23/A33
    pinctrl: cherryview: Do not mask all interrupts in probe
    pinctrl: pistachio: fix mfio pll_lock pinmux

    Linus Torvalds
     

06 Sep, 2016

1 commit

  • In case thermal_zone_xxx_register() returns an error, priv->zone
    isn't NULL any more, but contains the error code.

    This is passed to thermal_zone_device_unregister(), then. This checks
    for priv->zone being NULL, but the error code is != NULL. So it works
    with the error code as a pointer. Crashing immediately.

    To fix this, reset priv->zone to NULL before entering
    rcar_gen3_thermal_remove().

    Signed-off-by: Dirk Behme
    Reviewed-by: Geert Uytterhoeven
    Signed-off-by: Zhang Rui

    Dirk Behme