22 Jun, 2014

3 commits

  • Pull staging driver fixes from Greg KH:
    "Here are a few fixes for staging and iio drivers that resolve issues
    reported in 3.16-rc1.

    All have been in linux-next just fine"

    * tag 'staging-3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    imx-drm: parallel-display: Fix DPMS default state.
    staging: android: timed_output: fix use after free of dev
    staging: comedi: addi_apci_1564: add addi_watchdog dependency
    staging: rtl8723au: Reference correct firmwarefiles with MODULE_FIRMWARE()
    staging: rtl8723au: Request correct firmware file for A-cut parts
    iio: adc: checking for NULL instead of IS_ERR() in probe
    iio: adc: at91: signedness bug in at91_adc_get_trigger_value_by_name()
    iio: mxs-lradc: fix divider
    iio: Fix endianness issue in ak8975_read_axis()
    staging/iio: IIO_SIMPLE_DUMMY_BUFFER neds IIO_BUFFER
    twl4030-madc: Request processed values in twl4030_get_madc_conversion
    staging: iio: tsl2x7x_core: fix proximity treshold
    iio: Fix two mpl3115 issues in measurement conversion
    iio: hid-sensors: Get feature report from sensor hub after changing power state

    Linus Torvalds
     
  • Pull tty/serial bugfixes from Greg KH:
    "Here are some tty / serial driver bugfixes for 3.16-rc2 that resolve
    some reported issues. The samsung driver build error itself has been
    reported by a bunch of people, sorry about that one. The others are
    all tiny and everyone seems to like them in linux-next so far"

    * tag 'tty-3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    tty/serial: fix 8250 early console option passing to regular console
    tty: Correct INPCK handling
    serial: Fix IGNBRK handling
    serial: samsung: Fix build error

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are some USB fixes for 3.16-rc2 that resolve some reported
    issues. All of these have been in linux-next for a while with no
    problems"

    * tag 'usb-3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: usbtest: add a timeout for scatter-gather tests
    USB: EHCI: avoid BIOS handover on the HASEE E200
    usb: fix hub-port pm_runtime_enable() vs runtime pm transitions
    usb: quiet peer failure warning, disable poweroff
    usb: improve "not suspended yet" message in hub_suspend()
    xhci: Fix sleeping with IRQs disabled in xhci_stop_device()
    usb: fix ->update_hub_device() vs hdev->maxchild

    Linus Torvalds
     

20 Jun, 2014

14 commits

  • Pull ACPI and power management fixes from Rafael Wysocki:
    "These are fixes mostly (ia64 regression related to the ACPI
    enumeration of devices, cpufreq regressions, fix for I2C controllers
    included in Intel SoCs, mvebu cpuidle driver fix related to sysfs)
    plus additional kernel command line arguments from Kees to make it
    possible to build kernel images with hibernation and the kernel
    address space randomization included simultaneously, a new ACPI
    battery driver quirk for a system with a broken BIOS and a couple of
    ACPI core cleanups.

    Specifics:

    - Fix for an ia64 regression introduced during the 3.11 cycle by a
    commit that modified the hardware initialization ordering and made
    device discovery fail on some systems.

    - Fix for a build problem on systems where the cpufreq-cpu0 driver is
    built-in and the cpu-thermal driver is modular from Arnd Bergmann.

    - Fix for a recently introduced computational mistake in the
    intel_pstate driver that leads to excessive rounding errors from
    Doug Smythies.

    - Fix for a failure code path in cpufreq_update_policy() that fails
    to unlock the locks acquired previously from Aaron Plattner.

    - Fix for the cpuidle mvebu driver to use shorter state names which
    will prevent the sysfs interface from returning mangled strings.
    From Gregory Clement.

    - ACPI LPSS driver fix to make sure that the I2C controllers included
    in BayTrail SoCs are not held in the reset state while they are
    being probed from Mika Westerberg.

    - New kernel command line arguments making it possible to build
    kernel images with hibernation and kASLR included at the same time
    and to select which of them will be used via the command line (they
    are still functionally mutually exclusive, though). From Kees
    Cook.

    - ACPI battery driver quirk for Acer Aspire V5-573G that fails to
    send battery status change notifications timely from Alexander
    Mezin.

    - Two ACPI core cleanups from Christoph Jaeger and Fabian Frederick"

    * tag 'pm+acpi-3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpuidle: mvebu: Fix the name of the states
    cpufreq: unlock when failing cpufreq_update_policy()
    intel_pstate: Correct rounding in busy calculation
    ACPI: use kstrto*() instead of simple_strto*()
    ACPI / processor replace __attribute__((packed)) by __packed
    ACPI / battery: add quirk for Acer Aspire V5-573G
    ACPI / battery: use callback for setting up quirks
    ACPI / LPSS: Take I2C host controllers out of reset
    x86, kaslr: boot-time selectable with hibernation
    PM / hibernate: introduce "nohibernate" boot parameter
    cpufreq: cpufreq-cpu0: fix CPU_THERMAL dependency
    ACPI / ia64 / sba_iommu: Restore the working initialization ordering

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "The significant part here is a few security fixes for ALSA core
    control API by Lars. Besides that, there are a few fixes for ASoC
    sigmadsp (again by Lars) for building properly, and small fixes for
    ASoC rsnd, MMP, PXA and FSL, in addition to a fix for bogus WARNING in
    i915/HD-audio binding"

    * tag 'sound-3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: control: Make sure that id->index does not overflow
    ALSA: control: Handle numid overflow
    ALSA: control: Don't access controls outside of protected regions
    ALSA: control: Fix replacing user controls
    ALSA: control: Protect user controls against concurrent access
    drm/i915, HD-audio: Don't continue probing when nomodeset is given
    ASoC: fsl: Fix build problem
    ASoC: rsnd: fixup index of src/dst mod when capture
    ASoC: fsl_spdif: Fix integer overflow when calculating divisors
    ASoC: fsl_spdif: Fix incorrect usage of regmap_read()
    ASoC: dapm: Make sure register value is in sync with DAPM kcontrol state
    ASoC: sigmadsp: Split regmap and I2C support into separate modules
    ASoC: MMP audio needs sram support
    ASoC: pxa: add I2C dependencies as needed

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "This looks bigger than it is, as one of the nouveau firmware fixes
    ("drm/gf100-/gr: report class data to host on fwmthd failure")
    regenerates a bunch of the firmware files after changing the assembly
    by a few lines, without that, its more of a

    36 files changed, 370 insertions(+), 129 deletions(-)

    It contains some vt.c fixes acked by Greg, for rare hard hangs on i915
    loading, that also fixes hangs on reload and spurious register write
    errors.

    drm core: one fix for uninit memory

    nouveau: displayport rework caused a few regressions, Ben has been
    fixing them as the appear, along with some other fixes

    radeon: pageflipping regression fix, deep color fix, mode validation
    fixes

    i915: fbc disable, vga console kick off, backlight fix, divide-by-zero
    fix"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (33 commits)
    drm: fix uninitialized acquire_ctx fields (v2)
    drm/radeon: Fix radeon_irq_kms_pflip_irq_get/put() imbalance
    Revert "drm/radeon: remove drm_vblank_get|put from pflip handling"
    drm/radeon: improve dvi_mode_valid
    drm/radeon: update mode_valid testing for DP
    drm/radeon: Use dce5/6 hdmi deep color clock setup also on dce8+
    drm/nouveau/disp: fix oops in destructor with headless cards
    drm/gf117/i2c: no aux channels on this chipset
    drm/nouveau/doc: update the thermal documentation
    drm/nouveau/pwr: fix typo in fifo wrap handling
    drm/nv50/disp: fix a potential oops in supervisor handling
    drm/nouveau/disp/dp: don't touch link config after success
    drm/nouveau/kms: reference vblank for crtc during pageflip.
    drm/gk104/fb/ram: fixups from an earlier search+replace
    drm/nv50/gr: remove an unneeded write while initialising PGRAPH
    drm/nv50/gr: fix overlap while zeroing zcull regions
    drm/gf100-/gr: report class data to host on fwmthd failure
    drm/gk104/ibus: increase various random timeouts
    drm/gk104/clk: only touch divider for mode we'll be using
    drm/radeon: Bypass hw lut's for > 8 bpc framebuffer scanout.
    ...

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "A smaller collection of fixes for the block core that would be nice to
    have in -rc2. This pull request contains:

    - Fixes for races in the wait/wakeup logic used in blk-mq from
    Alexander. No issues have been observed, but it is definitely a
    bit flakey currently. Alternatively, we may drop the cyclic
    wakeups going forward, but that needs more testing.

    - Some cleanups from Christoph.

    - Fix for an oops in null_blk if queue_mode=1 and softirq completions
    are used. From me.

    - A fix for a regression caused by the chunk size setting. It
    inadvertently used max_hw_sectors instead of max_sectors, which is
    incorrect, and causes hangs on btrfs multi-disk setups (where hw
    sectors apparently isn't set). From me.

    - Removal of WQ_POWER_EFFICIENT in the kblockd creation. This was a
    recent addition as well, but it actually breaks blk-mq which relies
    on strict scheduling. If the workqueue power_efficient mode is
    turned on, this breaks blk-mq. From Matias.

    - null_blk module parameter description fix from Mike"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    blk-mq: bitmap tag: fix races in bt_get() function
    blk-mq: bitmap tag: fix race on blk_mq_bitmap_tags::wake_cnt
    blk-mq: bitmap tag: fix races on shared ::wake_index fields
    block: blk_max_size_offset() should check ->max_sectors
    null_blk: fix softirq completions for queue_mode == 1
    blk-mq: merge blk_mq_drain_queue and __blk_mq_drain_queue
    blk-mq: properly drain stopped queues
    block: remove WQ_POWER_EFFICIENT from kblockd
    null_blk: fix name and description of 'queue_mode' module parameter
    block: remove elv_abort_queue and blk_abort_flushes

    Linus Torvalds
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "A first set of bug fixes that didn't make it for the merge window, and
    two Kconfig cleanups that still make sense at this point.

    Unfortunately, one of the two cleanups caused an unintended change in
    the original version, so we had to revert one part of it and do some
    more testing to ensure the rest is really fine. There was also a
    last-minute rebase of the patches to remove another bad commit"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: use menuconfig for sub-arch menus
    ARM: multi_v7_defconfig: re-enable SDHCI drivers
    ARM: EXYNOS: Fix compilation warning
    ARM: exynos: move sysram info to exynos.c
    ARM: dts: Specify the NAND ECC scheme explicitly on Armada 385 DB board
    ARM: dts: Specify the NAND ECC scheme explicitly on Armada 375 DB board
    ARM: exynos: cleanup kconfig option display
    misc: vexpress: fix error handling vexpress_syscfg_regmap_init()
    ARM: Remove ARCH_HAS_CPUFREQ config option
    ARM: integrator: fix section mismatch problem
    ARM: mvebu: DT: fix OpenBlocks AX3-4 RAM size
    ARM: samsung: make SAMSUNG_DMADEV optional
    remoteproc: da8xx: don't select CMA on no-MMU
    bus/arm-cci: add dependency on OF && CPU_V7
    ARM: keystone requires ARM_PATCH_PHYS_VIRT
    ARM: omap2: fix am43xx dependency on l2x0 cache

    Linus Torvalds
     
  • If connector->dpms is left untouched, it defaults
    to DRM_MODE_DPMS_ON (0).

    As a result, drm_helper_connector_dpms will exit when
    it will be asked to set the state to DRM_MODE_DPMS_ON,
    because it is already set.

    That issue prevented displays from turning on at boot.

    Signed-off-by: Denis Carikli
    Signed-off-by: Greg Kroah-Hartman

    Denis Carikli
     
  • tdev->dev has been freed in device_destroy(), it's not right to
    use dev_set_drvdata() after that;

    Signed-off-by: Yi Zhang
    Signed-off-by: Greg Kroah-Hartman

    Yi Zhang
     
  • In the conversion to generic early console, the passing of options from
    the early 8250 console to the regular ttyS console was broken. This
    resulted in the baud rate changing when switching consoles during boot.

    This feature allows specifying a single console option on the kernel
    command line rather than both an early console and regular serial tty
    console. It would be nice to generalize this feature. However, it only
    works if the correct baud rate can be probed early which is not the
    case on many platforms which have non-standard UART clock rates. So for
    now, this is left as an 8250 specific feature.

    Reported-and-tested-by: Tony Luck
    Signed-off-by: Rob Herring
    Cc: Jiri Slaby
    Signed-off-by: Greg Kroah-Hartman

    Rob Herring
     
  • If INPCK is not set, input parity detection should be disabled. This means
    parity errors should not be received from the tty driver, and the data
    received should be treated normally.

    SUS v3, 11.2.2, General Terminal Interface - Input Modes, states:
    "If INPCK is set, input parity checking shall be enabled. If INPCK is
    not set, input parity checking shall be disabled, allowing output parity
    generation without input parity errors. Note that whether input parity
    checking is enabled or disabled is independent of whether parity detection
    is enabled or disabled (see Control Modes). If parity detection is enabled
    but input parity checking is disabled, the hardware to which the terminal
    is connected shall recognize the parity bit, but the terminal special file
    shall not check whether or not this bit is correctly set."

    Ignore parity errors reported by the tty driver when INPCK is not set, and
    handle the received data normally.

    Fixes: Bugzilla #71681, 'Improvement of n_tty_receive_parity_error from n_tty.c'
    Reported-by: Ivan
    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • If IGNBRK is set without either BRKINT or PARMRK set, some uart
    drivers send a 0x00 byte for BREAK without the TTYBREAK flag to the
    line discipline, when it should send either nothing or the TTYBREAK flag
    set. This happens because the read_status_mask masks out the BI
    condition, which uart_insert_char() then interprets as a normal 0x00 byte.

    SUS v3 is clear regarding the meaning of IGNBRK; Section 11.2.2, General
    Terminal Interface - Input Modes, states:
    "If IGNBRK is set, a break condition detected on input shall be ignored;
    that is, not put on the input queue and therefore not read by any
    process."

    Fix read_status_mask to include the BI bit if IGNBRK is set; the
    lsr status retains the BI bit if a BREAK is recv'd, which is
    subsequently ignored in uart_insert_char() when masked with the
    ignore_status_mask.

    Affected drivers:
    8250 - all
    serial_txx9
    mfd
    amba-pl010
    amba-pl011
    atmel_serial
    bfin_uart
    dz
    ip22zilog
    max310x
    mxs-auart
    netx-serial
    pnx8xxx_uart
    pxa
    sb1250-duart
    sccnxp
    serial_ks8695
    sirfsoc_uart
    st-asc
    vr41xx_siu
    zs
    sunzilog
    fsl_lpuart
    sunsab
    ucc_uart
    bcm63xx_uart
    sunsu
    efm32-uart
    pmac_zilog
    mpsc
    msm_serial
    m32r_sio

    Unaffected drivers:
    omap-serial
    rp2
    sa1100
    imx
    icom

    Annotated for fixes:
    altera_uart
    mcf

    Drivers without break detection:
    21285
    xilinx-uartps
    altera_jtaguart
    apbuart
    arc-uart
    clps711x
    max3100
    uartlite
    msm_serial_hs
    nwpserial
    lantiq
    vt8500_serial

    Unknown:
    samsung
    mpc52xx_uart
    bfin_sport_uart
    cpm_uart/core

    Fixes: Bugzilla #71651, '8250_core.c incorrectly handles IGNBRK flag'
    Reported-by: Ivan
    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • Pull security maintainership update from James Morris:
    "Add Serge Hallyn as security subsystem co-maintainer"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    security: add Serge Hallyn as a maintainer

    Linus Torvalds
     
  • Pull Xen fixes from David Vrabel:
    "Xen regression and PVH fixes for 3.16-rc1

    - fix dom0 PVH memory setup on latest unstable Xen releases
    - fix 64-bit x86 PV guest boot failure on Xen 3.1 and earlier
    - fix resume regression on non-PV (auto-translated physmap) guests"

    * tag 'stable/for-linus-3.16-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/grant-table: fix suspend for non-PV guests
    x86/xen: no need to explicitly register an NMI callback
    Revert "xen/pvh: Update E820 to work with PVH (v2)"
    x86/xen: fix memory setup for PVH dom0

    Linus Torvalds
     
  • Pull arm64 fixes from Catalin Marinas:
    "These are primarily bug fixes with a performance improvement patch for
    the GHASH crypto algorithm (which went in during this merging window)
    and dts/defconfig/Kconfig updates.

    - ftrace_return_addr() macro fix for arm (introduced earlier via the
    arm64 tree)
    - stack alignment exception entry code fix
    - GHASH crypto algorithm fix and performance improvement
    - CMA buffer limited to 32-bit (until a better way to describe the
    system topology in DT)
    - UAPI sigcontext.h build fix
    - __kernel_old_{gid,uid}_t definitions fix (affecting 32-bit LTP)
    - ptrace fixes (kernel fault and 32-bit arm core dump)
    - pte_mknotpresent() fix
    - dts updates (APM SoC)
    - defconfig and Kconfig update"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: mm: remove broken &= operator from pmd_mknotpresent
    arm64: fix build error in sigcontext.h
    arm64: dts: Add more serial port nodes in APM X-Gene device tree
    arm64/dma: Removing ARCH_HAS_DMA_GET_REQUIRED_MASK macro
    arm64: ptrace: fix empty registers set in prstatus of aarch32 process core
    arm64: uid16: fix __kernel_old_{gid,uid}_t definitions
    arm64: ptrace: change fs when passing kernel pointer to regset code
    arm64: Limit the CMA buffer to 32-bit if ZONE_DMA
    arm/ftrace: fix ftrace_return_addr() to ftrace_return_address()
    arm64/crypto: improve performance of GHASH algorithm
    arm64/crypto: fix data corruption bug in GHASH algorithm
    arm64: defconfig update for LTP
    arm64: ftrace: Fix comment typo 'CONFIG_FUNCTION_GRAPH_FP_TEST'
    arm64: add ARCH_HAS_OPP to allow enabling OPP library
    arm64: restore alphabetic order in Kconfig
    arm64: Bug fix in stack alignment exception

    Linus Torvalds
     
  • Pull sparc fixes from David Miller:
    "Sparc sparse fixes from Sam Ravnborg"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next: (67 commits)
    sparc64: fix sparse warnings in int_64.c
    sparc64: fix sparse warning in ftrace.c
    sparc64: fix sparse warning in kprobes.c
    sparc64: fix sparse warning in kgdb_64.c
    sparc64: fix sparse warnings in compat_audit.c
    sparc64: fix sparse warnings in init_64.c
    sparc64: fix sparse warnings in aes_glue.c
    sparc: fix sparse warnings in smp_32.c + smp_64.c
    sparc64: fix sparse warnings in perf_event.c
    sparc64: fix sparse warnings in kprobes.c
    sparc64: fix sparse warning in tsb.c
    sparc64: clean up compat_sigset_t.seta handling
    sparc64: fix sparse "Should it be static?" warnings in signal32.c
    sparc64: fix sparse warnings in sys_sparc32.c
    sparc64: fix sparse warning in pci.c
    sparc64: fix sparse warnings in smp_64.c
    sparc64: fix sparse warning in prom_64.c
    sparc64: fix sparse warning in btext.c
    sparc64: fix sparse warnings in sys_sparc_64.c + unaligned_64.c
    sparc64: fix sparse warning in process_64.c
    ...

    Conflicts:
    arch/sparc/include/asm/pgtable_64.h

    Linus Torvalds
     

19 Jun, 2014

15 commits

  • * pm-cpufreq:
    cpufreq: unlock when failing cpufreq_update_policy()
    intel_pstate: Correct rounding in busy calculation
    cpufreq: cpufreq-cpu0: fix CPU_THERMAL dependency

    * pm-cpuidle:
    cpuidle: mvebu: Fix the name of the states

    Rafael J. Wysocki
     
  • * pm-sleep:
    x86, kaslr: boot-time selectable with hibernation
    PM / hibernate: introduce "nohibernate" boot parameter

    Rafael J. Wysocki
     
  • * acpi-general:
    ACPI: use kstrto*() instead of simple_strto*()

    * acpi-processor:
    ACPI / processor replace __attribute__((packed)) by __packed

    * acpi-lpss:
    ACPI / LPSS: Take I2C host controllers out of reset

    * acpi-battery:
    ACPI / battery: add quirk for Acer Aspire V5-573G
    ACPI / battery: use callback for setting up quirks

    Rafael J. Wysocki
     
  • First round of fixes for 3.16-rc, mostly cc: stable, and the vt/vgacon
    fixes from Daniel [1] to avoid hangs and unclaimed register errors on
    module load/reload.

    * tag 'drm-intel-fixes-2014-06-17' of git://anongit.freedesktop.org/drm-intel:
    drm/i915/bdw: remove erroneous chv specific workarounds from bdw code
    drm/i915: fix possible refcount leak when resetting forcewake
    drm/i915: Reorder semaphore deadlock check
    drm/i95: Initialize active ring->pid to -1
    drm/i915: set backlight duty cycle after backlight enable for gen4
    drm/i915: Avoid div-by-zero when pixel_multiplier is zero
    drm/i915: Disable FBC by default also on Haswell and later
    drm/i915: Kick out vga console
    drm/i915: Fixup global gtt cleanup
    vt: Don't ignore unbind errors in vt_unbind
    vt: Fix up unregistration of vt drivers
    vt: Fix replacement console check when unbinding

    Dave Airlie
     
  • The acquire ctx will typically be declared on the stack, which means we
    could have garbage values for any uninitialized field. In this case, it
    was triggering WARN_ON()s because 'contended' had garbage value.

    Go ahead and use memset() to be more future-proof.

    v2: now with extra brown paper bag

    Reported-by: Ville Syrjälä
    Signed-off-by: Rob Clark
    Reviewed-by: Ville Syrjälä
    Tested-by: Ville Syrjälä
    Signed-off-by: Dave Airlie

    Rob Clark
     
  • mode validation, deep color and pageflipping fixes.

    * 'drm-fixes-3.16' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon: Fix radeon_irq_kms_pflip_irq_get/put() imbalance
    Revert "drm/radeon: remove drm_vblank_get|put from pflip handling"
    drm/radeon: improve dvi_mode_valid
    drm/radeon: update mode_valid testing for DP
    drm/radeon: Use dce5/6 hdmi deep color clock setup also on dce8+

    Dave Airlie
     
  • With commit aed3f9d498b ("staging: comedi: addi_apci_1564:
    absorb apci1564_reset()"), the apci 1564 driver has gained
    a dependency on the addi watchdog module, which is not reflected
    correctly in Kconfig, and that can lead to link errors
    when the watchdog is disabled.

    This adds an explicit 'select', like it is done in the other
    addi apci drivers that need it.

    Signed-off-by: Arnd Bergmann
    Cc: H Hartley Sweeten
    Acked-by: Ian Abbott
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     
  • Fixes a regression in 3.16-rc1 compared to 3.15.

    The unbalanced calls would presumably result in the page flip interrupts
    never getting disabled once they are enabled.

    Signed-off-by: Michel Dänzer
    Reviewed-by: Christian König
    Signed-off-by: Alex Deucher

    Michel Dänzer
     
  • This reverts commit 75f36d861957cb05b7889af24c8cd4a789398304.

    drm_vblank_get() is necessary to ensure the DRM vblank counter value is
    up to date in drm_send_vblank_event().

    Seems to fix weston hangs waiting for page flips to complete.

    Signed-off-by: Michel Dänzer
    Reviewed-by: Christian König
    Signed-off-by: Alex Deucher

    Michel Dänzer
     
  • Make sure we have an HDMI monitor before validating modes with
    clocks >165 Mhz on single link connections.

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • When we have a passive adapter validate the clocks
    against the HMDI/DVI limits.

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Need to use the adjusted clock on dce8 as well.

    bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=80029

    Signed-off-by: Mario Kleiner
    Signed-off-by: Alex Deucher

    Mario Kleiner
     
  • The length name of the states 2 was too long to fit in the allocated
    string (limited to 16 bytes). This lead to improper string displayed
    through sysfs.

    This patch shorten the name by removing the reference to Marvell and
    to the CPU as both are implicit. For coherency the same change have
    been done for the states 1.

    Signed-off-by: Gregory CLEMENT
    Signed-off-by: Rafael J. Wysocki

    Gregory CLEMENT
     
  • Commit bd0fa9bb455d introduced a failure path to cpufreq_update_policy() if
    cpufreq_driver->get(cpu) returns NULL. However, it jumps to the 'no_policy'
    label, which exits without unlocking any of the locks the function acquired
    earlier. This causes later calls into cpufreq to hang.

    Fix this by creating a new 'unlock' label and jumping to that instead.

    Fixes: bd0fa9bb455d ("cpufreq: Return error if ->get() failed in cpufreq_update_policy()")
    Link: https://devtalk.nvidia.com/default/topic/751903/kernel-3-15-and-nv-drivers-337-340-failed-to-initialize-the-nvidia-kernel-module-gtx-550-ti-/
    Signed-off-by: Aaron Plattner
    Cc: 3.15+ # 3.15+
    Signed-off-by: Rafael J. Wysocki

    Aaron Plattner
     
  • …/jic23/iio into staging-linus

    Jonathan writes:

    First set of IIO fixes for the 3.16 cycle.

    A mixed bag of fixes, many of which feel just to late for 3.15.

    * hid sensors - some devices need a feature report request in order to
    change power state. This isn't part of the spec, but has been observed
    on several devices and does no harm to others.
    * mpl3115 has had two errors in the buffer description fixed. The presure is
    signed, not unsigned and the temperature has 12 bits rather than 16.
    These could lead to incorrect interpretation of the data in userspace.
    * tsl2x7x - the high byte of the proximity thresholds should be written along
    with the low byte (which was). This could lead to interesting results
    with large thresholds.
    * twl4030 - a flag to specify processed values were required was not set
    when initializing a reading. As such values returned were in an unknown
    state. Fixed by simply initializing it appropriately.
    * IIO_SIMPLE_DUMMY_BUFFER did not select IIO_BUFFER leading to randconfig
    build errors.
    * ak8975 was applying an unwanted le16_to_cpu conversion as the i2c framework
    already performs one. As such for big endian systems, the bytes would be
    in the wrong order in the magnetic field measurements reported.
    * mxs-lradc - the controllable voltage dividers were not enabled / disabled for
    later channels than the first one during conversion.
    * at91_adc error handling returned -ENOMEM in a u8. Return value of
    at91_adc_get_trigger_value_by_name changed to int thus allowing -ENOMEM and
    also original values to be returned.
    * mcb - mcb_request_mem returns and ERR_PTR but the caller was checking for
    NULL to detect an error.

    Greg Kroah-Hartman
     

18 Jun, 2014

8 commits

  • This should be a plain old '&' and could easily lead to undefined
    behaviour if the target of a pmd_mknotpresent invocation was the same
    as the parameter.

    Fixes: 9c7e535fcc17 (arm64: mm: Route pmd thp functions through pte equivalents)
    Signed-off-by: Will Deacon
    Cc: # v3.15
    Signed-off-by: Catalin Marinas

    Will Deacon
     
  • Takashi Iwai
     
  • …nie/sound into for-linus

    ASoC: Fixes for v3.16

    Quite a few build coverage fixes in here among the usual small driver
    fixes includling the sigmadsp change from Lars - moving the driver to
    separate modules per bus (which is basically just code motion) avoids
    issues with some combinations of buses being enabled.

    Takashi Iwai
     
  • The ALSA control code expects that the range of assigned indices to a control is
    continuous and does not overflow. Currently there are no checks to enforce this.
    If a control with a overflowing index range is created that control becomes
    effectively inaccessible and unremovable since snd_ctl_find_id() will not be
    able to find it. This patch adds a check that makes sure that controls with a
    overflowing index range can not be created.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Jaroslav Kysela
    Cc:
    Signed-off-by: Takashi Iwai

    Lars-Peter Clausen
     
  • Each control gets automatically assigned its numids when the control is created.
    The allocation is done by incrementing the numid by the amount of allocated
    numids per allocation. This means that excessive creation and destruction of
    controls (e.g. via SNDRV_CTL_IOCTL_ELEM_ADD/REMOVE) can cause the id to
    eventually overflow. Currently when this happens for the control that caused the
    overflow kctl->id.numid + kctl->count will also over flow causing it to be
    smaller than kctl->id.numid. Most of the code assumes that this is something
    that can not happen, so we need to make sure that it won't happen

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Jaroslav Kysela
    Cc:
    Signed-off-by: Takashi Iwai

    Lars-Peter Clausen
     
  • A control that is visible on the card->controls list can be freed at any time.
    This means we must not access any of its memory while not holding the
    controls_rw_lock. Otherwise we risk a use after free access.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Jaroslav Kysela
    Cc:
    Signed-off-by: Takashi Iwai

    Lars-Peter Clausen
     
  • There are two issues with the current implementation for replacing user
    controls. The first is that the code does not check if the control is actually a
    user control and neither does it check if the control is owned by the process
    that tries to remove it. That allows userspace applications to remove arbitrary
    controls, which can cause a user after free if a for example a driver does not
    expect a control to be removed from under its feed.

    The second issue is that on one hand when a control is replaced the
    user_ctl_count limit is not checked and on the other hand the user_ctl_count is
    increased (even though the number of user controls does not change). This allows
    userspace, once the user_ctl_count limit as been reached, to repeatedly replace
    a control until user_ctl_count overflows. Once that happens new controls can be
    added effectively bypassing the user_ctl_count limit.

    Both issues can be fixed by instead of open-coding the removal of the control
    that is to be replaced to use snd_ctl_remove_user_ctl(). This function does
    proper permission checks as well as decrements user_ctl_count after the control
    has been removed.

    Note that by using snd_ctl_remove_user_ctl() the check which returns -EBUSY at
    beginning of the function if the control already exists is removed. This is not
    a problem though since the check is quite useless, because the lock that is
    protecting the control list is released between the check and before adding the
    new control to the list, which means that it is possible that a different
    control with the same settings is added to the list after the check. Luckily
    there is another check that is done while holding the lock in snd_ctl_add(), so
    we'll rely on that to make sure that the same control is not added twice.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Jaroslav Kysela
    Cc:
    Signed-off-by: Takashi Iwai

    Lars-Peter Clausen
     
  • The user-control put and get handlers as well as the tlv do not protect against
    concurrent access from multiple threads. Since the state of the control is not
    updated atomically it is possible that either two write operations or a write
    and a read operation race against each other. Both can lead to arbitrary memory
    disclosure. This patch introduces a new lock that protects user-controls from
    concurrent access. Since applications typically access controls sequentially
    than in parallel a single lock per card should be fine.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Jaroslav Kysela
    Cc:
    Signed-off-by: Takashi Iwai

    Lars-Peter Clausen