08 Oct, 2016

1 commit


25 Sep, 2016

1 commit

  • Pull irq fixes from Thomas Gleixner:
    "Three fixes for irq core and irq chip drivers:

    - Do not set the irq type if type is NONE. Fixes a boot regression
    on various SoCs

    - Use the proper cpu for setting up the GIC target list. Discovered
    by the cpumask debugging code.

    - A rather large fix for the MIPS-GIC so per cpu local interrupts
    work again. This was discovered late because the code falls back
    to slower timers which use normal device interrupts"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/mips-gic: Fix local interrupts
    irqchip/gicv3: Silence noisy DEBUG_PER_CPU_MAPS warning
    genirq: Skip chained interrupt trigger setup if type is IRQ_TYPE_NONE

    Linus Torvalds
     

24 Sep, 2016

6 commits

  • Pull i2c fixes from Wolfram Sang:
    "Three driver bugfixes: fixing uninitialized memory pointers (eg20t),
    pm/clock imbalance (qup), and a wrongly set cached variable (pc954x)"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: qup: skip qup_i2c_suspend if the device is already runtime suspended
    i2c: mux: pca954x: retry updating the mux selection on failure
    i2c-eg20t: fix race between i2c init and interrupt enable

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:
    "Just a fix up for the firmware handling to the Silead driver (which is
    a new driver in this release)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: silead_gsl1680 - use "silead/" prefix for firmware loading
    Input: silead_gsl1680 - document firmware-name, fix implementation

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "Three fixes, two regressions and one that poses a problem in blk-mq
    with the new nvmef code"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    blk-mq: skip unmapped queues in blk_mq_alloc_request_hctx
    nvme-rdma: only clear queue flags after successful connect
    blk-throttle: Extend slice if throttle group is not empty

    Linus Torvalds
     
  • Pull regmap fix from Mark Brown:
    "A fix for an issue with double locking that was introduced earlier
    this release. I'd missed in review that we were already in a locked
    region when trying to drop part of the cache"

    * tag 'regmap-fix-v4.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
    regmap: fix deadlock on _regmap_raw_write() error path

    Linus Torvalds
     
  • Pull MTD fixes from Richard Weinberger:
    "NAND Fixes for 4.8-rc8.

    This contains fixes for bugs which got introduced in -rc1. Usually
    Brian takes NAND patches from Boris, but since Brian is very busy
    these days with other stuff and Boris is not yet member of the
    kernel.org web of trust I stepped in.

    Boris will be in Berlin at ELCE, I'll sign his key and hopefully other
    Kernel developers too such that he can issue his own pull requests
    soon.

    Summary:

    - Fix a wrong OOB layout definition in the mxc driver
    - Fix incorrect ECC handling in the mtk driver"

    * tag 'tags/nand-fixes-for-4.8-rc8' of git://git.infradead.org/linux-ubifs:
    mtd: nand: mxc: fix obiwan error in mxc_nand_v[12]_ooblayout_free() functions
    mtd: nand: fix chances to create incomplete ECC data when writing
    mtd: nand: fix generating over-boundary ECC data when writing

    Linus Torvalds
     
  • Pull MMC fix from Ulf Hansson:
    "MMC host:

    - dw_mmc: fix the spamming log message"

    * tag 'mmc-v4.8-rc7' of git://git.linaro.org/people/ulf.hansson/mmc:
    mmc: dw_mmc: fix the spamming log message

    Linus Torvalds
     

23 Sep, 2016

3 commits

  • Otherwise, nvme_rdma_stop_and_clear_queue() will incorrectly
    try to stop/free rdma qps/cm_ids that are already freed.

    Fixes: e89ca58f9c90 ("nvme-rdma: add DELETING queue flag")
    Reported-by: Steve Wise
    Tested-by: Steve Wise
    Signed-off-by: Sagi Grimberg
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Sagi Grimberg
     
  • If the i2c device is already runtime suspended, if qup_i2c_suspend is
    executed during suspend-to-idle or suspend-to-ram it will result in the
    following splat:

    WARNING: CPU: 3 PID: 1593 at drivers/clk/clk.c:476 clk_core_unprepare+0x80/0x90
    Modules linked in:

    CPU: 3 PID: 1593 Comm: bash Tainted: G W 4.8.0-rc3 #14
    Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
    PC is at clk_core_unprepare+0x80/0x90
    LR is at clk_unprepare+0x28/0x40
    pc : [] lr : [] pstate: 60000145
    Call trace:
    clk_core_unprepare+0x80/0x90
    qup_i2c_disable_clocks+0x2c/0x68
    qup_i2c_suspend+0x10/0x20
    platform_pm_suspend+0x24/0x68
    ...

    This patch fixes the issue by executing qup_i2c_pm_suspend_runtime
    conditionally in qup_i2c_suspend.

    Signed-off-by: Sudeep Holla
    Reviewed-by: Andy Gross
    Signed-off-by: Wolfram Sang
    Cc: stable@kernel.org

    Sudeep Holla
     
  • Pull media fixes from Mauro Carvalho Chehab:

    - several fixes for new drivers added for Kernel 4.8 addition (cec
    core, pulse8 cec driver and Mediatek vcodec)

    - a regression fix for cx23885 and saa7134 drivers

    - an important fix for rcar-fcp, making rcar_fcp_enable() return 0 on
    success

    * tag 'media/v4.8-7' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (25 commits)
    [media] cx23885/saa7134: assign q->dev to the PCI device
    [media] rcar-fcp: Make sure rcar_fcp_enable() returns 0 on success
    [media] cec: fix ioctl return code when not registered
    [media] cec: don't Feature Abort broadcast msgs when unregistered
    [media] vcodec:mediatek: Refine VP8 encoder driver
    [media] vcodec:mediatek: Refine H264 encoder driver
    [media] vcodec:mediatek: change H264 profile default to profile high
    [media] vcodec:mediatek: Add timestamp and timecode copy for V4L2 Encoder
    [media] vcodec:mediatek: Fix visible_height larger than coded_height issue in s_fmt_out
    [media] vcodec:mediatek: Fix fops_vcodec_release flow for V4L2 Encoder
    [media] vcodec:mediatek:code refine for v4l2 Encoder driver
    [media] cec-funcs.h: add missing vendor-specific messages
    [media] cec-edid: check for IEEE identifier
    [media] pulse8-cec: fix error handling
    [media] pulse8-cec: set correct Signal Free Time
    [media] mtk-vcodec: add HAS_DMA dependency
    [media] cec: ignore messages when log_addr_mask == 0
    [media] cec: add item to TODO
    [media] cec: set unclaimed addresses to CEC_LOG_ADDR_INVALID
    [media] cec: add CEC_LOG_ADDRS_FL_ALLOW_UNREG_FALLBACK flag
    ...

    Linus Torvalds
     

22 Sep, 2016

8 commits

  • Pull networking fixes from David Miller:
    "Mostly small bits scattered all over the place, which is usually how
    things go this late in the -rc series.

    1) Proper driver init device resets in bnx2, from Baoquan He.

    2) Fix accounting overflow in __tcp_retransmit_skb(),
    sk_forward_alloc, and ip_idents_reserve, from Eric Dumazet.

    3) Fix crash in bna driver ethtool stats handling, from Ivan Vecera.

    4) Missing check of skb_linearize() return value in mac80211, from
    Johannes Berg.

    5) Endianness fix in nf_table_trace dumps, from Liping Zhang.

    6) SSN comparison fix in SCTP, from Marcelo Ricardo Leitner.

    7) Update DSA and b44 MAINTAINERS entries.

    8) Make input path of vti6 driver work again, from Nicolas Dichtel.

    9) Off-by-one in mlx4, from Sebastian Ott.

    10) Fix fallback route lookup handling in ipv6, from Vincent Bernat.

    11) Fix stack corruption on probe in qed driver, from Yuval Mintz.

    12) PHY init fixes in r8152 from Hayes Wang.

    13) Missing SKB free in irda_accept error path, from Phil Turnbull"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (61 commits)
    tcp: properly account Fast Open SYN-ACK retrans
    tcp: fix under-accounting retransmit SNMP counters
    MAINTAINERS: Update b44 maintainer.
    net: get rid of an signed integer overflow in ip_idents_reserve()
    net/mlx4_core: Fix to clean devlink resources
    net: can: ifi: Configure transmitter delay
    vti6: fix input path
    ipmr, ip6mr: return lastuse relative to now
    r8152: disable ALDPS and EEE before setting PHY
    r8152: remove r8153_enable_eee
    r8152: move PHY settings to hw_phy_cfg
    r8152: move enabling PHY
    r8152: move some functions
    cxgb4/cxgb4vf: Allocate more queues for 25G and 100G adapter
    qed: Fix stack corruption on probe
    MAINTAINERS: Add an entry for the core network DSA code
    net: ipv6: fallback to full lookup if table lookup is unsuitable
    net/mlx5: E-Switch, Handle mode change failures
    net/mlx5: E-Switch, Fix error flow in the SRIOV e-switch init code
    net/mlx5: Fix flow counter bulk command out mailbox allocation
    ...

    Linus Torvalds
     
  • Commit 815806e39bf6 ("regmap: drop cache if the bus transfer error")
    added a call to regcache_drop_region() to error path in
    _regmap_raw_write(). However that path runs with regmap lock taken,
    and regcache_drop_region() tries to re-take it, causing a deadlock.
    Fix that by calling map->cache_ops->drop() directly.

    Signed-off-by: Nikita Yushchenko
    Signed-off-by: Mark Brown

    Nikita Yushchenko
     
  • When there is no Card which is set to "broken-cd", it's displayed a clock
    information continuously. Because it's polling for detecting card.
    This patch is fixed this problem.

    Fixes: 65257a0deed5 ("mmc: dw_mmc: remove UBSAN warning in dw_mci_setup_bus()")
    Reported-by: Tobias Jakobi
    Signed-off-by: Jaehoon Chung
    Signed-off-by: Ulf Hansson

    Jaehoon Chung
     
  • …ux/kernel/git/mkl/linux-can

    Marc Kleine-Budde says:

    ====================
    pull-request: can 2016-09-21

    this is another pull request of one patch for the upcoming linux-4.8 release.

    Marek Vasut fixes the CAN-FD bit rate switch in the ifi driver by configuring
    the transmitter delay.
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • This patch cleans devlink resources by calling devlink_port_unregister()
    to avoid the following issues:

    - Kernel panic when triggering reset flow.
    - Memory leak due to unfreed resources in mlx4_init_port_info().

    Fixes: 09d4d087cd48 ("mlx4: Implement devlink interface")
    Signed-off-by: Kamal Heib
    Signed-off-by: Tariq Toukan
    Signed-off-by: David S. Miller

    Kamal Heib
     
  • …m/linux/kernel/git/kvalo/wireless-drivers

    Kalle Valo says:

    ====================
    wireless-drivers fixes for 4.8

    iwlwifi

    * fix to prevent firmware crash when sending off-channel frames
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • The cached value of the last selected channel prevents retries on the
    next call, even on failure to update the selected channel. Fix that.

    Signed-off-by: Peter Rosin
    Signed-off-by: Wolfram Sang
    Cc: stable@kernel.org

    Peter Rosin
     
  • the eg20t driver call request_irq() function before the pch_base_address,
    base address of i2c controller's register, is assigned an effective value.

    there is one possible scenario that an interrupt which isn't inside eg20t
    arrives immediately after request_irq() is executed when i2c controller
    shares an interrupt number with others. since the interrupt handler
    pch_i2c_handler() has already active as shared action, it will be called
    and read its own register to determine if this interrupt is from itself.

    At that moment, since base address of i2c registers is not remapped
    in kernel space yet,so the INT handler will access an illegal address
    and then a error occurs.

    Signed-off-by: Yadi.hu
    Signed-off-by: Wolfram Sang
    Cc: stable@kernel.org

    Yadi.hu
     

21 Sep, 2016

9 commits

  • Configure the transmitter delay register at +0x1c to correctly handle
    the CAN FD bitrate switch (BRS). This moves the SSP (secondary sample
    point) to a proper offset, so that the TDC mechanism works and won't
    generate error frames on the CAN link.

    Signed-off-by: Marek Vasut
    Cc: Marc Kleine-Budde
    Cc: Mark Rutland
    Cc: Oliver Hartkopp
    Cc: Wolfgang Grandegger
    Cc: linux-stable
    Signed-off-by: Marc Kleine-Budde

    Marek Vasut
     
  • Disable ALDPS and EEE to avoid the possible failure when setting the PHY.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Remove r8153_enable_eee().

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Move the PHY relative settings together to hw_phy_cfg().

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Move enabling PHY to init(), otherwise some other settings may fail.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Move the following functions forward.

    r8152_mmd_indirect()
    r8152_mmd_read()
    r8152_mmd_write()
    r8152_eee_en()
    r8152b_enable_eee()
    r8153_eee_en()
    r8153_enable_eee()
    r8152b_enable_fc()
    r8153_aldps_en()

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • We were missing check for 25G and 100G while checking port speed,
    which lead to less number of queues getting allocated for 25G & 100G
    adapters and leading to low throughput. Adding the missing check for
    both NIC and vNIC driver.

    Also fixes port advertisement for 25G and 100G in ethtool output.

    Signed-off-by: Hariprasad Shenai
    Signed-off-by: David S. Miller

    Hariprasad Shenai
     
  • …ux/kernel/git/mkl/linux-can

    Marc Kleine-Budde says:

    ====================
    pull-request: can 2016-09-19

    this is a pull request of one patch for the upcoming linux-4.8 release.

    The patch by Fabio Estevam fixes the pm handling in the flexcan driver.
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • Since the device hierarchy domain was added by commit c98c1822ee13
    ("irqchip/mips-gic: Add device hierarchy domain"), GIC local interrupts
    have been broken.

    Users attempting to setup a per-cpu local IRQ, for example the GIC timer
    clock events code in drivers/clocksource/mips-gic-timer.c, the
    setup_percpu_irq function would refuse with -EINVAL because the GIC
    irqchip driver never called irq_set_percpu_devid so the
    IRQ_PER_CPU_DEVID flag was never set for the IRQ. This happens because
    irq_set_percpu_devid was being called from the gic_irq_domain_map
    function which is no longer called.

    Doing only that runs into further problems because gic_dev_domain_alloc
    set the struct irq_chip for all interrupts, local or shared, to
    gic_level_irq_controller despite that only being suitable for shared
    interrupts. The typical outcome of this is that gic_level_irq_controller
    callback functions are called for local interrupts, and then hwirq
    number calculations overflow & the driver ends up attempting to access
    some invalid register with an address calculated from an invalid hwirq
    number. Best case scenario is that this then leads to a bus error. This
    is fixed by abstracting the setup of the hwirq & chip to a new function
    gic_setup_dev_chip which is used by both the root GIC IRQ domain & the
    device domain.

    Finally, decoding local interrupts failed because gic_dev_domain_alloc
    only called irq_domain_alloc_irqs_parent for shared interrupts. Local
    ones were therefore never associated with hwirqs in the root GIC IRQ
    domain and the virq in gic_handle_local_int would always be 0. This is
    fixed by calling irq_domain_alloc_irqs_parent unconditionally & having
    gic_irq_domain_alloc handle both local & shared interrupts, which is
    easy due to the aforementioned abstraction of chip setup into
    gic_setup_dev_chip.

    This fixes use of the MIPS GIC timer for clock events, which has been
    broken since c98c1822ee13 ("irqchip/mips-gic: Add device hierarchy
    domain") but hadn't been noticed due to a silent fallback to the MIPS
    coprocessor 0 count/compare clock events device.

    Fixes: c98c1822ee13 ("irqchip/mips-gic: Add device hierarchy domain")
    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: Jason Cooper
    Cc: Qais Yousef
    Cc: stable@vger.kernel.org
    Cc: Marc Zyngier
    Link: http://lkml.kernel.org/r/20160913165335.31389-1-paul.burton@imgtec.com
    Signed-off-by: Thomas Gleixner

    Paul Burton
     

20 Sep, 2016

8 commits

  • Commit fe56b9e6a8d95 ("qed: Add module with basic common support")
    has introduced a stack corruption during probe, where filling a
    local struct with data to be sent to management firmware is incorrectly
    filled; The data is written outside of the struct and corrupts
    the stack.

    Changes from v1:
    ----------------
    - Correct the value written [Caught by David Laight]

    Fixes: fe56b9e6a8d95 ("qed: Add module with basic common support")
    Signed-off-by: Yuval Mintz
    Signed-off-by: David S. Miller

    Yuval Mintz
     
  • E-switch mode changes involve creating HW tables, potentially allocating
    netdevices, etc, and things can fail. Add an attempt to rollback to the
    existing mode when changing to the new mode fails. Only if rollback fails,
    getting proper SRIOV functionality requires module unload or sriov
    disablement/enablement.

    Signed-off-by: Or Gerlitz
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • When enablement of the SRIOV e-switch in certain mode (switchdev or legacy)
    fails, we must set the mode to none. Otherwise, we'll run into double free
    based crashes when further attempting to deal with the e-switch (such
    as when disabling sriov or unloading the driver).

    Signed-off-by: Or Gerlitz
    Signed-off-by: David S. Miller

    Or Gerlitz
     
  • The FW command output length should be only the length of struct
    mlx5_cmd_fc_bulk out field. Failing to do so will cause the memcpy
    call which is invoked later in the driver to write over wrong memory
    address and corrupt kernel memory which results in random crashes.

    This bug was found using the kernel address sanitizer (kasan).

    Fixes: a351a1b03bf1 ('net/mlx5: Introduce bulk reading of flow counters')
    Signed-off-by: Roi Dayan
    Signed-off-by: Or Gerlitz
    Signed-off-by: David S. Miller

    Roi Dayan
     
  • gic_raise_softirq() walks the list of cpus using for_each_cpu(), it calls
    gic_compute_target_list() which advances the iterator by the number of
    CPUs in the cluster.

    If gic_compute_target_list() reaches the last CPU it leaves the iterator
    pointing at the last CPU. This means the next time round the for_each_cpu()
    loop cpumask_next() will be called with an invalid CPU.

    This triggers a warning when built with CONFIG_DEBUG_PER_CPU_MAPS:
    [ 3.077738] GICv3: CPU1: found redistributor 1 region 0:0x000000002f120000
    [ 3.077943] CPU1: Booted secondary processor [410fd0f0]
    [ 3.078542] ------------[ cut here ]------------
    [ 3.078746] WARNING: CPU: 1 PID: 0 at ../include/linux/cpumask.h:121 gic_raise_softirq+0x12c/0x170
    [ 3.078812] Modules linked in:
    [ 3.078869]
    [ 3.078930] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.8.0-rc5+ #5188
    [ 3.078994] Hardware name: Foundation-v8A (DT)
    [ 3.079059] task: ffff80087a1a0080 task.stack: ffff80087a19c000
    [ 3.079145] PC is at gic_raise_softirq+0x12c/0x170
    [ 3.079226] LR is at gic_raise_softirq+0xa4/0x170
    [ 3.079296] pc : [] lr : [] pstate: 200001c9
    [ 3.081139] Call trace:
    [ 3.081202] Exception stack(0xffff80087a19fbe0 to 0xffff80087a19fd10)

    [ 3.082269] [] gic_raise_softirq+0x12c/0x170
    [ 3.082354] [] smp_send_reschedule+0x34/0x40
    [ 3.082433] [] resched_curr+0x50/0x88
    [ 3.082512] [] check_preempt_curr+0x60/0xd0
    [ 3.082593] [] ttwu_do_wakeup+0x20/0xe8
    [ 3.082672] [] ttwu_do_activate+0x90/0xc0
    [ 3.082753] [] try_to_wake_up+0x224/0x370
    [ 3.082836] [] default_wake_function+0x10/0x18
    [ 3.082920] [] __wake_up_common+0x5c/0xa0
    [ 3.083003] [] __wake_up_locked+0x14/0x20
    [ 3.083086] [] complete+0x40/0x60
    [ 3.083168] [] secondary_start_kernel+0x15c/0x1d0
    [ 3.083240] [] 0x808911a4
    [ 3.113401] Detected PIPT I-cache on CPU2

    Avoid updating the iterator if the next call to cpumask_next() would
    cause the for_each_cpu() loop to exit.

    There is no change to gic_raise_softirq()'s behaviour, (cpumask_next()s
    eventual call to _find_next_bit() will return early as start >= nbits),
    this patch just silences the warning.

    Fixes: 021f653791ad ("irqchip: gic-v3: Initial support for GICv3")
    Signed-off-by: James Morse
    Acked-by: Marc Zyngier
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Jason Cooper
    Link: http://lkml.kernel.org/r/1474306155-3303-1-git-send-email-james.morse@arm.com
    Signed-off-by: Thomas Gleixner

    James Morse
     
  • Merge fixes from Andrew Morton:
    "20 fixes"

    * emailed patches from Andrew Morton :
    rapidio/rio_cm: avoid GFP_KERNEL in atomic context
    Revert "ocfs2: bump up o2cb network protocol version"
    ocfs2: fix start offset to ocfs2_zero_range_for_truncate()
    cgroup: duplicate cgroup reference when cloning sockets
    mm: memcontrol: make per-cpu charge cache IRQ-safe for socket accounting
    ocfs2: fix double unlock in case retry after free truncate log
    fanotify: fix list corruption in fanotify_get_response()
    fsnotify: add a way to stop queueing events on group shutdown
    ocfs2: fix trans extend while free cached blocks
    ocfs2: fix trans extend while flush truncate log
    ipc/shm: fix crash if CONFIG_SHMEM is not set
    mm: fix the page_swap_info() BUG_ON check
    autofs: use dentry flags to block walks during expire
    MAINTAINERS: update email for VLYNQ bus entry
    mm: avoid endless recursion in dump_page()
    mm, thp: fix leaking mapped pte in __collapse_huge_page_swapin()
    khugepaged: fix use-after-free in collapse_huge_page()
    MAINTAINERS: Maik has moved
    ocfs2/dlm: fix race between convert and migration
    mem-hotplug: don't clear the only node in new_node_page()

    Linus Torvalds
     
  • As reported by Alexey Khoroshilov (https://lkml.org/lkml/2016/9/9/737):
    riocm_send_close() is called from rio_cm_shutdown() under
    spin_lock_bh(idr_lock), but riocm_send_close() uses a GFP_KERNEL
    allocation.

    Fix by taking riocm_send_close() outside of spinlock protected code.

    [akpm@linux-foundation.org: remove unneeded `if (!list_empty())']
    Link: http://lkml.kernel.org/r/20160915175402.10122-1-alexandre.bounine@idt.com
    Signed-off-by: Alexandre Bounine
    Reported-by: Alexey Khoroshilov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Pull exynos and one stable ABI fix from Dave Airlie:
    "One important drm 32/64 ABI fix came in so I'll dequeue what I have,
    the rest is just exynos runtime pm fixes, but the net removal of code
    seems like a win to me.

    I'm going to be sporadic this week due to school holidays, so if
    anything urgent turns up, Daniel will take care of it"

    * tag 'drm-fixes-for-4.8-rc7' of git://people.freedesktop.org/~airlied/linux:
    drm: Only use compat ioctl for addfb2 on X86/IA64
    Subject: [PATCH, RESEND] drm: exynos: avoid unused function warning
    drm/exynos: g2d: fix system and runtime pm integration
    drm/exynos: rotator: fix system and runtime pm integration
    drm/exynos: gsc: fix system and runtime pm integration
    drm/exynos: fimc: fix system and runtime pm integration
    exynos-drm: Fix unsupported GEM memory type error message to be clear

    Linus Torvalds
     

19 Sep, 2016

4 commits

  • Fix a regression caused by commit 2bc46b3ad3c1 ("[media] media/pci:
    convert drivers to use the new vb2_queue dev field").

    Three places where q->dev should be set were missed, causing
    a WARN.

    Fixes: 2bc46b3ad3c1 ("[media] media/pci: convert drivers to use the new vb2_queue dev field").

    Signed-off-by: Hans Verkuil
    Reported-by: Marton Balint
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • On a imx6ul-pico board the following error is seen during system suspend:

    dpm_run_callback(): platform_pm_resume+0x0/0x54 returns -110
    PM: Device 2090000.flexcan failed to resume: error -110

    The reason for this suspend error is because when the CAN interface is not
    active the clocks are disabled and then flexcan_chip_enable() will
    always fail due to a timeout error.

    In order to fix this issue, only call flexcan_chip_enable/disable()
    when the CAN interface is active.

    Based on a patch from Dong Aisheng in the NXP kernel.

    Signed-off-by: Fabio Estevam
    Cc: linux-stable
    Signed-off-by: Marc Kleine-Budde

    Fabio Estevam
     
  • commit a894cf6c5a82 ("mtd: nand: mxc: switch to mtd_ooblayout_ops")
    introduced a regression accessing the OOB area from the mxc_nand
    driver due to an Obiwan error in the mxc_nand_v[12]_ooblayout_free()
    functions. They report a bogus oobregion { 64, 7 } which leads to
    errors accessing bogus data when reading the oob area.

    Prior to the commit the mtd-oobtest module could be run without any
    errors. With the offending commit, this test fails with results like:
    |Running mtd-oobtest
    |
    |=================================================
    |mtd_oobtest: MTD device: 5
    |mtd_oobtest: MTD device size 524288, eraseblock size 131072, page size 2048, count of eraseblocks 4, pages per eraseblock 64, OOB size 64
    |mtd_test: scanning for bad eraseblocks
    |mtd_test: scanned 4 eraseblocks, 0 are bad
    |mtd_oobtest: test 1 of 5
    |mtd_oobtest: writing OOBs of whole device
    |mtd_oobtest: written up to eraseblock 0
    |mtd_oobtest: written 4 eraseblocks
    |mtd_oobtest: verifying all eraseblocks
    |mtd_oobtest: error @addr[0x0:0x19] 0x9a -> 0x78 diff 0xe2
    |mtd_oobtest: error @addr[0x0:0x1a] 0xcc -> 0x0 diff 0xcc
    |mtd_oobtest: error @addr[0x0:0x1b] 0xe0 -> 0x85 diff 0x65
    |mtd_oobtest: error @addr[0x0:0x1c] 0x60 -> 0x62 diff 0x2
    |mtd_oobtest: error @addr[0x0:0x1d] 0x69 -> 0x45 diff 0x2c
    |mtd_oobtest: error @addr[0x0:0x1e] 0xcd -> 0xa0 diff 0x6d
    |mtd_oobtest: error @addr[0x0:0x1f] 0xf2 -> 0x60 diff 0x92
    |mtd_oobtest: error: verify failed at 0x0
    [...]

    Signed-off-by: Lothar Waßmann
    Fixes: a894cf6c5a82 ("mtd: nand: mxc: switch to mtd_ooblayout_ops")
    Cc:
    Signed-off-by: Boris Brezillon

    Lothar Waßmann
     
  • When mtk_nfc_do_write_page() comparing the sector number,because the
    sector number field is at the 12th-bit position of NFI_BYTELEN
    register,the masked register should be shifted 12 bits before being
    compared.The result of this bug may cause the second subpage has
    incomplete ECC parity bytes.

    Signed-off-by: RogerCC Lin
    Fixes: 1d6b1e464950 ("mtd: mediatek: driver for MTK Smart Device")
    Signed-off-by: Boris Brezillon

    RogerCC Lin