22 Feb, 2013

15 commits

  • Pull non-critical ARM SoC bug fixes from Arnd Bergmann:
    "Bug fixes that did not make it into v3.8, mostly because they were not
    considered important enough, and in some cases because bugs only show
    up in combination with other patches destined for 3.9. This includes
    a few larger patches for GPIO on the Marvell PXA platform and a lot of
    Samsung specific bug fixes, as well as a series from Arnd to fix older
    build warnings."

    * tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
    ARM: SPEAr13xx: Enable CONFIG_ARCH_HAS_CPUFREQ
    ARM: imx: MACH_MX31ADS_WM1133_EV1 needs REGULATOR_WM8350
    scripts/sortextable: silence script output
    ARM: s3c: i2c: add platform_device forward declaration
    ARM: mvebu: allow selecting mvebu without Armada XP
    ARM: pick Versatile by default for !MMU
    ARM: integrator: fix build with INTEGRATOR_AP off
    ARM: integrator/versatile: fix NOMMU warnings
    ARM: sa1100: don't warn about mach/ide.h
    ARM: shmobile: fix defconfig warning on CONFIG_USB
    ARM: w90x900: fix legacy assembly syntax
    ARM: samsung: fix assembly syntax for new gas
    ARM: disable virt_to_bus/virt_to_bus almost everywhere
    ARM: dts: Correct pin configuration of SD 4 for exynos4x12-pinctrl
    ARM: SAMSUNG: Silence empty switch warning in fimc-core.h
    ARM: SAMSUNG: Silence empty switch warning in sdhci.h
    ARM: msm: proc_comm_boot_wait should not be __init
    arm: vt8500: Update MAINTAINERS entry for arch-vt8500
    ARM: integrator: ensure ap_syscon_base is initialised when !CONFIG_MMU
    ARM: S5PV210: Fix early uart output in fifo mode
    ...

    Linus Torvalds
     
  • Pull char/misc driver patches from Greg Kroah-Hartman:
    "Here's the big char/misc driver patches for 3.9-rc1.

    Nothing major here, just lots of different driver updates (mei,
    hyperv, ipack, extcon, vmci, etc.).

    All of these have been in the linux-next tree for a while."

    * tag 'char-misc-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (209 commits)
    w1: w1_therm: Add force-pullup option for "broken" sensors
    w1: ds2482: Added 1-Wire pull-up support to the driver
    vme: add missing put_device() after device_register() fails
    extcon: max8997: Use workqueue to check cable state after completing boot of platform
    extcon: max8997: Set default UART/USB path on probe
    extcon: max8997: Consolidate duplicate code for checking ADC/CHG cable type
    extcon: max8997: Set default of ADC debounce time during initialization
    extcon: max8997: Remove duplicate code related to set H/W line path
    extcon: max8997: Move defined constant to header file
    extcon: max77693: Make max77693_extcon_cable static
    extcon: max8997: Remove unreachable code
    extcon: max8997: Make max8997_extcon_cable static
    extcon: max77693: Remove unnecessary goto statement to improve readability
    extcon: max77693: Convert to devm_input_allocate_device()
    extcon: gpio: Rename filename of extcon-gpio.c according to kernel naming style
    CREDITS: update email and address of Harald Hoyer
    extcon: arizona: Use MICDET for final microphone identification
    extcon: arizona: Always take the first HPDET reading as the final one
    extcon: arizona: Clear _trig_sts bits after jack detection
    extcon: arizona: Don't HPDET magic when headphones are enabled
    ...

    Linus Torvalds
     
  • Pull tty/serial patches from Greg Kroah-Hartman:
    "Here's the big tty/serial driver patches for 3.9-rc1.

    More tty port rework and fixes from Jiri here, as well as lots of
    individual serial driver updates and fixes.

    All of these have been in the linux-next tree for a while."

    * tag 'tty-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (140 commits)
    tty: mxser: improve error handling in mxser_probe() and mxser_module_init()
    serial: imx: fix uninitialized variable warning
    serial: tegra: assume CONFIG_OF
    TTY: do not update atime/mtime on read/write
    lguest: select CONFIG_TTY to build properly.
    ARM defconfigs: add missing inclusions of linux/platform_device.h
    fb/exynos: include platform_device.h
    ARM: sa1100/assabet: include platform_device.h directly
    serial: imx: Fix recursive locking bug
    pps: Fix build breakage from decoupling pps from tty
    tty: Remove ancient hardpps()
    pps: Additional cleanups in uart_handle_dcd_change
    pps: Move timestamp read into PPS code proper
    pps: Don't crash the machine when exiting will do
    pps: Fix a use-after free bug when unregistering a source.
    pps: Use pps_lookup_dev to reduce ldisc coupling
    pps: Add pps_lookup_dev() function
    tty: serial: uartlite: Support uartlite on big and little endian systems
    tty: serial: uartlite: Fix sparse and checkpatch warnings
    serial/arc-uart: Miscll DT related updates (Grant's review comments)
    ...

    Fix up trivial conflicts, mostly just due to the TTY config option
    clashing with the EXPERIMENTAL removal.

    Linus Torvalds
     
  • Pull USB patches from Greg Kroah-Hartman:
    "Here's the big USB merge for 3.9-rc1

    Nothing major, lots of gadget fixes, and of course, xhci stuff.

    All of this has been in linux-next for a while, with the exception of
    the last 3 patches, which were reverts of patches in the tree that
    caused problems, they went in yesterday."

    * tag 'usb-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (190 commits)
    Revert "USB: EHCI: make ehci-vt8500 a separate driver"
    Revert "USB: EHCI: make ehci-orion a separate driver"
    Revert "USB: update host controller Kconfig entries"
    USB: update host controller Kconfig entries
    USB: EHCI: make ehci-orion a separate driver
    USB: EHCI: make ehci-vt8500 a separate driver
    USB: usb-storage: unusual_devs update for Super TOP SATA bridge
    USB: ehci-omap: Fix autoloading of module
    USB: ehci-omap: Don't free gpios that we didn't request
    USB: option: add Huawei "ACM" devices using protocol = vendor
    USB: serial: fix null-pointer dereferences on disconnect
    USB: option: add Yota / Megafon M100-1 4g modem
    drivers/usb: add missing GENERIC_HARDIRQS dependencies
    USB: storage: properly handle the endian issues of idProduct
    testusb: remove all mentions of 'usbfs'
    usb: gadget: imx_udc: make it depend on BROKEN
    usb: omap_control_usb: fix compile warning
    ARM: OMAP: USB: Add phy binding information
    ARM: OMAP2: MUSB: Specify omap4 has mailbox
    ARM: OMAP: devices: create device for usb part of control module
    ...

    Linus Torvalds
     
  • Pull staging tree update from Greg Kroah-Hartman:
    "Here's the big staging tree merge for 3.9-rc1

    Lots of cleanups and updates for drivers all through the staging tree.
    We are pretty much "code neutral" here, adding just about as many
    lines as we removed.

    All of these have been in linux-next for a while."

    * tag 'staging-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (804 commits)
    staging: comedi: vmk80xx: wait for URBs to complete
    staging: comedi: drivers: addi-data: hwdrv_apci3200.c: Add a missing semicolon
    staging: et131x: Update TODO list
    staging: et131x: Remove assignment of skb->dev
    staging: wlan-ng: hfa384x.h: fix for error reported by smatch
    staging/zache checkpatch ERROR: spaces prohibited around that
    staging/ozwpan: Mark read only parameters and structs as const
    staging/ozwpan: Remove empty and unused function oz_cdev_heartbeat
    staging/ozwpan: Mark local functions as static (fix sparse warnings)
    staging/ozwpan: Add missing header includes
    staging/usbip: Mark local functions as static (fix sparse warnings)
    staging/xgifb: Remove duplicated code in loops.
    staging/xgifb: Consolidate return paths
    staging/xgifb: Remove code without effect
    staging/xgifb: Remove unnecessary casts
    staging/xgifb: Consolidate if/else if with identical code branches
    staging: vt6656: replaced custom TRUE definition with true
    staging: vt6656: replaced custom FALSE definition with false
    staging: vt6656: replace custom BOOL definition with bool
    staging/rtl8187se: Mark functions as static to silence sparse
    ...

    Linus Torvalds
     
  • Pull driver core patches from Greg Kroah-Hartman:
    "Here is the big driver core merge for 3.9-rc1

    There are two major series here, both of which touch lots of drivers
    all over the kernel, and will cause you some merge conflicts:

    - add a new function called devm_ioremap_resource() to properly be
    able to check return values.

    - remove CONFIG_EXPERIMENTAL

    Other than those patches, there's not much here, some minor fixes and
    updates"

    Fix up trivial conflicts

    * tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)
    base: memory: fix soft/hard_offline_page permissions
    drivercore: Fix ordering between deferred_probe and exiting initcalls
    backlight: fix class_find_device() arguments
    TTY: mark tty_get_device call with the proper const values
    driver-core: constify data for class_find_device()
    firmware: Ignore abort check when no user-helper is used
    firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER
    firmware: Make user-mode helper optional
    firmware: Refactoring for splitting user-mode helper code
    Driver core: treat unregistered bus_types as having no devices
    watchdog: Convert to devm_ioremap_resource()
    thermal: Convert to devm_ioremap_resource()
    spi: Convert to devm_ioremap_resource()
    power: Convert to devm_ioremap_resource()
    mtd: Convert to devm_ioremap_resource()
    mmc: Convert to devm_ioremap_resource()
    mfd: Convert to devm_ioremap_resource()
    media: Convert to devm_ioremap_resource()
    iommu: Convert to devm_ioremap_resource()
    drm: Convert to devm_ioremap_resource()
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "The biggest change in this update is the unification of HD-audio codec
    parsers. Now the HD-audio codec is parsed in a generic parser code
    which is invoked by each HD-audio codec driver.

    Some background information is found in David Henningsson's blog
    entry:

    http://voices.canonical.com/david.henningsson/2013/01/18/upcoming-changes-to-the-intel-hda-drivers/

    Other than that, some random updates/fixes like USB-audio and a bunch
    of small AoC updates as usual.

    Highlights:

    - Unification of HD-audio parser code (aka generic parser)

    - Support of new Intel HD-audio controller, new IDT codecs

    - Fixes for HD-audio HDMI audio hotplug

    - Haswell HDMI audio fixup

    - Support of Creative CA0132 DSP code

    - A few fixes of HDSP driver

    - USB-audio fix for Roland A-PRO, M-Audio FT C600

    - Support PM for aloop driver (and fixes Oops)

    - Compress API updates for gapless playback support

    For ASoC part:

    - Support for a wider range of hardware in the compressed stream code

    - The ability to mute capture streams as well as playback streams
    while inactive

    - DT support for AK4642, FSI, Samsung I2S and WM8962

    - AC'97 support for Tegra

    - New driver for max98090, replacing the stub which was there

    - A new driver from Dialog

    Note that due to dependencies, DTification of DMA support for Samsung
    platforms (used only by the and I2S driver and SPI) is merged here as
    well."

    Fix up trivial conflict in drivers/spi/spi-s3c64xx.c due to removed code
    being changed.

    * tag 'sound-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (453 commits)
    ALSA: usb: Fix Processing Unit Descriptor parsers
    ALSA: hda - hdmi: Notify userspace when ELD control changes
    ALSA: hda - hdmi: Protect ELD buffer
    ALSA: hda - hdmi: Refactor hdmi_eld into parsed_hdmi_eld
    ALSA: hda - hdmi: Do not expose eld data when eld is invalid
    ALSA: hda - hdmi: ELD shouldn't be valid after unplug
    ALSA: hda - Fix the silent speaker output on Fujitsu S7020 laptop
    ALSA: hda - add quirks for mute LED on two HP machines
    ALSA: usb/quirks, fix out-of-bounds access
    ASoC: codecs: Add da7213 codec
    ALSA: au88x0 - Define channel map for au88x0
    ALSA: compress: add support for gapless playback
    ALSA: hda - Remove speaker clicks on CX20549
    ALSA: hda - Disable runtime PM for Intel 5 Series/3400
    ALSA: hda - Increase badness for missing multi-io
    ASoC: arizona: Automatically manage input mutes
    ALSA: hda - Fix broken workaround for HDMI/SPDIF conflicts
    ALSA: hda/ca0132 - Add missing \n to debug prints
    ALSA: hda/ca0132 - Fix type of INVALID_CHIP_ADDRESS
    ALSA: hda - update documentation for no-primary-hp fixup
    ...

    Linus Torvalds
     
  • Pull pstore patches from Tony Luck:
    "A few fixes to reduce places where pstore might hang a system in the
    crash path. Plus a new mountpoint (/sys/fs/pstore ... makes more
    sense then /dev/pstore)."

    Fix up trivial conflict in drivers/firmware/efivars.c

    * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    pstore: Create a convenient mount point for pstore
    efi_pstore: Introducing workqueue updating sysfs
    efivars: Disable external interrupt while holding efivars->lock
    efi_pstore: Avoid deadlock in non-blocking paths
    pstore: Avoid deadlock in panic and emergency-restart path

    Linus Torvalds
     
  • Pull dlm update from David Teigland:
    "This includes a single patch to avoid excessive and unnecessary
    scanning of rsbs to free."

    * tag 'dlm-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
    dlm: avoid scanning unchanged toss lists

    Linus Torvalds
     
  • Pull NFS client bugfixes from Trond Myklebust:

    - Fix an Oops in the pNFS layoutget code

    - Fix a number of NFSv4 and v4.1 state recovery deadlocks and hangs due
    to the interaction of the session drain lock and state management
    locks.

    - Remove task->tk_xprt, which was hiding a lot of RCU dereferencing
    bugs

    - Fix a long standing NFSv3 posix lock recovery bug.

    - Revert commit 324d003b0cd8 ("NFS: add nfs_sb_deactive_async to avoid
    deadlock"). It turned out that the root cause of the deadlock was
    due to interactions with the workqueues that have now been resolved.

    * tag 'nfs-for-3.9-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (22 commits)
    NLM: Ensure that we resend all pending blocking locks after a reclaim
    umount oops when remove blocklayoutdriver first
    sunrpc: silence build warning in gss_fill_context
    nfs: remove kfree() redundant null checks
    NFSv4.1: Don't decode skipped layoutgets
    NFSv4.1: Fix bulk recall and destroy of layouts
    NFSv4.1: Fix an ABBA locking issue with session and state serialisation
    NFSv4: Fix a reboot recovery race when opening a file
    NFSv4: Ensure delegation recall and byte range lock removal don't conflict
    NFSv4: Fix up the return values of nfs4_open_delegation_recall
    NFSv4.1: Don't lose locks when a server reboots during delegation return
    NFSv4.1: Prevent deadlocks between state recovery and file locking
    NFSv4: Allow the state manager to mark an open_owner as being recovered
    SUNRPC: Add missing static declaration to _gss_mech_get_by_name
    Revert "NFS: add nfs_sb_deactive_async to avoid deadlock"
    SUNRPC: Nuke the tk_xprt macro
    SUNRPC: Avoid RCU dereferences in the transport bind and connect code
    SUNRPC: Fix an RCU dereference in xprt_reserve
    SUNRPC: Pass pointers to struct rpc_xprt to the congestion window
    SUNRPC: Fix an RCU dereference in xs_local_rpcbind
    ...

    Linus Torvalds
     
  • Pull GFS2 updates from Steven Whitehouse:
    "This is one of the smallest collections of patches for the merge
    window for some time. There are some clean ups relating to the
    transaction code and the shrinker, which are mostly in preparation for
    further development, but also make the code much easier to follow in
    these areas.

    There is a patch which allows the use of ->writepages even in the
    default ordered write mode for all writebacks. This results in
    sending larger i/os to the block layer, and a subsequent increase in
    performance. It also reduces the number of different i/o paths by
    one.

    There is also a bug fix reinstating the withdraw ack system which
    somehow got lost when the lock modules were merged into GFS2."

    * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
    GFS2: Reinstate withdraw ack system
    GFS2: Get a block reservation before resizing a file
    GFS2: Split glock lru processing into two parts
    GFS2: Use ->writepages for ordered writes
    GFS2: Clean up freeze code
    GFS2: Merge gfs2_attach_bufdata() into trans.c
    GFS2: Copy gfs2_trans_add_bh into new data/meta functions
    GFS2: Split gfs2_trans_add_bh() into two
    GFS2: Merge revoke adding functions
    GFS2: Separate LRU scanning from shrinker

    Linus Torvalds
     
  • Pull xfs update from Ben Myers:
    "Primarily bugfixes and a few cleanups:

    - fix(es) for compound buffers

    - remove unused XFS_TRANS_DEBUG routines

    - fix for dquot soft timer asserts due to overflow of d_blk_softlimit

    - don't zero allocation args structure members after they are memset(0)

    - fix for regression in dir v2 code introduced in commit 20f7e9f3

    - remove obsolete simple_strto

    - fix return value when filesystem probe finds no XFS magic, a
    regression introduced in 9802182.

    - remove boolean_t typedef completely

    - fix stack switch in __xfs_bmapi_allocate by moving the check for
    stack switch up into xfs_bmapi_write.

    - fix build error due to incomplete boolean_t removal

    - fix oops in _xfs_buf_find by validating that the requested block is
    within the filesystem bounds.

    - limit speculative preallocation near ENOSPC.

    - fix an unmount hang in xfs_wait_buftarg by freeing the
    xfs_buf_log_item in xfs_buf_item_unlock.

    - fix a possible use after free with AIO.

    - fix xfs_swap_extents after removal of xfs_flushinval_pages, a
    regression introduced in fb59581404a.

    - replace hardcoded 128 with log header size

    - add memory barrier before wake_up_bit in xfs_ifunlock

    - limit speculative preallocation on sparse files

    - fix xa_lock recursion bug introduced in 90810b9e82a3

    - fix write verifier for symlinks"

    Fixed up conflicts in fs/xfs/xfs_buf_item.c (due to bli_format rename in
    commit 0f22f9d0cd8a affecting the removed XFS_TRANS_DEBUG routines in
    commit ec47eb6b0b45).

    * tag 'for-linus-v3.9-rc1' of git://oss.sgi.com/xfs/xfs: (36 commits)
    xfs: xfs_bmap_add_attrfork_local is too generic
    xfs: remove log force from xfs_buf_trylock()
    xfs: recheck buffer pinned status after push trylock failure
    xfs: limit speculative prealloc size on sparse files
    xfs: memory barrier before wake_up_bit()
    xfs: refactor space log reservation for XFS_TRANS_ATTR_SET
    xfs: make use of XFS_SB_LOG_RES() at xfs_fs_log_dummy()
    xfs: make use of XFS_SB_LOG_RES() at xfs_mount_log_sb()
    xfs: make use of XFS_SB_LOG_RES() at xfs_log_sbcount()
    xfs: introduce XFS_SB_LOG_RES() for transactions that modify sb on disk
    xfs: calculate XFS_TRANS_QM_QUOTAOFF_END space log reservation at mount time
    xfs: calculate XFS_TRANS_QM_QUOTAOFF space log reservation at mount time
    xfs: calculate XFS_TRANS_QM_DQALLOC space log reservation at mount time
    xfs: calcuate XFS_TRANS_QM_SETQLIM space log reservation at mount time
    xfs: calculate xfs_qm_write_sb_changes() space log reservation at mount time
    xfs: calculate XFS_TRANS_QM_SBCHANGE space log reservation at mount time
    xfs: make use of xfs_calc_buf_res() in xfs_trans.c
    xfs: add a helper to figure out the space log reservation per item
    xfs: Fix xfs_swap_extents() after removal of xfs_flushinval_pages()
    xfs: Fix possible use-after-free with AIO
    ...

    Linus Torvalds
     
  • Pull fuse updates from Miklos Szeredi:
    "The biggest part of this pull request is a patch series from Maxim
    Patlasov to optimize scatter-gather direct IO. There's also the
    addition of a "readdirplus" API, poll events and various fixes and
    cleanups.

    There's a one line change outside of fuse to mm/filemap.c which makes
    the argument of iov_iter_single_seg_count() const, required by Maxim's
    patches."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (22 commits)
    fuse: allow control of adaptive readdirplus use
    Synchronize fuse header with one used in library
    fuse: send poll events
    fuse: don't WARN when nlink is zero
    fuse: avoid out-of-scope stack access
    fuse: bump version for READDIRPLUS
    FUSE: Adapt readdirplus to application usage patterns
    Do not use RCU for current process credentials
    fuse: cleanup fuse_direct_io()
    fuse: optimize __fuse_direct_io()
    fuse: optimize fuse_get_user_pages()
    fuse: pass iov[] to fuse_get_user_pages()
    mm: minor cleanup of iov_iter_single_seg_count()
    fuse: use req->page_descs[] for argpages cases
    fuse: add per-page descriptor to fuse_req
    fuse: rework fuse_do_ioctl()
    fuse: rework fuse_perform_write()
    fuse: rework fuse_readpages()
    fuse: rework fuse_retrieve()
    fuse: categorize fuse_get_req()
    ...

    Linus Torvalds
     
  • Pull v9fs updates from Eric Van Hensbergen:
    "Just fixes and simplifications"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
    fs/9p: Fix atomic_open
    fs/9p: Don't use O_TRUNC flag in TOPEN and TLOPEN request
    locking in fs/9p ->readdir()

    Linus Torvalds
     
  • Pull security subsystem updates from James Morris:
    "This is basically a maintenance update for the TPM driver and EVM/IMA"

    Fix up conflicts in lib/digsig.c and security/integrity/ima/ima_main.c

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (45 commits)
    tpm/ibmvtpm: build only when IBM pseries is configured
    ima: digital signature verification using asymmetric keys
    ima: rename hash calculation functions
    ima: use new crypto_shash API instead of old crypto_hash
    ima: add policy support for file system uuid
    evm: add file system uuid to EVM hmac
    tpm_tis: check pnp_acpi_device return code
    char/tpm/tpm_i2c_stm_st33: drop temporary variable for return value
    char/tpm/tpm_i2c_stm_st33: remove dead assignment in tpm_st33_i2c_probe
    char/tpm/tpm_i2c_stm_st33: Remove __devexit attribute
    char/tpm/tpm_i2c_stm_st33: Don't use memcpy for one byte assignment
    tpm_i2c_stm_st33: removed unused variables/code
    TPM: Wait for TPM_ACCESS tpmRegValidSts to go high at startup
    tpm: Fix cancellation of TPM commands (interrupt mode)
    tpm: Fix cancellation of TPM commands (polling mode)
    tpm: Store TPM vendor ID
    TPM: Work around buggy TPMs that block during continue self test
    tpm_i2c_stm_st33: fix oops when i2c client is unavailable
    char/tpm: Use struct dev_pm_ops for power management
    TPM: STMicroelectronics ST33 I2C BUILD STUFF
    ...

    Linus Torvalds
     

21 Feb, 2013

25 commits

  • A patch to fix some unreachable code in search_my_process_keyrings() got
    applied twice by two different routes upstream as commits e67eab39bee2
    and b010520ab3d2 (both "fix unreachable code").

    Unfortunately, the second application removed something it shouldn't
    have and this wasn't detected by GIT. This is due to the patch not
    having sufficient lines of context to distinguish the two places of
    application.

    The effect of this is relatively minor: inside the kernel, the keyring
    search routines may search multiple keyrings and then prioritise the
    errors if no keys or negative keys are found in any of them. With the
    extra deletion, the presence of a negative key in the thread keyring
    (causing ENOKEY) is incorrectly overridden by an error searching the
    process keyring.

    So revert the second application of the patch.

    Signed-off-by: David Howells
    Cc: Jiri Kosina
    Cc: Andrew Morton
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Commit 99fc86450c439039d2ef88d06b222fd51a779176 "ALSA: usb-mixer:
    parse descriptors with structs" introduced a set of useful parsers
    for descriptors. Unfortunately the parses for the Processing Unit
    Descriptor came with a very subtle bug...

    Functions uac_processing_unit_iProcessing() and
    uac_processing_unit_specific() were indexing the baSourceID array
    forgetting the fields before the iProcessing and process-specific
    descriptors.

    The problem was observed with Sound Blaster Extigy mixer,
    where nNrModes in Up/Down-mix Processing Unit Descriptor
    was accessed at offset 10 of the descriptor (value 0)
    instead of offset 15 (value 7). In result the resulting
    control had interesting limit values:

    Simple mixer control 'Channel Routing Mode Select',0
    Capabilities: volume volume-joined penum
    Playback channels: Mono
    Capture channels: Mono
    Limits: 0 - -1
    Mono: -1 [100%]

    Fixed by starting from the bmControls, which was calculated
    correctly, instead of baSourceID.

    Now the mentioned control is fine:

    Simple mixer control 'Channel Routing Mode Select',0
    Capabilities: volume volume-joined penum
    Playback channels: Mono
    Capture channels: Mono
    Limits: 0 - 6
    Mono: 0 [0%]

    Signed-off-by: Pawel Moll
    Cc:
    Signed-off-by: Takashi Iwai

    Pawel Moll
     
  • Pull networking update from David Miller:

    1) Checkpoint/restarted TCP sockets now can properly propagate the TCP
    timestamp offset. From Andrey Vagin.

    2) VMWARE VM VSOCK layer, from Andy King.

    3) Much improved support for virtual functions and SR-IOV in bnx2x,
    from Ariel ELior.

    4) All protocols on ipv4 and ipv6 are now network namespace aware, and
    all the compatability checks for initial-namespace-only protocols is
    removed. Thanks to Tom Parkin for helping deal with the last major
    holdout, L2TP.

    5) IPV6 support in netpoll and network namespace support in pktgen,
    from Cong Wang.

    6) Multiple Registration Protocol (MRP) and Multiple VLAN Registration
    Protocol (MVRP) support, from David Ward.

    7) Compute packet lengths more accurately in the packet scheduler, from
    Eric Dumazet.

    8) Use per-task page fragment allocator in skb_append_datato_frags(),
    also from Eric Dumazet.

    9) Add support for connection tracking labels in netfilter, from
    Florian Westphal.

    10) Fix default multicast group joining on ipv6, and add anti-spoofing
    checks to 6to4 and 6rd. From Hannes Frederic Sowa.

    11) Make ipv4/ipv6 fragmentation memory limits more reasonable in modern
    times, rearrange inet frag datastructures for better cacheline
    locality, and move more operations outside of locking. From Jesper
    Dangaard Brouer.

    12) Instead of strict master slave relationships, allow arbitrary
    scenerios with "upper device lists". From Jiri Pirko.

    13) Improve rate limiting accuracy in TBF and act_police, also from Jiri
    Pirko.

    14) Add a BPF filter netfilter match target, from Willem de Bruijn.

    15) Orphan and delete a bunch of pre-historic networking drivers from
    Paul Gortmaker.

    16) Add TSO support for GRE tunnels, from Pravin B SHelar. Although
    this still needs some minor bug fixing before it's %100 correct in
    all cases.

    17) Handle unresolved IPSEC states like ARP, with a resolution packet
    queue. From Steffen Klassert.

    18) Remove TCP Appropriate Byte Count support (ABC), from Stephen
    Hemminger. This was long overdue.

    19) Support SO_REUSEPORT, from Tom Herbert.

    20) Allow locking a socket BPF filter, so that it cannot change after a
    process drops capabilities.

    21) Add VLAN filtering to bridge, from Vlad Yasevich.

    22) Bring ipv6 on-par with ipv4 and do not cache neighbour entries in
    the ipv6 routes, from YOSHIFUJI Hideaki.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1538 commits)
    ipv6: fix race condition regarding dst->expires and dst->from.
    net: fix a wrong assignment in skb_split()
    ip_gre: remove an extra dst_release()
    ppp: set qdisc_tx_busylock to avoid LOCKDEP splat
    atl1c: restore buffer state
    net: fix a build failure when !CONFIG_PROC_FS
    net: ipv4: fix waring -Wunused-variable
    net: proc: fix build failed when procfs is not configured
    Revert "xen: netback: remove redundant xenvif_put"
    net: move procfs code to net/core/net-procfs.c
    qmi_wwan, cdc-ether: add ADU960S
    bonding: set sysfs device_type to 'bond'
    bonding: fix bond_release_all inconsistencies
    b44: use netdev_alloc_skb_ip_align()
    xen: netback: remove redundant xenvif_put
    net: fec: Do a sanity check on the gpio number
    ip_gre: propogate target device GSO capability to the tunnel device
    ip_gre: allow CSUM capable devices to handle packets
    bonding: Fix initialize after use for 3ad machine state spinlock
    bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate()
    ...

    Linus Torvalds
     
  • Pull sparc updates from David Miller:
    "Mostly more sparc64 THP bug fixes, and a refactoring of SMP bootup on
    sparc32 from Sam Ravnborg."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc32: refactor smp boot
    sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler.
    sparc64: Fix tsb_grow() in atomic context.
    sparc64: Handle hugepage TSB being NULL.
    sparc64: Fix gfp_flags setting in tsb_grow().

    Linus Torvalds
     
  • Pull arm64 patches from Catalin Marinas:

    - SMP support for the PSCI booting protocol (power state coordination
    interface).

    - Simple earlyprintk support.

    - Platform devices populated by default from the DT (SoC-agnostic).

    - CONTEXTIDR support (used by external trace tools).

    * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
    arm64: mm: update CONTEXTIDR register to contain PID of current process
    arm64: atomics: fix grossly inconsistent asm constraints for exclusives
    arm64: compat: use compat_uptr_t type for compat_ucontext.uc_link
    arm64: Select ARCH_WANT_FRAME_POINTERS
    arm64: Add kvm_para.h and xor.h generic headers
    arm64: SMP: enable PSCI boot method
    arm64: psci: add support for PSCI invocations from the kernel
    arm64: SMP: rework the SMP code to be enabling method agnostic
    arm64: perf: add guest vs host discrimination
    arm64: add COMPAT_PSR_*_BIT flags
    arm64: Add simple earlyprintk support
    arm64: Populate the platform devices

    Linus Torvalds
     
  • Pull ARM updates (part two) from Russell King:

    - breakpoint and perf updates from Will Deacon.

    - hypervisor boot mode updates from Will.

    - support for Power State Coordination Interface via the Hypervisor

    - core ARM support for KVM

    * 'for-linus-2' of git://git.linaro.org/people/rmk/linux-arm: (32 commits)
    KVM: ARM: Add maintainer entry for KVM/ARM
    KVM: ARM: Power State Coordination Interface implementation
    KVM: ARM: Handle I/O aborts
    KVM: ARM: Handle guest faults in KVM
    KVM: ARM: VFP userspace interface
    KVM: ARM: Demux CCSIDR in the userspace API
    KVM: ARM: User space API for getting/setting co-proc registers
    KVM: ARM: Emulation framework and CP15 emulation
    KVM: ARM: World-switch implementation
    KVM: ARM: Inject IRQs and FIQs from userspace
    KVM: ARM: Memory virtualization setup
    KVM: ARM: Hypervisor initialization
    KVM: ARM: Initial skeleton to compile KVM support
    ARM: Section based HYP idmap
    ARM: Add page table and page defines needed by KVM
    ARM: perf: simplify __hw_perf_event_init err handling
    ARM: perf: remove unnecessary checks for idx < 0
    ARM: perf: handle armpmu_register failing
    ARM: perf: don't pretend to support counting of L1I writes
    ARM: perf: remove redundant NULL check on cpu_pmu
    ...

    Linus Torvalds
     
  • Pull ARM updates (part one) from Russell King:

    - MMC patches from Ulf Hansson and Pawel Moll. These add support for
    DDR mode and the latest variant found on ARM Versatile Express, as
    well as a number of cleanups.

    - A fix for to improve the behaviour of ARMs sched_clock()

    - Changes to the ARM ioremap() code. I'm not convinced with the
    primary arguments for this, but it's been around for a while, and
    people seem happy with it - and the "other" justification for this is
    at

    http://lkml.org/lkml/2012/12/6/184

    - Add SCHED_HRTICK to ARMs Kconfig

    - Making the ARM SHA/AES code Thumb-2 compatible

    - A collection of other small updates.

    * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (26 commits)
    ARM: add SCHED_HRTICK config option
    ARM: 7650/1: mm: replace direct access to mm->context.id with new macro
    ARM: 7649/1: mm: mm->context.id fix for big-endian
    ARM: 7648/1: pci: Allow passing per-controller private data
    ARM: 7647/1: pci: Keep pci_common_init() around after init
    ARM: fix warnings introduced by previous patch
    ARM: 7646/1: mm: use static_vm for managing static mapped areas
    ARM: 7645/1: ioremap: introduce an infrastructure for static mapped area
    ARM: 7644/1: vmregion: remove vmregion code entirely
    MAINTAINERS: Re-assert MMCI driver maintainer status
    MAINTAINERS: add additional file for MMCI driver
    MAINTAINERS: add maintainer entry for AMBA serial drivers
    ARM: 7637/1: memory: use SZ_ constants for defining the virtual memory layout
    ARM: 7643/1: sched: correct update_sched_clock()
    ARM: 7635/1: versatile: fix the PCI IRQ regression
    ARM: 7639/1: cache-l2x0: add missed dummy outer_resume entry
    ARM: 7630/1: mmc: mmci: Fixup and cleanup code for DMA handling
    ARM: 7632/1: spinlock: avoid exclusive accesses on unlock() path
    ARM: 7631/1: mmc: mmci: Add new VE MMCI variant
    ARM: 7623/1: mmc: mmci: Fixup clock gating when freq is 0 for ST-variants
    ...

    Linus Torvalds
     
  • Pull m68k update from Geert Uytterhoeven.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Sort out !CONFIG_MMU_SUN3 vs. CONFIG_HAS_DMA
    swim: Add missing spinlock init

    Linus Torvalds
     
  • Introduce a common smp_callin() function to call
    from trampoline_32.S.
    Add platform specific functions to handle the
    platform details.

    This is in preparation for a patch that will
    unify the smp boot stuff for all architectures.
    sparc32 was significantly different to warrant
    this patch in preparation.

    Signed-off-by: Sam Ravnborg
    Acked-by: David S. Miller
    Cc: "Srivatsa S. Bhat"
    Acked-by: Srivatsa S. Bhat
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • When we set the sun4u version of the PTE execute bit, it's:

    or REG, _PAGE_EXEC_4U, REG

    _PAGE_EXEC_4U is 0x1000, unfortunately the immedate field of the
    'or' instruction is a signed 13-bit value. So the above actually
    assembles into:

    or REG, -4096, REG

    completely corrupting the final PTE value.

    Set it with a:

    sethi %hi(_PAGE_EXEC_4U), TMP
    or REG, TMP, REG

    sequence instead.

    This fixes "git gc" crashes on sun4u machines.

    Reported-by: Meelis Roos
    Signed-off-by: David S. Miller

    David S. Miller
     
  • Eric Dumazet wrote:
    | Some strange crashes happen in rt6_check_expired(), with access
    | to random addresses.
    |
    | At first glance, it looks like the RTF_EXPIRES and
    | stuff added in commit 1716a96101c49186b
    | (ipv6: fix problem with expired dst cache)
    | are racy : same dst could be manipulated at the same time
    | on different cpus.
    |
    | At some point, our stack believes rt->dst.from contains a dst pointer,
    | while its really a jiffie value (as rt->dst.expires shares the same area
    | of memory)
    |
    | rt6_update_expires() should be fixed, or am I missing something ?
    |
    | CC Neil because of https://bugzilla.redhat.com/show_bug.cgi?id=892060

    Because we do not have any locks for dst_entry, we cannot change
    essential structure in the entry; e.g., we cannot change reference
    to other entity.

    To fix this issue, split 'from' and 'expires' field in dst_entry
    out of union. Once it is 'from' is assigned in the constructor,
    keep the reference until the very last stage of the life time of
    the object.

    Of course, it is unsafe to change 'from', so make rt6_set_from simple
    just for fresh entries.

    Reported-by: Eric Dumazet
    Reported-by: Neil Horman
    CC: Gao Feng
    Signed-off-by: YOSHIFUJI Hideaki
    Reviewed-by: Eric Dumazet
    Reported-by: Steinar H. Gunderson
    Reviewed-by: Neil Horman
    Signed-off-by: David S. Miller

    YOSHIFUJI Hideaki / 吉藤英明
     
  • commit c9af6db4c11ccc6c3e7f1 (net: Fix possible wrong checksum generation)
    has a suspicous piece:

    - skb_shinfo(skb1)->gso_type = skb_shinfo(skb)->gso_type;
    -
    + skb_shinfo(skb)->tx_flags = skb_shinfo(skb1)->tx_flags & SKBTX_SHARED_FRAG;

    skb1 is the new skb, therefore should be on the left side of the assignment.
    This patch fixes it.

    Cc: Pravin B Shelar
    Cc: David S. Miller
    Signed-off-by: Cong Wang
    Acked-by: Pravin B Shelar
    Signed-off-by: David S. Miller

    Amerigo Wang
     
  • Pull EDAC updates from Borislav Petkov:
    "Mostly AMD's side of EDAC. It is basically a new family enablement
    stuff: AMD F16h MCE decoding enablement from Jacob Shin. The rest is
    trivial cleanups."

    * tag 'edac_3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    mpc85xx_edac: Fix typo
    EDAC, MCE, AMD: Remove unneeded exports
    EDAC, MCE, AMD: Add MCE decoding support for Family 16h
    EDAC, MCE, AMD: Make MC2 decoding per-family
    amd64_edac: Remove dead code

    Linus Torvalds
     
  • Pull ACPI and power management updates from Rafael Wysocki:

    - Rework of the ACPI namespace scanning code from Rafael J. Wysocki
    with contributions from Bjorn Helgaas, Jiang Liu, Mika Westerberg,
    Toshi Kani, and Yinghai Lu.

    - ACPI power resources handling and ACPI device PM update from Rafael
    J Wysocki.

    - ACPICA update to version 20130117 from Bob Moore and Lv Zheng with
    contributions from Aaron Lu, Chao Guan, Jesper Juhl, and Tim Gardner.

    - Support for Intel Lynxpoint LPSS from Mika Westerberg.

    - cpuidle update from Len Brown including Intel Haswell support, C1
    state for intel_idle, removal of global pm_idle.

    - cpuidle fixes and cleanups from Daniel Lezcano.

    - cpufreq fixes and cleanups from Viresh Kumar and Fabio Baltieri with
    contributions from Stratos Karafotis and Rickard Andersson.

    - Intel P-states driver for Sandy Bridge processors from Dirk
    Brandewie.

    - cpufreq driver for Marvell Kirkwood SoCs from Andrew Lunn.

    - cpufreq fixes related to ordering issues between acpi-cpufreq and
    powernow-k8 from Borislav Petkov and Matthew Garrett.

    - cpufreq support for Calxeda Highbank processors from Mark Langsdorf
    and Rob Herring.

    - cpufreq driver for the Freescale i.MX6Q SoC and cpufreq-cpu0 update
    from Shawn Guo.

    - cpufreq Exynos fixes and cleanups from Jonghwan Choi, Sachin Kamat,
    and Inderpal Singh.

    - Support for "lightweight suspend" from Zhang Rui.

    - Removal of the deprecated power trace API from Paul Gortmaker.

    - Assorted updates from Andreas Fleig, Colin Ian King, Davidlohr Bueso,
    Joseph Salisbury, Kees Cook, Li Fei, Nishanth Menon, ShuoX Liu,
    Srinivas Pandruvada, Tejun Heo, Thomas Renninger, and Yasuaki
    Ishimatsu.

    * tag 'pm+acpi-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (267 commits)
    PM idle: remove global declaration of pm_idle
    unicore32 idle: delete stray pm_idle comment
    openrisc idle: delete pm_idle
    mn10300 idle: delete pm_idle
    microblaze idle: delete pm_idle
    m32r idle: delete pm_idle, and other dead idle code
    ia64 idle: delete pm_idle
    cris idle: delete idle and pm_idle
    ARM64 idle: delete pm_idle
    ARM idle: delete pm_idle
    blackfin idle: delete pm_idle
    sparc idle: rename pm_idle to sparc_idle
    sh idle: rename global pm_idle to static sh_idle
    x86 idle: rename global pm_idle to static x86_idle
    APM idle: register apm_cpu_idle via cpuidle
    cpufreq / intel_pstate: Add kernel command line option disable intel_pstate.
    cpufreq / intel_pstate: Change to disallow module build
    tools/power turbostat: display SMI count by default
    intel_idle: export both C1 and C1E
    ACPI / hotplug: Fix concurrency issues and memory leaks
    ...

    Linus Torvalds
     
  • Pull device tree changes from Grant Likely:
    "All around device tree changes destined for v3.8. Aside from the
    documentation updates the highlights in this branch include:

    - Kbuild changes for using CPP with .dts files
    - locking fix from preempt_rt patchset
    - include DT alias names in device uevent
    - Selftest bugfixes and improvements
    - New function for counting phandles stanzas in a property
    - constify argument to of_node_full_name()
    - Various bug fixes

    This tree did also contain a commit to use platform_device_add instead
    of open-coding the device add code, but it caused problems with amba
    devices and needed to be reverted."

    * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux: (23 commits)
    Revert "of: use platform_device_add"
    kbuild: limit dtc+cpp include path
    gpio: Make of_count_named_gpios() use new of_count_phandle_with_args()
    of: Create function for counting number of phandles in a property
    of/base: Clean up exit paths for of_parse_phandle_with_args()
    of/selftest: Use selftest() macro throughout
    of/selftest: Fix GPIOs selftest to cover the 7th case
    of: fix recursive locking in of_get_next_available_child()
    documentation/devicetree: Fix a typo in exynos-dw-mshc.txt
    OF: convert devtree lock from rw_lock to raw spinlock
    of/exynos_g2d: Add Bindings for exynos G2D driver
    kbuild: create a rule to run the pre-processor on *.dts files
    input: Extend matrix-keypad device tree binding
    devicetree: Move NS2 LEDs binding into LEDs directory
    of: use platform_device_add
    powerpc/5200: Fix size to request_mem_region() call
    documentation/devicetree: Fix typos
    of: add 'const' to of_node_full_name parameter
    of: Output devicetree alias names in uevent
    DT: add vendor prefixes for Renesas and Toshiba
    ...

    Linus Torvalds
     
  • Pull SPI changes from Grant Likely:
    "Changes to both core spi code and spi device drivers. The driver
    changes are the usual set of bug fixes and platform enablement.

    Core code changes include:

    - More intelligent assignment of SPI bus numbers when using DT

    - Common mechanism for using gpios as CS lines

    - Pull checks for bits_per_word and transfer speed out of drivers and
    into core code

    - Ensure temporary DMA buffers are DMA safe"

    * tag 'spi-for-linus' of git://git.secretlab.ca/git/linux: (50 commits)
    spi: Document cs_gpios and cs_gpio in kernel-doc
    spi/of: Fix initialization of cs_gpios array
    spi/pxa2xx: add support for Lynxpoint SPI controllers
    spi/pxa2xx: add support for Intel Low Power Subsystem SPI
    spi/pxa2xx: add support for SPI_LOOP
    spi/pxa2xx: add support for runtime PM
    spi/pxa2xx: add support for DMA engine
    spi/pxa2xx: break out the private DMA API usage into a separate file
    spi/ath79: add shutdown handler
    spi/mips-lantiq: set SPI_MASTER_HALF_DUPLEX flag
    spi/mips-lantiq: make use of spi_finalize_current_message
    spi/bcm63xx: work around inability to keep CS up
    spi/davinci: use request_threaded_irq() to fix deadlock
    spi/orion: Use module_platform_driver()
    spi/bcm63xx: reject transfers unable to transfer
    spi: Ensure memory used for spi_write_then_read() is DMA safe
    spi/spi-mpc512x-psc: init mode bits supported by the driver
    spi/mpc512x-psc: don't use obsolet cell-index property
    spi: Remove erroneous __init, __exit and __exit_p() references in drivers
    spi/s3c64xx: fix checkpatch warnings and error
    ...

    Linus Torvalds
     
  • Pull clock framework update from Michael Turquette:
    "The common clock framework changes for 3.9 are almost entirely fixes.

    None are dire enough to be Cc'd to stable which may be interpreted to
    mean that users of the framework are reaching stability. Lots of new
    adoption of this framework is via DeviceTree data and that comes
    through the respective architecture and platform trees instead of
    through the clk framework tree.

    Two new features are improved debugfs output and an improvement to how
    DT clocks are initialized by reusing a common method."

    * tag 'clk-for-linus' of git://git.linaro.org/people/mturquette/linux: (25 commits)
    clk: sunxi: remove stale Makefile entry
    clk: vexpress: Use common of_clk_init() function
    clk: zynq: Use common of_clk_init() function
    clk: vt8500: Use common of_clk_init() function
    clk: highbank: Use common of_clk_init() function
    clk: sunxi: Use common of_clk_init() function
    clk: add common of_clk_init() function
    clk: Deduplicate exit code in clk_set_rate
    clk: beautify Makefile
    clk-divider: fix macros
    clk: prima2: enable dt-binding clkdev mapping
    clk: mxs: Index is always positive
    clk: max77686: Avoid double free at remove time
    clk: remove exported function from __init section
    clk: vt8500: Add support for WM8750/WM8850 PLL clocks
    clk: vt8500: Fix division-by-0 when requested rate=0
    clk: vt8500: Fix device clock divisor calculations
    clk: vt8500: Fix error in PLL calculations on non-exact match.
    clk: max77686: Remove unnecessary NULL checking for container_of()
    clk: JSON debugfs clock tree summary
    ...

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:
    "Two new touchpad drivers - Cypress APA I2C Trackpad and Cypress PS/2
    touchpad and a big update to ALPS driver from Kevin Cernekee that adds
    support for "Rushmore" touchpads and paves way for adding support for
    "Dolphin" touchpads.

    There is also a new input driver for Goldfish emulator and also
    Android keyreset driver was folded into SysRq code.

    A few more drivers were updated with device tree bindings and others
    got some small cleanups and fixes."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (55 commits)
    Input: cyttsp-spi - remove duplicate MODULE_ALIAS()
    Input: tsc2005 - add MODULE_ALIAS
    Input: tegra-kbc - require CONFIG_OF, remove platform data
    Input: synaptics - initialize pointer emulation usage
    Input: MT - do not apply filtering on emulated events
    Input: bma150 - make some defines public and fix some comments
    Input: bma150 - fix checking pm_runtime_get_sync() return value
    Input: ALPS - enable trackstick on Rushmore touchpads
    Input: ALPS - add support for "Rushmore" touchpads
    Input: ALPS - make the V3 packet field decoder "pluggable"
    Input: ALPS - move pixel and bitmap info into alps_data struct
    Input: ALPS - fix command mode check
    Input: ALPS - rework detection of Pinnacle AGx touchpads
    Input: ALPS - move {addr,nibble}_command settings into alps_set_defaults()
    Input: ALPS - use function pointers for different protocol handlers
    Input: ALPS - rework detection sequence
    Input: ALPS - introduce helper function for repeated commands
    Input: ALPS - move alps_get_model() down below hw_init code
    Input: ALPS - copy "model" info into alps_data struct
    Input: ALPS - document the alps.h data structures
    ...

    Linus Torvalds
     
  • This reverts commit d57ada0c37ecf836259c205442c15c7679a6dc3e.

    All of these are wrong and need to be reverted for now.

    Cc: Manjunath Goudar
    Cc: Arnd Bergmann
    Cc: Tony Prisk
    Cc: Alexey Charkov
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit 6ed3c43d05f6d0d55f17947bc287f35318fd96f8.

    All of these are wrong, and need to be reverted for now.

    Cc: Manjunath Goudar
    Cc: Arnd Bergmann
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit e2ced16661b807b0a5db4f00000eaeb21da4b251.

    All of these are wrong, and need to be removed for now until they can
    get reworked properly.

    Cc: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Pull battery updates from Anton Vorontsov:
    "Four new drivers:

    - goldfish_battery:

    This is Android Emulator battery driver. Originally from Google,
    but Intel folks reshaped it for mainline

    - pm2301_charger:

    A new driver for ST-Ericsson 2301 Power Management chip, uses
    AB8500 battery management core

    - qnap-poweroff:

    The driver adds poweroff functionality for QNAP NAS boxes

    - restart-poweroff:

    A generic driver that implements 'power off by restarting'. The
    actual poweroff functionality is implemented through a bootloader,
    so Linux' task is just to restart the box. The driver is useful on
    Buffalo Linkstation LS-XHL and LS-CHLv2 boards. Andrew Lunn worked
    on submitting the driver (as well as qnap-poweroff above).

    Additionally:

    - A lot of fixes for ab8500 drivers. This is a part of efforts of
    syncing internal ST-Ericsson development tree with the mainline.
    Lee Jones @ Linaro worked on compilation and reshaping these
    series.

    - New health properties for the power supplies: "Watchdog timer
    expire" and "Safety timer expire"

    - As usual, a bunch of fixes/cleanups here and there"

    * tag 'for-v3.9' of git://git.infradead.org/battery-2.6: (81 commits)
    bq2415x_charger: Add support for offline and 100mA mode
    generic-adc-battery: Fix forever loop in gab_remove()
    goldfish_battery: Add missing GENERIC_HARDIRQS dependency
    da9030_battery: Include notifier.h
    bq27x00_battery: Fix reporting battery temperature
    power/reset: Remove newly introduced __dev* annotations
    lp8727_charger: Small cleanup in naming
    ab8500_btemp: Demote initcall sequence
    ds2782_battery: Add power_supply_changed() calls for proper uevent support
    power: Add battery driver for goldfish emulator
    u8500-charger: Delay for USB enumeration
    ab8500-bm: Remove individual [charger|btemp|fg|chargalg] pdata structures
    ab8500-charger: Do not touch VBUSOVV bits
    ab8500-fg: Use correct battery charge full design
    pm2301: LPN mode control support
    pm2301: Enable vbat low monitoring
    ab8500-bm: Flush all work queues before suspending
    ab8500-fg: Go to INIT_RECOVERY when charger removed
    ab8500-charger: Add support for autopower on AB8505 and AB9540
    abx500-chargalg: Add new sysfs interface to get current charge status
    ...

    Fix up fairly straightforward conflicts in the ab8500 driver. But since
    it seems to be ARM-specific, I can't even compile-test the result..

    Linus Torvalds
     
  • If our first THP installation for an MM is via the set_pmd_at() done
    during khugepaged's collapsing we'll end up in tsb_grow() trying to do
    a GFP_KERNEL allocation with several locks held.

    Simply using GFP_ATOMIC in this situation is not the best option
    because we really can't have this fail, so we'd really like to keep
    this an order 0 GFP_KERNEL allocation if possible.

    Also, doing the TSB allocation from khugepaged is a really bad idea
    because we'll allocate it potentially from the wrong NUMA node in that
    context.

    So what we do is defer the hugepage TSB allocation until the first TLB
    miss we take on a hugepage. This is slightly tricky because we have
    to handle two unusual cases:

    1) Taking the first hugepage TLB miss in the window trap handler.
    We'll call the winfix_trampoline when that is detected.

    2) An initial TSB allocation via TLB miss races with a hugetlb
    fault on another cpu running the same MM. We handle this by
    unconditionally loading the TSB we see into the current cpu
    even if it's non-NULL at hugetlb_setup time.

    Reported-by: Meelis Roos
    Signed-off-by: David S. Miller

    David S. Miller
     
  • Accomodate the possibility that the TSB might be NULL at
    the point that update_mmu_cache() is invoked. This is
    necessary because we will sometimes need to defer the TSB
    allocation to the first fault that happens in the 'mm'.

    Seperate out the hugepage PTE test into a seperate function
    so that the logic is clearer.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • We should "|= more_flags" rather than "= more_flags".

    Reported-by: David Rientjes
    Acked-by: David Rientjes
    Signed-off-by: David S. Miller

    David S. Miller