Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync up with Linus #41

Merged
merged 390 commits into from
Feb 21, 2015
Merged

Sync up with Linus #41

merged 390 commits into from
Feb 21, 2015
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Feb 3, 2015

  1. clk: omap: compile legacy omap3 clocks conditionally

    The 'ARM: OMAP3: legacy clock data move under clk driver' patch series
    causes build errors when CONFIG_OMAP3 is not set:
    
    drivers/clk/ti/dpll.c: In function 'ti_clk_register_dpll':
    drivers/clk/ti/dpll.c:199:31: error: 'omap3_dpll_ck_ops' undeclared (first use in this function)
      const struct clk_ops *ops = &omap3_dpll_ck_ops;
                                   ^
    drivers/clk/ti/dpll.c:199:31: note: each undeclared identifier is reported only once for each function it appears in
    drivers/clk/ti/dpll.c:259:10: error: 'omap3_dpll_per_ck_ops' undeclared (first use in this function)
       ops = &omap3_dpll_per_ck_ops;
              ^
    
    drivers/built-in.o: In function `ti_clk_register_gate':
    drivers/clk/ti/gate.c:179: undefined reference to `clkhwops_omap3430es2_dss_usbhost_wait'
    drivers/clk/ti/gate.c:179: undefined reference to `clkhwops_am35xx_ipss_module_wait'
    -in.o: In function `ti_clk_register_interface':
    drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_hsotgusb_wait'
    drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_dss_usbhost_wait'
    drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_ssi_wait'
    drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_am35xx_ipss_wait'
    drivers/built-in.o: In function `ti_clk_register_composite':
    :(.text+0x3da768): undefined reference to `ti_clk_build_component_gate'
    
    In order to fix that problem, this patch makes the omap3 legacy code
    compiled only when both CONFIG_OMAP3 and CONFIG_ATAGS are set.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    arndb authored and Michael Turquette committed Feb 3, 2015
    Configuration menu
    Copy the full SHA
    6793a30 View commit details
    Browse the repository at this point in the history
  2. clk: mxs: Fix invalid 32-bit access to frac registers

    According to i.MX23 and i.MX28 reference manual [1],[2] the fractional
    clock control register is 32-bit wide, but is separated in 4 parts.
    So write instructions must not apply to more than 1 part at once.
    
    The clk init for the i.MX28 violates this restriction and all the other
    accesses on that register suggest that there isn't such a restriction.
    
    This patch restricts the access to this register to byte instructions and
    extends the comment in the init functions.
    
    Btw the imx23 init now uses a R-M-W sequence just like imx28 init
    to avoid any clock glitches.
    
    The changes has been tested with a i.MX23 and a i.MX28 board.
    
    [1] - http://cache.freescale.com/files/dsp/doc/ref_manual/IMX23RM.pdf
    [2] - http://cache.freescale.com/files/dsp/doc/ref_manual/MCIMX28RM.pdf
    
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Reviewed-by: Marek Vasut <marex@denx.de>
    Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    lategoodbye authored and Michael Turquette committed Feb 3, 2015
    Configuration menu
    Copy the full SHA
    039e597 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2015

  1. iser-target: Use WQ_UNBOUND for completion workqueue

    Bound workqueues might be too restrictive since they allow
    only a single core per session for processing completions.
    WQ_UNBOUND will allow bouncing to another CPU if the running
    CPU is currently busy. Luckily, our workqueues are NUMA aware
    and will first try to bounce within the same NUMA socket.
    My measurements with NULL backend devices show that there is
    no (noticeable) additional latency as a result of the change.
    I'd expect even to gain performance when working with fast
    devices that also allocate MSIX interrupt vectors.
    
    While we're at it, make it WQ_HIGHPRI since processing
    completions is really a high priority for performance.
    
    Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
    Reported-by: Moussa Ba <moussaba@micron.com>
    Signed-off-by: Moussa Ba <moussaba@micron.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Sagi Grimberg authored and nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    631af55 View commit details
    Browse the repository at this point in the history
  2. iscsi-target: Introduce session_get_next_ttt

    Reduce code duplication.
    
    Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Sagi Grimberg authored and nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    c1e34b6 View commit details
    Browse the repository at this point in the history
  3. iscsi-target: Don't over-allocate sendtargets text resp buffer

    No reason to allocate a buffer of size bigger than initiator
    MaxRecvDataSegmentLength. Moreover, we need to respect initiator
    MRDSL and not send a larger payload.
    
    Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Sagi Grimberg authored and nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    be7dcfb View commit details
    Browse the repository at this point in the history
  4. iser-target: Fix wrong allocation in the case of an empty text message

    if text message dlength is 0, don't allocate a buffer for it, pass
    NULL to iscsit_process_text_cmd.
    
    Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Sagi Grimberg authored and nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    b44a2b6 View commit details
    Browse the repository at this point in the history
  5. vhost/scsi: Convert completion path to use copy_to_iter

    Required for ANY_LAYOUT support when the incoming virtio-scsi response
    header + fixed size sense buffer payload may span more than a single
    iovec entry.
    
    This changes existing code to save cmd->tvc_resp_iov instead of the
    first single iovec base pointer from &vq->iov[out].
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    79c1414 View commit details
    Browse the repository at this point in the history
  6. vhost/scsi: Fix incorrect early vhost_scsi_handle_vq failures

    This patch fixes vhost_scsi_handle_vq() failure cases that result in BUG_ON()
    getting triggered when vhost_scsi_free_cmd() is called, and ->tvc_se_cmd has
    not been initialized by target_submit_cmd_map_sgls().
    
    It changes tcm_vhost_release_cmd() to use tcm_vhost_cmd->tvc_nexus for obtaining
    se_session pointer reference.  Also, avoid calling put_page() on NULL sg->page
    entries in vhost_scsi_map_to_sgl() failure path.
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    de1419e View commit details
    Browse the repository at this point in the history
  7. vhost/scsi: Change vhost_scsi_map_to_sgl to accept iov ptr + len

    This patch changes vhost_scsi_map_to_sgl() parameters to accept virtio
    iovec ptr + len when determing pages_nr.
    
    This is currently done with iov_num_pages() -> PAGE_ALIGN, so allow
    the same parameters as well.
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    b4078b5 View commit details
    Browse the repository at this point in the history
  8. vhost/scsi: Add ANY_LAYOUT iov -> sgl mapping prerequisites

    This patch adds ANY_LAYOUT prerequisites logic for accepting a set of
    protection + data payloads via iov_iter.  Also includes helpers for
    calcuating SGLs + invoking vhost_scsi_map_to_sgl() with a known number
    of iovecs.
    
    Required by ANY_LAYOUT processing when struct iovec may be offset into
    the first outgoing virtio-scsi request header.
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    e8de56b View commit details
    Browse the repository at this point in the history
  9. vhost/scsi: Add ANY_LAYOUT support in vhost_scsi_handle_vq

    This patch adds ANY_LAYOUT compatible support within the existing
    vhost_scsi_handle_vq() ->handle_kick() callback.
    
    It calculates data_direction + exp_data_len for the new tcm_vhost_cmd
    descriptor by walking both outgoing + incoming iovecs using iov_iter,
    assuming the layout of outgoing request header + T10_PI + Data payload
    comes first.
    
    It also uses copy_from_iter() to copy leading virtio-scsi request header
    that may or may not include SCSI CDB, that returns a re-calculated iovec
    to start of T10_PI or Data SGL memory.
    
    Also, go ahead and drop the legacy pre virtio v1.0 !ANY_LAYOUT logic.
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    09b13fa View commit details
    Browse the repository at this point in the history
  10. vhost/scsi: Set VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 feature bits

    Signal support of VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 feature bits
    required for virtio-scsi 1.0 spec layout requirements.
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Acked-by: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    664ed90 View commit details
    Browse the repository at this point in the history
  11. vhost/scsi: Drop left-over scsi_tcq.h include

    With the recent removal of MSG_*_TAG defines in commit 68d81f4,
    vhost-scsi is now using TCM_*_TAG and doesn't depend upon host
    side scsi_tcq.h definitions anymore.
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Acked-by: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    f575c61 View commit details
    Browse the repository at this point in the history
  12. vhost/scsi: Global tcm_vhost -> vhost_scsi rename

    There is a large amount of code that still references the original
    'tcm_vhost' naming conventions, instead of modern 'vhost_scsi'.
    
    Go ahead and do a global rename to make the usage consistent.
    
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Acked-by: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    1a1ff82 View commit details
    Browse the repository at this point in the history
  13. clk: shmobile: div6: Avoid division by zero in .round_rate()

    Anyone may call clk_round_rate() with a zero rate value, so we have to
    protect against that.
    
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    geertu authored and Michael Turquette committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    5469d4f View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2015

  1. i2c: ocores: fix clock-frequency binding usage

    clock-frequency property is meant to control the bus frequency for i2c bus
    drivers, but it was incorrectly used to specify i2c controller input clock
    frequency.
    Introduce new attribute, opencores,ip-clock-frequency, that specifies i2c
    controller clock frequency and make clock-frequency attribute compatible
    with other i2c drivers. Maintain backwards compatibility in case
    opencores,ip-clock-frequency attribute is missing.
    
    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    jcmvbkbc authored and Wolfram Sang committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    3a33a85 View commit details
    Browse the repository at this point in the history
  2. i2c: clarify comments about the dev_released completion

    There was quite some confusion why this completion is there and if it is
    still necessary. Sadly, it is. However, let's improve the comments and
    share what we rediscovered.
    
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Wolfram Sang committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    26680ee View commit details
    Browse the repository at this point in the history
  3. i2c: hix5hd2: add COMPILE_TEST

    Commit 9439eb3 ("asm-generic: io: implement relaxed
    accessor macros as conditional wrappers") has added
    {read,write}{b,w,l,q}_relaxed to include/asm-generic/io.h.
    So COMPILE_TEST can be added.
    
    Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    zhangfeigao authored and Wolfram Sang committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    181d9a0 View commit details
    Browse the repository at this point in the history
  4. i2c: ocores: add common clock support

    Allow bus clock specification as a common clock handle. This makes this
    controller easier to use in a setup based on common clock framework.
    
    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    jcmvbkbc authored and Wolfram Sang committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    e961a09 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2015

  1. vhost/scsi: potential memory corruption

    This code in vhost_scsi_make_tpg() is confusing because we limit "tpgt"
    to UINT_MAX but the data type of "tpg->tport_tpgt" and that is a u16.
    
    I looked at the context and it turns out that in
    vhost_scsi_set_endpoint(), "tpg->tport_tpgt" is used as an offset into
    the vs_tpg[] array which has VHOST_SCSI_MAX_TARGET (256) elements so
    anything higher than 255 then it is invalid.  I have made that the limit
    now.
    
    In vhost_scsi_send_evt() we mask away values higher than 255, but now
    that the limit has changed, we don't need the mask.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Dan Carpenter authored and nablio3000 committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    59c816c View commit details
    Browse the repository at this point in the history
  2. iser-target: Remove duplicate function names

    The macro isert_dbg already ensures that __func__ is part of the
    output, so there's no reason to duplicate the function name in the
    format string itself.
    
    Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Villemoes authored and nablio3000 committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    11378cd View commit details
    Browse the repository at this point in the history
  3. vfio/type1: DMA unmap chunking

    When unmapping DMA entries we try to rely on the IOMMU API behavior
    that allows the IOMMU to unmap a larger area than requested, up to
    the size of the original mapping.  This works great when the IOMMU
    supports superpages *and* they're in use.  Otherwise, each PAGE_SIZE
    increment is unmapped separately, resulting in poor performance.
    
    Instead we can use the IOVA-to-physical-address translation provided
    by the IOMMU API and unmap using the largest contiguous physical
    memory chunk available, which is also how vfio/type1 would have
    mapped the region.  For a synthetic 1TB guest VM mapping and shutdown
    test on Intel VT-d (2M IOMMU pagesize support), this achieves about
    a 30% overall improvement mapping standard 4K pages, regardless of
    IOMMU superpage enabling, and about a 40% improvement mapping 2M
    hugetlbfs pages when IOMMU superpages are not available.  Hugetlbfs
    with IOMMU superpages enabled is effectively unchanged.
    
    Unfortunately the same algorithm does not work well on IOMMUs with
    fine-grained superpages, like AMD-Vi, costing about 25% extra since
    the IOMMU will automatically unmap any power-of-two contiguous
    mapping we've provided it.  We add a routine and a domain flag to
    detect this feature, leaving AMD-Vi unaffected by this unmap
    optimization.
    
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    awilliam committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    6fe1010 View commit details
    Browse the repository at this point in the history
  4. vfio/type1: Chunk contiguous reserved/invalid page mappings

    We currently map invalid and reserved pages, such as often occur from
    mapping MMIO regions of a VM through the IOMMU, using single pages.
    There's really no reason we can't instead follow the methodology we
    use for normal pages and find the largest possible physically
    contiguous chunk for mapping.  The only difference is that we don't
    do locked memory accounting for these since they're not back by RAM.
    
    In most applications this will be a very minor improvement, but when
    graphics and GPGPU devices are in play, MMIO BARs become non-trivial.
    
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    awilliam committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    babbf17 View commit details
    Browse the repository at this point in the history
  5. vfio/type1: Add conditional rescheduling

    IOMMU operations can be expensive and it's not very difficult for a
    user to give us a lot of work to do for a map or unmap operation.
    Killing a large VM will vfio assigned devices can result in soft
    lockups and IOMMU tracing shows that we can easily spend 80% of our
    time with need-resched set.  A sprinkling of conf_resched() calls
    after map and unmap calls has a very tiny affect on performance
    while resulting in traces with <1% of calls overflowing into needs-
    resched.
    
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    awilliam committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    c5e6688 View commit details
    Browse the repository at this point in the history
  6. vfio: Add device tracking during unbind

    There's a small window between the vfio bus driver calling
    vfio_del_group_dev() and the device being completely unbound where
    the vfio group appears to be non-viable.  This creates a race for
    users like QEMU/KVM where the kvm-vfio module tries to get an
    external reference to the group in order to match and release an
    existing reference, while the device is potentially being removed
    from the vfio bus driver.  If the group is momentarily non-viable,
    kvm-vfio may not be able to release the group reference until VM
    shutdown, making the group unusable until that point.
    
    Bridge the gap between device removal from the group and completion
    of the driver unbind by tracking it in a list.  The device is added
    to the list before the bus driver reference is released and removed
    using the existing unbind notifier.
    
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    awilliam committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    60720a0 View commit details
    Browse the repository at this point in the history
  7. vfio: Tie IOMMU group reference to vfio group

    Move the iommu_group reference from the device to the vfio_group.
    This ensures that the iommu_group persists as long as the vfio_group
    remains.  This can be important if all of the device from an
    iommu_group are removed, but we still have an outstanding vfio_group
    reference; we can still walk the empty list of devices.
    
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    awilliam committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    4a68810 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2015

  1. clkdev: Always allocate a struct clk and call __clk_get() w/ CCF

    of_clk_get_by_clkspec() returns a struct clk pointer but it
    doesn't create a new handle for the consumers when we're using
    the common clock framework. Instead it just returns whatever the
    clk provider hands out. When the consumers go to call clk_put()
    we get an Oops.
    
    Unable to handle kernel paging request at virtual address 00200200
    pgd = c0004000
    [00200200] *pgd=00000000
    Internal error: Oops: 805 [#1] PREEMPT SMP ARM
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-rc1-00104-ga251361a-dirty #992
    Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
    task: ee00b000 ti: ee088000 task.ti: ee088000
    PC is at __clk_put+0x24/0xd0
    LR is at clk_prepare_lock+0xc/0xec
    pc : [<c03eef38>]    lr : [<c03ec1f4>]    psr: 20000153
    sp : ee089de8  ip : 00000000  fp : 00000000
    r10: ee02f480  r9 : 00000001  r8 : 00000000
    r7 : ee031cc0  r6 : ee089e08  r5 : 00000000  r4 : ee02f480
    r3 : 00100100  r2 : 00200200  r1 : 0000091e  r0 : 00000001
    Flags: nzCv  IRQs on  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
    Control: 10c5387d  Table: 4000404a  DAC: 00000015
    Process swapper/0 (pid: 1, stack limit = 0xee088238)
    Stack: (0xee089de8 to 0xee08a000)
    9de0:                   ee7c8f14 c03f0ec8 ee089e08 00000000 c0718dc8 00000001
    9e00: 00000000 c04ee0f0 ee7e0844 00000001 00000181 c04edb58 ee2bd320 00000000
    9e20: 00000000 c011dc5c ee16a1e0 00000000 00000000 c0718dc8 ee16a1e0 ee2bd1e0
    9e40: c0641740 ee16a1e0 00000000 ee2bd320 c0718dc8 ee1d3e10 ee1d3e10 00000000
    9e60: c0769a88 00000000 c0718dc8 00000000 00000000 c02c3124 c02c310c ee1d3e10
    9e80: c07b4eec 00000000 c0769a88 c02c1d0c ee1d3e10 c0769a88 ee1d3e44 00000000
    9ea0: c07091dc c02c1eb8 00000000 c0769a88 c02c1e2c c02c0544 ee005478 ee1676c0
    9ec0: c0769a88 ee3a4e80 c0760ce8 c02c150c c0669b90 c0769a88 c0746cd8 c0769a88
    9ee0: c0746cd8 ee2bc4c0 c0778c00 c02c24e0 00000000 c0746cd8 c0746cd8 c07091f0
    9f00: 00000000 c0008944 c04f405c 00000025 ee00b000 60000153 c074ab00 00000000
    9f20: 00000000 c074ab90 60000153 00000000 ef7fca5d c050860c 000000b6 c0036b88
    9f40: c065ecc4 c06bc728 00000006 00000006 c074ab30 ef7fca40 c0739bdc 00000006
    9f60: c0718dbc c0778c00 000000b6 c0718dc8 c06ed598 c06edd64 00000006 00000006
    9f80: c06ed598 c003b438 00000000 c04e64f4 00000000 00000000 00000000 00000000
    9fa0: 00000000 c04e64fc 00000000 c000e838 00000000 00000000 00000000 00000000
    9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 c0c0c0c0 c0c0c0c0
    [<c03eef38>] (__clk_put) from [<c03f0ec8>] (of_clk_set_defaults+0xe0/0x2c0)
    [<c03f0ec8>] (of_clk_set_defaults) from [<c02c3124>] (platform_drv_probe+0x18/0xa4)
    [<c02c3124>] (platform_drv_probe) from [<c02c1d0c>] (driver_probe_device+0x10c/0x22c)
    [<c02c1d0c>] (driver_probe_device) from [<c02c1eb8>] (__driver_attach+0x8c/0x90)
    [<c02c1eb8>] (__driver_attach) from [<c02c0544>] (bus_for_each_dev+0x54/0x88)
    [<c02c0544>] (bus_for_each_dev) from [<c02c150c>] (bus_add_driver+0xd4/0x1d0)
    [<c02c150c>] (bus_add_driver) from [<c02c24e0>] (driver_register+0x78/0xf4)
    [<c02c24e0>] (driver_register) from [<c07091f0>] (fimc_md_init+0x14/0x30)
    [<c07091f0>] (fimc_md_init) from [<c0008944>] (do_one_initcall+0x80/0x1d0)
    [<c0008944>] (do_one_initcall) from [<c06edd64>] (kernel_init_freeable+0x108/0x1d4)
    [<c06edd64>] (kernel_init_freeable) from [<c04e64fc>] (kernel_init+0x8/0xec)
    [<c04e64fc>] (kernel_init) from [<c000e838>] (ret_from_fork+0x14/0x3c)
    Code: ebfff4ae e5943014 e5942018 e3530000 (e5823000)
    
    Let's create a per-user handle here so that clk_put() can
    properly unlink it and free the handle. Now that we allocate a
    clk structure here we need to free it if __clk_get() fails so
    bury the __clk_get() call in __of_clk_get_from_provider(). We
    need to handle the same problem in clk_get_sys() so export
    __clk_free_clk() to clkdev.c and do the same thing, except let's
    use a union to make this code #ifdef free.
    
    This fixes the above crash, properly calls __clk_get() when
    of_clk_get_from_provider() is called, and cleans up the clk
    structure on the error path of clk_get_sys().
    
    Fixes: 035a61c "clk: Make clk API return per-user struct clk instances"
    Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Reported-by: Alban Browaeys <alban.browaeys@gmail.com>
    Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Tested-by: Alban Browaeys <prahal@yahoo.com>
    Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    bebarino authored and Michael Turquette committed Feb 7, 2015
    Configuration menu
    Copy the full SHA
    73e0e49 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2015

  1. vfio: Add and use device request op for vfio bus drivers

    When a request is made to unbind a device from a vfio bus driver,
    we need to wait for the device to become unused, ie. for userspace
    to release the device.  However, we have a long standing TODO in
    the code to do something proactive to make that happen.  To enable
    this, we add a request callback on the vfio bus driver struct,
    which is intended to signal the user through the vfio device
    interface to release the device.  Instead of passively waiting for
    the device to become unused, we can now pester the user to give
    it up.
    
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    awilliam committed Feb 10, 2015
    Configuration menu
    Copy the full SHA
    13060b6 View commit details
    Browse the repository at this point in the history
  2. vfio-pci: Generalize setup of simple eventfds

    We want another single vector IRQ index to support signaling of
    the device request to userspace.  Generalize the error reporting
    IRQ index to avoid code duplication.
    
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    awilliam committed Feb 10, 2015
    Configuration menu
    Copy the full SHA
    cac80d6 View commit details
    Browse the repository at this point in the history
  3. vfio-pci: Add device request interface

    Userspace can opt to receive a device request notification,
    indicating that the device should be released.  This is setup
    the same way as the error IRQ and also supports eventfd signaling.
    Future support may forcefully remove the device from the user if
    the request is ignored.
    
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    awilliam committed Feb 10, 2015
    Configuration menu
    Copy the full SHA
    6140a8f View commit details
    Browse the repository at this point in the history
  4. Input: soc_button_array - use "Windows" key for "Home"

    KEY_HOME is the key to go back to the beginning of the line, not the key to
    get into an overview mode, as Windows does. GNOME can already make use of
    the Windows key on multiple form factors, and other desktop environments
    can use it depending on the form factor.
    
    Using "Windows" as the emitted key also means that the keycode sent out
    matches the symbol on the key itself.
    
    So switch KEY_HOME to KEY_LEFTMETA ("Windows" key).
    
    Signed-off-by: Bastien Nocera <hadess@hadess.net>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    hadess authored and dtor committed Feb 10, 2015
    Configuration menu
    Copy the full SHA
    791738b View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2015

  1. rcu: Clear need_qs flag to prevent splat

    If the scheduling-clock interrupt sets the current tasks need_qs flag,
    but if the current CPU passes through a quiescent state in the meantime,
    then rcu_preempt_qs() will fail to clear the need_qs flag, which can fool
    RCU into thinking that additional rcu_read_unlock_special() processing
    is needed.  This commit therefore clears the need_qs flag before checking
    for additional processing.
    
    For this problem to occur, we need rcu_preempt_data.passed_quiesce equal
    to true and current->rcu_read_unlock_special.b.need_qs also equal to true.
    This condition can occur as follows:
    
    1.	CPU 0 is aware of the current preemptible RCU grace period,
    	but has not yet passed through a quiescent state.  Among other
    	things, this means that rcu_preempt_data.passed_quiesce is false.
    
    2.	Task A running on CPU 0 enters a preemptible RCU read-side
    	critical section.
    
    3.	CPU 0 takes a scheduling-clock interrupt, which notices the
    	RCU read-side critical section and the need for a quiescent state,
    	and thus sets current->rcu_read_unlock_special.b.need_qs to true.
    
    4.	Task A is preempted, enters the scheduler, eventually invoking
    	rcu_preempt_note_context_switch() which in turn invokes
    	rcu_preempt_qs().
    
    	Because rcu_preempt_data.passed_quiesce is false,
    	control enters the body of the "if" statement, which sets
    	rcu_preempt_data.passed_quiesce to true.
    
    5.	At this point, CPU 0 takes an interrupt.  The interrupt
    	handler contains an RCU read-side critical section, and
    	the rcu_read_unlock() notes that current->rcu_read_unlock_special
    	is nonzero, and thus invokes rcu_read_unlock_special().
    
    6.	Once in rcu_read_unlock_special(), the fact that
    	current->rcu_read_unlock_special.b.need_qs is true becomes
    	apparent, so rcu_read_unlock_special() invokes rcu_preempt_qs().
    	Recursively, given that we interrupted out of that same
    	function in the preceding step.
    
    7.	Because rcu_preempt_data.passed_quiesce is now true,
    	rcu_preempt_qs() does nothing, and simply returns.
    
    8.	Upon return to rcu_read_unlock_special(), it is noted that
    	current->rcu_read_unlock_special is still nonzero (because
    	the interrupted rcu_preempt_qs() had not yet gotten around
    	to clearing current->rcu_read_unlock_special.b.need_qs).
    
    9.	Execution proceeds to the WARN_ON_ONCE(), which notes that
    	we are in an interrupt handler and thus duly splats.
    
    The solution, as noted above, is to make rcu_read_unlock_special()
    clear out current->rcu_read_unlock_special.b.need_qs after calling
    rcu_preempt_qs().  The interrupted rcu_preempt_qs() will clear it again,
    but this is harmless.  The worst that happens is that we clobber another
    attempt to set this field, but this is not a problem because we just
    got done reporting a quiescent state.
    
    Reported-by: Sasha Levin <sasha.levin@oracle.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    [ paulmck: Fix embarrassing build bug noted by Sasha Levin. ]
    Tested-by: Sasha Levin <sasha.levin@oracle.com>
    paulmck committed Feb 11, 2015
    Configuration menu
    Copy the full SHA
    c0135d0 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2015

  1. Input: pxa27x_keypad - remove an unneeded NULL check

    Static checkers complain about this NULL check because we dereference it
    without checking a couple lines later.  This function is only called
    when "keypad->pdata" is non-NULL so we can just delete the NULL test.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    [Dmitry: remove the variable altogether given that it is used just once and
     dereference directly.]
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Dan Carpenter authored and dtor committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    2b2f514 View commit details
    Browse the repository at this point in the history
  2. Input: adi - remove an unnecessary check

    The input_free_device() function tests whether its argument is NULL and
    then returns immediately. Thus the test around the call is not needed.
    
    This issue was detected by using the Coccinelle software.
    
    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    elfring authored and dtor committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    de3748f View commit details
    Browse the repository at this point in the history
  3. s390/vdso: fix clock_gettime for CLOCK_THREAD_CPUTIME_ID, -2 and -3

    Git commit 8d8f2e18a6dbd3d09dd918788422e6ac8c878e96
    "s390/vdso: ectg gettime support for CLOCK_THREAD_CPUTIME_ID"
    broke clock_gettime for CLOCK_THREAD_CPUTIME_ID.
    
    Git commit c742b31
    "fast vdso implementation for CLOCK_THREAD_CPUTIME_ID"
    introduced the ECTG for clock id -2. Correct would have been
    clock id -3.
    
    Fix the whole mess, CLOCK_THREAD_CPUTIME_ID is based on
    CPUCLOCK_SCHED and can not be speed up by the vdso. A speedup
    is only available for clock id -3 which is CPUCLOCK_VIRT for
    the task currently running on the CPU.
    
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Martin Schwidefsky committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    4925392 View commit details
    Browse the repository at this point in the history
  4. s390/topology: delay initialization of topology cpu masks

    There is no reason to initialize the topology cpu masks already while
    setup_arch() is being called. It is sufficient to initialize the masks
    before the scheduler becomes SMP aware.
    Therefore a pre-SMP initcall aka early_initcall is suffucient.
    
    This also allows to convert the cpu_topology array into a per cpu
    variable with a later patch. Without this patch this wouldn't be
    possible since the per cpu memory areas are not allocated while setup_arch
    is executed.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    heicarst authored and Martin Schwidefsky committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    d05d15d View commit details
    Browse the repository at this point in the history
  5. s390/topology: convert cpu_topology array to per cpu variable

    Convert the per cpu topology cpu masks to a per cpu variable.
    At least for machines which do have less possible cpus than NR_CPUS this can
    save a bit of memory (z/VM: max 64 vs 512 for performance_defconfig).
    
    This reduces the kernel image size by 100k.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    heicarst authored and Martin Schwidefsky committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    da0c636 View commit details
    Browse the repository at this point in the history
  6. s390/smp: reduce size of struct pcpu

    Reduce the size of struct pcpu, since the pcpu_devices array consists
    of NR_CPUS elements of type struct pcpu. For most machines this is just
    a waste of memory.
    So let's try to make it a bit smaller.
    This saves 16k with performance_defconfig.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    heicarst authored and Martin Schwidefsky committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    2f859d0 View commit details
    Browse the repository at this point in the history
  7. s390/cacheinfo: fix shared cpu masks

    When testing Sudeep Holla's cache info rework I didn't realize that the
    shared cpu masks are broken (all have the same cpu set).
    Let's fix this.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    heicarst authored and Martin Schwidefsky committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    4fd4f1c View commit details
    Browse the repository at this point in the history
  8. s390/cacheinfo: coding style changes

    Just some minor coding style changes, while I had to look at the code.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    heicarst authored and Martin Schwidefsky committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    f4dce5c View commit details
    Browse the repository at this point in the history
  9. ALSA: line6: Improve line6_read/write_data() interfaces

    The address cannot be negative so make it unsigned.  Also, an unsigned
    int is always sufficient for the length, so no need to overdo it with a
    size_t.  Finally, add in range checks to see if the values passed in
    actually fit where they are used.
    
    Signed-off-by: Chris Rorvick <chris@rorvick.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    crorvick authored and tiwai committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    25a0707 View commit details
    Browse the repository at this point in the history
  10. ALSA: seq: potential out of bounds in do_control()

    Smatch complains that "control" is user specifigy and needs to be
    capped.  The call tree to understand this warning is quite long.
    
    snd_seq_write()  <-- get the event from the user
      snd_seq_client_enqueue_event()
        snd_seq_deliver_event()
          deliver_to_subscribers()
            snd_seq_deliver_single_event()
              snd_opl3_oss_event_input()
                snd_midi_process_event()
                  do_control()
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Dan Carpenter authored and tiwai committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    0b444af View commit details
    Browse the repository at this point in the history
  11. iscsi/iser-target: Support multi-sequence sendtargets text response

    In case sendtargets response is larger than initiator MRDSL, we
    send a partial sendtargets response (setting F=0, C=1, TTT!=0xffffffff),
    accept a consecutive empty text message and send the rest of the payload.
    In case we are done, we set F=1, C=0, TTT=0xffffffff.
    We do that by storing the sendtargets response bytes done under
    the session.
    
    This patch also makes iscsit_find_cmd_from_itt public for isert.
    
    (Re-add cmd->maxcmdsn_inc and clear in iscsit_build_text_rsp - nab)
    
    Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Sagi Grimberg authored and nablio3000 committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    e4f4e80 View commit details
    Browse the repository at this point in the history
  12. iscsi-target: Drop problematic active_ts_list usage

    This patch drops legacy active_ts_list usage within iscsi_target_tq.c
    code.  It was originally used to track the active thread sets during
    iscsi-target shutdown, and is no longer used by modern upstream code.
    
    Two people have reported list corruption using traditional iscsi-target
    and iser-target with the following backtrace, that appears to be related
    to iscsi_thread_set->ts_list being used across both active_ts_list and
    inactive_ts_list.
    
    [   60.782534] ------------[ cut here ]------------
    [   60.782543] WARNING: CPU: 0 PID: 9430 at lib/list_debug.c:53 __list_del_entry+0x63/0xd0()
    [   60.782545] list_del corruption, ffff88045b00d180->next is LIST_POISON1 (dead000000100100)
    [   60.782546] Modules linked in: ib_srpt tcm_qla2xxx qla2xxx tcm_loop tcm_fc libfc scsi_transport_fc scsi_tgt ib_isert rdma_cm iw_cm ib_addr iscsi_target_mod target_core_pscsi target_core_file target_core_iblock target_core_mod configfs ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 ipt_REJECT xt_CHECKSUM iptable_mangle iptable_filter ip_tables bridge stp llc autofs4 sunrpc ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 ib_ipoib ib_cm ib_uverbs ib_umad mlx4_en mlx4_ib ib_sa ib_mad ib_core mlx4_core dm_mirror dm_region_hash dm_log dm_mod vhost_net macvtap macvlan vhost tun kvm_intel kvm uinput iTCO_wdt iTCO_vendor_support microcode serio_raw pcspkr sb_edac edac_core sg i2c_i801 lpc_ich mfd_core mtip32xx igb i2c_algo_bit i2c_core ptp pps_core ioatdma dca wmi ext3(F) jbd(F) mbcache(F) sd_mod(F) crc_t10dif(F) crct10dif_common(F) ahci(F) libahci(F) isci(F) libsas(F) scsi_transport_sas(F) [last unloaded: speedstep_lib]
    [   60.782597] CPU: 0 PID: 9430 Comm: iscsi_ttx Tainted: GF 3.12.19+ #2
    [   60.782598] Hardware name: Supermicro X9DRX+-F/X9DRX+-F, BIOS 3.00 07/09/2013
    [   60.782599]  0000000000000035 ffff88044de31d08 ffffffff81553ae7 0000000000000035
    [   60.782602]  ffff88044de31d58 ffff88044de31d48 ffffffff8104d1cc 0000000000000002
    [   60.782605]  ffff88045b00d180 ffff88045b00d0c0 ffff88045b00d0c0 ffff88044de31e58
    [   60.782607] Call Trace:
    [   60.782611]  [<ffffffff81553ae7>] dump_stack+0x49/0x62
    [   60.782615]  [<ffffffff8104d1cc>] warn_slowpath_common+0x8c/0xc0
    [   60.782618]  [<ffffffff8104d2b6>] warn_slowpath_fmt+0x46/0x50
    [   60.782620]  [<ffffffff81280933>] __list_del_entry+0x63/0xd0
    [   60.782622]  [<ffffffff812809b1>] list_del+0x11/0x40
    [   60.782630]  [<ffffffffa06e7cf9>] iscsi_del_ts_from_active_list+0x29/0x50 [iscsi_target_mod]
    [   60.782635]  [<ffffffffa06e87b1>] iscsi_tx_thread_pre_handler+0xa1/0x180 [iscsi_target_mod]
    [   60.782642]  [<ffffffffa06fb9ae>] iscsi_target_tx_thread+0x4e/0x220 [iscsi_target_mod]
    [   60.782647]  [<ffffffffa06fb960>] ? iscsit_handle_snack+0x190/0x190 [iscsi_target_mod]
    [   60.782652]  [<ffffffffa06fb960>] ? iscsit_handle_snack+0x190/0x190 [iscsi_target_mod]
    [   60.782655]  [<ffffffff8106f99e>] kthread+0xce/0xe0
    [   60.782657]  [<ffffffff8106f8d0>] ? kthread_freezable_should_stop+0x70/0x70
    [   60.782660]  [<ffffffff8156026c>] ret_from_fork+0x7c/0xb0
    [   60.782662]  [<ffffffff8106f8d0>] ? kthread_freezable_should_stop+0x70/0x70
    [   60.782663] ---[ end trace 9662f4a661d33965 ]---
    
    Since this code is no longer used, go ahead and drop the problematic usage
    all-together.
    
    Reported-by: Gavin Guo <gavin.guo@canonical.com>
    Reported-by: Moussa Ba <moussaba@micron.com>
    Cc: stable@vger.kernel.org # 3.1+
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    3fd7b60 View commit details
    Browse the repository at this point in the history
  13. target: Fix PR_APTPL_BUF_LEN buffer size limitation

    This patch addresses the original PR_APTPL_BUF_LEN = 8k limitiation
    for write-out of PR APTPL metadata that Martin has recently been
    running into.
    
    It changes core_scsi3_update_and_write_aptpl() to use vzalloc'ed
    memory instead of kzalloc, and increases the default hardcoded
    length to 256k.
    
    It also adds logic in core_scsi3_update_and_write_aptpl() to double
    the original length upon core_scsi3_update_aptpl_buf() failure, and
    retries until the vzalloc'ed buffer is large enough to accommodate
    the outgoing APTPL metadata.
    
    Reported-by: Martin Svec <martin.svec@zoner.cz>
    Cc: stable@vger.kernel.org
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    f161d4b View commit details
    Browse the repository at this point in the history
  14. iscsi-target: Avoid IN_LOGOUT failure case for iser-target

    This patch addresses a bug reported during iser-target login/logout
    stress testing, where iscsit_take_action_for_connection_exit() is
    incorrectly invoking iscsit_close_connection() twice during IN_LOGOUT
    state, after connection shutdown has already been initiated by
    iser-target code.
    
    Here is the backtrace:
    
    BUG: unable to handle kernel NULL pointer dereference at 00000000000001f0
    IP: [<ffffffffa033d992>] iscsit_take_action_for_connection_exit+0x62/0x110 [iscsi_target_mod]
    PGD 0
    Oops: 0000 [#1] SMP
    Modules linked in: target_core_pscsi(O) target_core_file(O) target_core_iblock(O) ib_isert(O) iscsi_target_mod(O) ib_srpt(O) tcm_loop(O) tcm_fc(O) target_core_mod(O) mst_pciconf(OE) bonding mlx5_ib(O) mlx5_core libfc scsi_transport_fc netconsole configfs nfsv3 nfs_acl mlx4_ib(O) rdma_ucm(O) ib_ucm(O) rdma_cm(O) iw_cm(O) ib_uverbs(O) libiscsi_tcp libiscsi scsi_transport_iscsi mlx4_en mlx4_core ib_ipoib(O) ib_cm(O) ib_sa(O) ib_umad(O) ib_mad(O) ib_core(O) ib_addr(O) rpcsec_gss_krb5 auth_rpcgss nfsv4 nfs fscache lockd grace autofs4 sunrpc 8021q garp stp llc ipv6 dm_mirror dm_region_hash dm_log dm_multipath uinput ipmi_si ipmi_msghandler acpi_pad iTCO_wdt iTCO_vendor_support dcdbas microcode pcspkr wmi sb_edac edac_core sg lpc_ich mfd_core shpchp tg3 ptp pps_core dm_mod ext3(E) jbd(E) mbcache(E) sr_mod(E) cdrom(E) sd_mod(E) ahci(E) libahci(E) megaraid_sas(E) [last unloaded: target_core_mod]
    CPU: 2 PID: 5280 Comm: iscsi_ttx Tainted: G        W  OE  3.18.0-rc2+ #22
    Hardware name: Dell Inc. PowerEdge R720/0VWT90, BIOS 2.0.9 03/08/2013
    task: ffff8806132f9010 ti: ffff880601d6c000 task.ti: ffff880601d6c000
    RIP: 0010:[<ffffffffa033d992>] [<ffffffffa033d992>] iscsit_take_action_for_connection_exit+0x62/0x110 [iscsi_target_mod]
    RSP: 0018:ffff880601d6fe18  EFLAGS: 00010296
    RAX: 0000000000000000 RBX: ffff8805dc437800 RCX: 0000000000000006
    RDX: 0000000000000000 RSI: 0000000000000200 RDI: ffffffffa033d98b
    RBP: ffff880601d6fe28 R08: 0000000000000000 R09: 000000000000dd37
    R10: 00000000ec5d4202 R11: 0000000000000001 R12: ffff8805dc437bf4
    R13: ffff88061b831600 R14: ffff880601d6fe58 R15: ffff8806132f9010
    FS:  0000000000000000(0000) GS:ffff88032fa20000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00000000000001f0 CR3: 0000000001a14000 CR4: 00000000000407e0
    Stack:
    ffff8805dc437800 fffffffffffffe00 ffff880601d6feb8 ffffffffa034ed40
    ffff8806132f9010 ffff880601d6fe70 0f00000000000000 ffff8805d51fbef0
    0000000000000000 ffff8806132f9010 ffffffff8108e7f0 ffff880601d6fe70
    Call Trace:
    [<ffffffffa034ed40>] iscsi_target_tx_thread+0x160/0x220 [iscsi_target_mod]
    [<ffffffff8108e7f0>] ? bit_waitqueue+0xb0/0xb0
    [<ffffffffa034ebe0>] ? iscsit_handle_snack+0x190/0x190 [iscsi_target_mod]
    [<ffffffff8107017e>] kthread+0xce/0xf0
    [<ffffffff810700b0>] ? kthread_freezable_should_stop+0x70/0x70
    [<ffffffff815a0b6c>] ret_from_fork+0x7c/0xb0
    [<ffffffff810700b0>] ? kthread_freezable_should_stop+0x70/0x70
    Code: 06 0f 84 82 00 00 00 3c 08 74 4e f6 05 39 e6 02 00 04 0f 85 9e 00 00 00 c6 43 19 08 4c 89 e7 e8 65 2a 26 e1 48 8b 83 a0 04 00 00 <48> 8b 88 f0 01 00 00 80 b9 d8 04 00 00 02 74 2e f6 05 31 e6 02
    RIP  [<ffffffffa033d992>] iscsit_take_action_for_connection_exit+0x62/0x110 [iscsi_target_mod]
    RSP <ffff880601d6fe18>
    CR2: 00000000000001f0
    ---[ end trace a0c33436cd0836b4 ]---
    
    This special case is still required by ISCSI_TCP transport during a
    iscsit_handle_logout_cmd() failure case in iscsi_target_rx_opcode(),
    but must be avoided for iser-target.
    
    Reported-by: Sagi Grimberg <sagig@mellanox.com>
    Reported-by: Slava Shwartsman <valyushash@gmail.com>
    Cc: Sagi Grimberg <sagig@mellanox.com>
    Cc: Slava Shwartsman <valyushash@gmail.com>
    Cc: stable@vger.kernel.org # 3.10+
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 12, 2015
    Configuration menu
    Copy the full SHA
    72859d9 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2015

  1. ALSA: hda - enable mute led quirk for one more hp machine.

    Otherwise, the mute led can't work at all.
    
    Tested-by: Taihsiang Ho <taihsiang.ho@canonical.com>
    Cc: <stable@vger.kernel.org>
    BugLink: https://bugs.launchpad.net/bugs/1410704
    Signed-off-by: Hui Wang <hui.wang@canonical.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    jason77-wang authored and tiwai committed Feb 13, 2015
    Configuration menu
    Copy the full SHA
    7976eb4 View commit details
    Browse the repository at this point in the history
  2. x86/efi: Avoid triple faults during EFI mixed mode calls

    Andy pointed out that if an NMI or MCE is received while we're in the
    middle of an EFI mixed mode call a triple fault will occur. This can
    happen, for example, when issuing an EFI mixed mode call while running
    perf.
    
    The reason for the triple fault is that we execute the mixed mode call
    in 32-bit mode with paging disabled but with 64-bit kernel IDT handlers
    installed throughout the call.
    
    At Andy's suggestion, stop playing the games we currently do at runtime,
    such as disabling paging and installing a 32-bit GDT for __KERNEL_CS. We
    can simply switch to the __KERNEL32_CS descriptor before invoking
    firmware services, and run in compatibility mode. This way, if an
    NMI/MCE does occur the kernel IDT handler will execute correctly, since
    it'll jump to __KERNEL_CS automatically.
    
    However, this change is only possible post-ExitBootServices(). Before
    then the firmware "owns" the machine and expects for its 32-bit IDT
    handlers to be left intact to service interrupts, etc.
    
    So, we now need to distinguish between early boot and runtime
    invocations of EFI services. During early boot, we need to restore the
    GDT that the firmware expects to be present. We can only jump to the
    __KERNEL32_CS code segment for mixed mode calls after ExitBootServices()
    has been invoked.
    
    A liberal sprinkling of comments in the thunking code should make the
    differences in early and late environments more apparent.
    
    Reported-by: Andy Lutomirski <luto@amacapital.net>
    Tested-by: Borislav Petkov <bp@suse.de>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    Matt Fleming committed Feb 13, 2015
    Configuration menu
    Copy the full SHA
    96738c6 View commit details
    Browse the repository at this point in the history
  3. ALSA: hdspm - Constrain periods to 2 on older cards

    RME RayDAT and AIO use a fixed buffer size of 16384 samples. With period
    sizes of 32-4096, this translates to 4-512 periods.
    
    The older RME cards have a variable buffer size but require exactly two
    periods.
    
    This patch enforces nperiods=2 on those cards.
    
    Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
    Cc: <stable@vger.kernel.org> # 2.6.39+
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    adiknoth authored and tiwai committed Feb 13, 2015
    Configuration menu
    Copy the full SHA
    f0153c3 View commit details
    Browse the repository at this point in the history
  4. RDMA/cxgb4: Serialize CQ event upcalls with CQ destruction

    A race exists where the application can be destroying the CQ concurrently
    with a HW interrupt indicating a completion has been inserted into the CQ.
    This can cause an event notification upcall to the application after the
    CQ has been destroyed.
    
    The solution is to serialize looking up the CQ in the IDR table and
    referencing the CQ in c4iw_ev_handler() with removing the CQID from the
    IDR table and blocking until the refcnt reaches 0 in c4iw_destroy_cq().
    
    Signed-off-by: Steve Wise <swise@opengridcomputing.com>
    Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Hariprasad S authored and rolandd committed Feb 13, 2015
    Configuration menu
    Copy the full SHA
    c62e689 View commit details
    Browse the repository at this point in the history
  5. IB/ipath: Remove unused function in ipath_wc_ppc64

    Remove the function ipath_unordered_wc() that is not used anywhere.
    
    This was partially found by using a static code analysis program called cppcheck.
    
    Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
    Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Rickard Strandqvist authored and rolandd committed Feb 13, 2015
    Configuration menu
    Copy the full SHA
    d652222 View commit details
    Browse the repository at this point in the history
  6. IB/iser: Use correct dma direction when unmapping SGs

    We always unmap SGs with the same direction instead of unmapping
    with the direction the mapping was done, fix that.
    
    Fixes: 9a8b08f ("IB/iser: Generalize iser_unmap_task_data and [...]")
    Signed-off-by: Roi Dayan <roid@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    roidayan authored and rolandd committed Feb 13, 2015
    Configuration menu
    Copy the full SHA
    c6c95ef View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2015

  1. dm space map disk: fix sm_disk_count_is_more_than_one()

    dm_tm_shadow_block() is the only caller of
    dm_sm_count_is_more_than_one() which only ever operates on a metadata
    space-map.  So in practice, sm_disk_count_is_more_than_one() isn't
    actually used (which explains why this bug never amounted to anything).
    
    But fix sm_disk_count_is_more_than_one() to properly set *result and
    return 0.
    
    Reported-by: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    snitm committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    145b900 View commit details
    Browse the repository at this point in the history
  2. dm mirror: do not degrade the mirror on discard error

    It may be possible that a device claims discard support but it rejects
    discards with -EOPNOTSUPP.  It happens when using loopback on ext2/ext3
    filesystem driven by the ext4 driver.  It may also happen if the
    underlying devices are moved from one disk on another.
    
    If discard error happens, we reject the bio with -EOPNOTSUPP, but we do
    not degrade the array.
    
    This patch fixes failed test shell/lvconvert-repair-transient.sh in the
    lvm2 testsuite if the testsuite is extracted on an ext2 or ext3
    filesystem and it is being driven by the ext4 driver.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Cc: stable@vger.kernel.org
    Mikulas Patocka authored and snitm committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    f2ed51a View commit details
    Browse the repository at this point in the history
  3. dm io: reject unsupported DISCARD requests with EOPNOTSUPP

    I created a dm-raid1 device backed by a device that supports DISCARD
    and another device that does NOT support DISCARD with the following
    dm configuration:
    
     #  echo '0 2048 mirror core 1 512 2 /dev/sda 0 /dev/sdb 0' | dmsetup create moo
     # lsblk -D
     NAME         DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
     sda                 0        4K       1G         0
     `-moo (dm-0)        0        4K       1G         0
     sdb                 0        0B       0B         0
     `-moo (dm-0)        0        4K       1G         0
    
    Notice that the mirror device /dev/mapper/moo advertises DISCARD
    support even though one of the mirror halves doesn't.
    
    If I issue a DISCARD request (via fstrim, mount -o discard, or ioctl
    BLKDISCARD) through the mirror, kmirrord gets stuck in an infinite
    loop in do_region() when it tries to issue a DISCARD request to sdb.
    The problem is that when we call do_region() against sdb, num_sectors
    is set to zero because q->limits.max_discard_sectors is zero.
    Therefore, "remaining" never decreases and the loop never terminates.
    
    To fix this: before entering the loop, check for the combination of
    REQ_DISCARD and no discard and return -EOPNOTSUPP to avoid hanging up
    the mirror device.
    
    This bug was found by the unfortunate coincidence of pvmove and a
    discard operation in the RHEL 6.5 kernel; upstream is also affected.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Acked-by: "Martin K. Petersen" <martin.petersen@oracle.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Cc: stable@vger.kernel.org
    djwong authored and snitm committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    37527b8 View commit details
    Browse the repository at this point in the history
  4. target: Add missing WRITE_SAME end-of-device sanity check

    This patch adds a check to sbc_setup_write_same() to verify
    the incoming WRITE_SAME LBA + number of blocks does not exceed
    past the end-of-device.
    
    Also check for potential LBA wrap-around as well.
    
    Reported-by: Bart Van Assche <bart.vanassche@sandisk.com>
    Cc: Martin Petersen <martin.petersen@oracle.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: stable@vger.kernel.org # 3.8+
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    8e575c5 View commit details
    Browse the repository at this point in the history
  5. target: Check for LBA + sectors wrap-around in sbc_parse_cdb

    This patch adds a check to sbc_parse_cdb() in order to detect when
    an LBA + sector vs. end-of-device calculation wraps when the LBA is
    sufficently large enough (eg: 0xFFFFFFFFFFFFFFFF).
    
    Cc: Martin Petersen <martin.petersen@oracle.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: stable@vger.kernel.org
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    aa17993 View commit details
    Browse the repository at this point in the history
  6. target: Fail I/O with PROTECT bit when protection is unsupported

    This patch adds an explicit check for WRPROTECT + RDPROTECT bit usage
    within sbc_check_prot(), and fails with TCM_INVALID_CDB_FIELD if the
    backend device does not have protection enabled.
    
    Also, update sbc_check_prot() to return sense_reason_t in order to
    propigate up the correct sense ASQ.
    
    Cc: Martin Petersen <martin.petersen@oracle.com>
    Cc: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    f7b7c06 View commit details
    Browse the repository at this point in the history
  7. target: Perform PROTECT sanity checks for WRITE_SAME

    This patch adds a call to sbc_check_prot() within sbc_setup_write_same()
    code to perform the various protection releated sanity checks, including
    failing if WRPROTECT or RDPROTECT is set for a backend device that has
    not advertised support for T10-PI.
    
    Also, since WRITE_SAME + T10-PI is currently not supported by IBLOCK +
    FILEIO backends, go ahead and fail if ->execute_write_same() is invoked
    with a non zero cmd->prot_op.
    
    Cc: Martin Petersen <martin.petersen@oracle.com>
    Cc: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    afd73f1 View commit details
    Browse the repository at this point in the history
  8. target: Add sanity checks for DPO/FUA bit usage

    This patch adds a sbc_check_dpofua() function that performs sanity
    checks for DPO/FUA command bits.
    
    It introduces checks to fail when either bit is set, but the backend
    device is not advertising support for them.
    
    It also moves the existing cmd->se_cmd_flags |= SCF_FUA assignement
    into the new helper function.
    
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    fde9f50 View commit details
    Browse the repository at this point in the history
  9. target: Fail WRITE_SAME w/ UNMAP=1 when emulate_tpws=0

    This patch adds a check within sbc_setup_write_same() to fail a
    WRITE_SAME w/ UNMAP=1 op, if the backend device has emulate_tpws
    disabled.
    
    Cc: Martin Petersen <martin.petersen@oracle.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    d0a9129 View commit details
    Browse the repository at this point in the history
  10. target: Fail UNMAP when emulate_tpu=0

    This patch adds a check within sbc_parse_cdb() to fail a UNMAP op,
    if the backend device has emulate_tpu disabled.
    
    Cc: Martin Petersen <martin.petersen@oracle.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    61fdb4a View commit details
    Browse the repository at this point in the history
  11. target: Set LBPWS10 bit in Logical Block Provisioning EVPD

    This patch sets the missing LBPWS10 bit within spc_emulate_evpd_b2()
    in order to signal WRITE_SAME (10) w/ UNMAP support, following the
    existing LBPWS bit to signal WRITE_SAME (16) w/ UNMAP support.
    
    Cc: Martin Petersen <martin.petersen@oracle.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    nablio3000 committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    aa04dae View commit details
    Browse the repository at this point in the history
  12. ALSA: hda/tegra check correct return value from ioremap_resource

    Signed-off-by: Eliot Blennerhassett <eliot@blennerhassett.gen.nz>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    eliotb authored and tiwai committed Feb 14, 2015
    Configuration menu
    Copy the full SHA
    93ceaa3 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2015

  1. Input: ALPS - renumber protocol numbers

    In order to accommodate new protocol number for Rushmore touchpads
    let's shift protocol numbers by 8 bits (i.e. 1 -> 0x100) - this way
    we keep protocol version reported in input device id the same as it
    was, but add some holes in numbering.
    
    Tested-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 15, 2015
    Configuration menu
    Copy the full SHA
    d7c13d3 View commit details
    Browse the repository at this point in the history
  2. Input: ALPS - make Rushmore a separate protocol

    Even though Rushmore is very close to V3 protocol it is sufficiently
    different to warrant it's own protocol name.
    
    Tested-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 15, 2015
    Configuration menu
    Copy the full SHA
    fb2dd7a View commit details
    Browse the repository at this point in the history
  3. Input: ALPS - split protocol data from model info

    In preparation of reworking the way we set protocol parameters let's
    split certain protocol items from alps_model_info into a separate
    structure.
    
    Tested-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 15, 2015
    Configuration menu
    Copy the full SHA
    8326bb5 View commit details
    Browse the repository at this point in the history
  4. Input: ALPS - consolidate setting protocol parameters

    Move setting of all protocol properties into alps_set_protocol (former
    alps_set_defaults) instead of having it split between several functions.
    
    Tested-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 15, 2015
    Configuration menu
    Copy the full SHA
    3296f71 View commit details
    Browse the repository at this point in the history
  5. Input: ALPS - fix trackstick detection on some Dell Latitudes

    On some Dell Latitudes we fail to identify presence of trackstick unless we
    reset the device. The issue is quite benign as we do perform reset in
    alps_init(), so the trackstick ends up working, but mouse name reported to
    userspace is not accurate.
    
    In order to fix the issue while avoiding the additional lengthy reset we
    move the resrt to alps_detect() and keep the discovered state to be used
    later in alps_init().
    
    Reported-by: Pali Rohár <pali.rohar@gmail.com>
    Tested-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 15, 2015
    Configuration menu
    Copy the full SHA
    a09221e View commit details
    Browse the repository at this point in the history
  6. Input: ALPS - do not mix trackstick and external PS/2 mouse data

    Previously dev2 device was used for both external PS/2 mouse and internal
    trackstick device (if available). This change introduces dev3 device which
    is used for external PS/2 mouse data and dev2 is now used only for
    trackstick.
    
    In case that trackstick is not present dev2 is not created, so userspace
    does not see non existent device in system.
    
    Because laptops with ALPS devices often do not use i8042 active
    multiplexing all data (from touchpad, trackstick and external PS/2 mouse)
    come to one port.  So it is not possible to know if external PS/2 mouse is
    connected or not. In most cases external PS/2 mouse is not connected so
    driver will create dev3 input device after first bare PS/2 packet will be
    received. So there will not be "ghost" input device.
    
    This change also helps in identifying possible problems in future if driver
    decides to report 6-bytes trackstick packets as 3-bytes bare PS/2 (data
    will be reported to dev3 instead dev2).
    
    Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    pali authored and dtor committed Feb 15, 2015
    Configuration menu
    Copy the full SHA
    04aae28 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2015

  1. Input: ALPS - fix confusing comment in protocol data

    The comment about suspicions entry 0x20, 0x02, 0x0e has over time drifted
    away and it become hard to figure out what it meant. Let's move it back so
    it is clear.
    
    Reported-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    626b9da View commit details
    Browse the repository at this point in the history
  2. Input: ALPS - move v7 packet info to Documentation and v6 packet info

    This patch move all packet info from driver source code to documentation
    and adds info about v6 packet format (from driver source code).
    
    Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    pali authored and dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    ef47fa5 View commit details
    Browse the repository at this point in the history
  3. Input: bfin_rotary - fix potential oops in interrupt handler

    The interrupt handler in the driver tries to fetch driver data from
    platform device, unfortunately it is only set up after interrupt handler
    is registered. Since interrupt handler does not really need to access
    the platform device itself let's change it to get the driver data
    instance instead.
    
    Acked-by: Sonic Zhang <sonic.zhang@analog.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    7694f44 View commit details
    Browse the repository at this point in the history
  4. Input: bfin_rotary - mark suspend and resume code as __maybe_unused

    Instead of using #ifdef to guard potentially unused suspend and resume code
    let's mark them as __maybe_unused so they still get discarded if they are
    not used but we do not get warning. This allows for better compile coverage.
    
    Acked-by: Sonic Zhang <sonic.zhang@analog.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    5ec662e View commit details
    Browse the repository at this point in the history
  5. Input: bfin_rotary - move platform header to linux/platform_data

    The platform data definition of the rotary driver should be generic for all
    architectures.
    
    Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    sonicz authored and dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    1ea7401 View commit details
    Browse the repository at this point in the history
  6. Input: bfin_rotary - move pin lists into into platform data

    Newer Blackfin boards use pinctrl API to manage pins and the legacy
    peripherial lists are not useful on them. Let's move pin lists into
    platform data so older boards can still use them and newer boards can use
    the modern API.
    
    Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    sonicz authored and dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    5ea0699 View commit details
    Browse the repository at this point in the history
  7. Input: bfin_rotary - use generic IO functions

    Instead of using arch-specific accessors remap rotary register physical
    address into kernel space in probe and use standard readw and writew to
    access rotary MMRs.
    
    Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    sonicz authored and dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    71adf22 View commit details
    Browse the repository at this point in the history
  8. Input: bfin_rotary - convert to use managed resources

    Use of managed resources simplifies error handling.
    
    Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    sonicz authored and dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    f14d4df View commit details
    Browse the repository at this point in the history
  9. Input: bfin_rotary - introduce open and close methods

    Introduce open and close methods for the input device to postpone enabling
    the device until it is needed.
    
    Acked-by: Sonic Zhang <sonic.zhang@analog.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    c8af781 View commit details
    Browse the repository at this point in the history
  10. Merge branch 'bfin_rotary' into next

    Merge bfin_rotary driver changes from Sonic Zhang.
    dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    97ae2b5 View commit details
    Browse the repository at this point in the history
  11. Input: psmouse - use IS_ENABLED instead of homegrown code

    Instead of having various protocols provide <protocol>_supported()
    functions, let's use IS_ENABLED() macro that works well in "if" statements.
    
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    dtor committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    290b799 View commit details
    Browse the repository at this point in the history
  12. dm crypt: use unbound workqueue for request processing

    Use unbound workqueue by default so that work is automatically balanced
    between available CPUs.  The original behavior of encrypting using the
    same cpu that IO was submitted on can still be enabled by setting the
    optional 'same_cpu_crypt' table argument.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Mikulas Patocka authored and snitm committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    f3396c5 View commit details
    Browse the repository at this point in the history
  13. dm crypt: don't allocate pages for a partial request

    Change crypt_alloc_buffer so that it only ever allocates pages for a
    full request.  This is a prerequisite for the commit "dm crypt: offload
    writes to thread".
    
    This change simplifies the dm-crypt code at the expense of reduced
    throughput in low memory conditions (where allocation for a partial
    request is most useful).
    
    Note: the next commit ("dm crypt: avoid deadlock in mempools") is needed
    to fix a theoretical deadlock.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Mikulas Patocka authored and snitm committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    cf2f1ab View commit details
    Browse the repository at this point in the history
  14. dm crypt: avoid deadlock in mempools

    Fix a theoretical deadlock introduced in the previous commit ("dm crypt:
    don't allocate pages for a partial request").
    
    The function crypt_alloc_buffer may be called concurrently.  If we allocate
    from the mempool concurrently, there is a possibility of deadlock.  For
    example, if we have mempool of 256 pages, two processes, each wanting
    256, pages allocate from the mempool concurrently, it may deadlock in a
    situation where both processes have allocated 128 pages and the mempool
    is exhausted.
    
    To avoid such a scenario we allocate the pages under a mutex.  In order
    to not degrade performance with excessive locking, we try non-blocking
    allocations without a mutex first and if that fails, we fallback to a
    blocking allocations with a mutex.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Mikulas Patocka authored and snitm committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    7145c24 View commit details
    Browse the repository at this point in the history
  15. dm crypt: remove unused io_pool and _crypt_io_pool

    The previous commit ("dm crypt: don't allocate pages for a partial
    request") stopped using the io_pool slab mempool and backing
    _crypt_io_pool kmem cache.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Mikulas Patocka authored and snitm committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    94f5e02 View commit details
    Browse the repository at this point in the history
  16. dm crypt: offload writes to thread

    Submitting write bios directly in the encryption thread caused serious
    performance degradation.  On a multiprocessor machine, encryption requests
    finish in a different order than they were submitted.  Consequently, write
    requests would be submitted in a different order and it could cause severe
    performance degradation.
    
    Move the submission of write requests to a separate thread so that the
    requests can be sorted before submitting.  But this commit improves
    dm-crypt performance even without having dm-crypt perform request
    sorting (in particular it enables IO schedulers like CFQ to sort more
    effectively).
    
    Note: it is required that a previous commit ("dm crypt: don't allocate
    pages for a partial request") be applied before applying this patch.
    Otherwise, this commit could introduce a crash.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Mikulas Patocka authored and snitm committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    dc26762 View commit details
    Browse the repository at this point in the history
  17. dm crypt: add 'submit_from_crypt_cpus' option

    Make it possible to disable offloading writes by setting the optional
    'submit_from_crypt_cpus' table argument.
    
    There are some situations where offloading write bios from the
    encryption threads to a single thread degrades performance
    significantly.
    
    The default is to offload write bios to the same thread because it
    benefits CFQ to have writes submitted using the same IO context.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Mikulas Patocka authored and snitm committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    0f5d8e6 View commit details
    Browse the repository at this point in the history
  18. dm crypt: sort writes

    Write requests are sorted in a red-black tree structure and are
    submitted in the sorted order.
    
    In theory the sorting should be performed by the underlying disk
    scheduler, however, in practice the disk scheduler only accepts and
    sorts a finite number of requests.  To allow the sorting of all
    requests, dm-crypt needs to implement its own sorting.
    
    The overhead associated with rbtree-based sorting is considered
    negligible so it is not used conditionally.  Even on SSD sorting can be
    beneficial since in-order request dispatch promotes lower latency IO
    completion to the upper layers.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Mikulas Patocka authored and snitm committed Feb 16, 2015
    Configuration menu
    Copy the full SHA
    b3c5fd3 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2015

  1. MAINTAINERS: Update SRP initiator entry

    We have been asked to use our company e-mail address for open
    source contributions. Hence this change from a personal e-mail
    address into a company e-mail address.
    
    Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
    Cc: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Bart Van Assche authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    3453bdd View commit details
    Browse the repository at this point in the history
  2. IB/mlx4: Fix wrong usage of IPv4 protocol for multicast attach/detach

    The MLX4_PROT_IB_IPV4 protocol should only be used with RoCEv2 and such.
    Removing this wrong usage allows to run multicast applications over RoCE.
    
    Fixes: d487ee7 ("IB/mlx4: Use IBoE (RoCE) IP based GIDs in the port GID table")
    Reported-by: Carol Soto <clsoto@linux.vnet.ibm.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    ogerlitz authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    e9a7faf View commit details
    Browse the repository at this point in the history
  3. IB/qib: Do not write EEPROM

    This changeset removes all the code that allows the driver to write to
    the EEPROM and update the recorded error counters and power on hours.
    
    These two stats are unused and writing them exposes a timing risk
    which could leave the EEPROM in a bad state preventing further normal
    operation of the HCA.
    
    Cc: <stable@vger.kernel.org>
    Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    dhharala authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    18c0b82 View commit details
    Browse the repository at this point in the history
  4. IB/qib: Add support for the new QMH7360 card

    Add support to recognize another board variation named QMH7360.
    
    Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Vinit Agnihotri <vinit.abhay.agnihotri@intel.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Vinit Agnihotri authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    0e6bbba View commit details
    Browse the repository at this point in the history
  5. ALSA: usb-audio: Don't attempt to get Lifecam HD-5000 sample rate

    Adds a quirk to disable the check that the sample rate has been set correctly, as the Lifecam does not support getting the sample rate.
    
    This means that we don't need to wait for the USB timeout when attempting to get the sample rate. Waiting for the timeout causes problems in some applications, which give up on the device acquisition process before it has had time to complete, resulting in no sound.
    
    [minor tidy up by tiwai]
    
    Signed-off-by: Joe Turner <joe@oampo.co.uk>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    oampo authored and tiwai committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    b62b998 View commit details
    Browse the repository at this point in the history
  6. ASoC: Intel: add SNDRV_PCM_INFO_DRAIN_TRIGGER flag

    Add SNDRV_PCM_INFO_DRAIN_TRIGGER in snd_pcm_hardware.info to
    call sst_hsw_stream_set_silence_start() when PCM draining.
    
    Signed-off-by: Libin Yang <libin.yang@intel.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    libinyang authored and tiwai committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    9fd3781 View commit details
    Browse the repository at this point in the history
  7. i2c: designware-pci: update Intel copyright line

    While here, fix few indentations issues across the code. There is no functional
    change.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    andy-shev authored and Wolfram Sang committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    a93ac57 View commit details
    Browse the repository at this point in the history
  8. i2c: iproc: Add Broadcom iProc I2C Driver

    Add initial support to the Broadcom iProc I2C controller found in the
    iProc family of SoCs.
    
    The iProc I2C controller has separate internal TX and RX FIFOs, each has
    a size of 64 bytes. The iProc I2C controller supports two bus speeds
    including standard mode (100kHz) and fast mode (400kHz)
    
    Signed-off-by: Ray Jui <rjui@broadcom.com>
    Reviewed-by: Scott Branden <sbranden@broadcom.com>
    Reviewed-by: Kevin Cernekee <cernekee@chromium.org>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Ray Jui authored and Wolfram Sang committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    e6e5dd3 View commit details
    Browse the repository at this point in the history
  9. ACPI / EC: Remove non-standard log emphasis

    Remove unusual pr_info() visual emphasis introduced in ad479e7
    "ACPI / EC: Introduce STARTED/STOPPED flags to replace BLOCKED flag".
    
    Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
    [ rjw: Change pr_info() to pr_debug() too in those places. ]
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Scot Doyle authored and rafaeljw committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    92e4b1b View commit details
    Browse the repository at this point in the history
  10. Revert "ACPI / LPSS: Remove non-existing clock control from Intel Lyn…

    …xpoint I2C"
    
    Revert commit b893e80 ("ACPI / LPSS: Remove non-existing clock control
    from Intel Lynxpoint I2C") because it causes touchpad to not load on Dell
    XPS13.
    
    Regression is a clear indication that not only some early prototype version
    of Lynxpoint I2C but also newer versions can be doing clock gating even
    documentation does not state it.
    
    Therefore it is best to revert since this clock gating haven't caused known
    issues on those Lynxpoint version which don't do clock gating.
    
    Reported-by-and-tested-by: Chris Rorvick <chris@rorvick.com>
    Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    jhnikula authored and rafaeljw committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    f8f87c0 View commit details
    Browse the repository at this point in the history
  11. IB/mlx5: Fix error code in get_port_caps()

    The current code returns success when kmalloc() fails.  It should
    return an error code, -ENOMEM.
    
    Fixes: e126ba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Dan Carpenter authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    f614fc1 View commit details
    Browse the repository at this point in the history
  12. IB/qib: Replace rcu_assign_pointer() with RCU_INIT_POINTER() in qib_qp.c

    According to RCU_INIT_POINTER()'s block comment 3.a, it can be used if
    "1.   This use of RCU_INIT_POINTER() is NULLing out the pointer"
    it is better to use it instead of rcu_assign_pointer() because it has a
    smaller overhead.
    
    "3.   The referenced data structure has already been exposed to readers either
    at compile time or via rcu_assign_pointer() -and-
     a.   You have not made -any- reader-visible changes to this structure since
    then".
    
    These cases fulfill the conditions above because between the
    rcu_dereference_protected() call and the rcu_assign_pointer() call
    there is no update of that value.  Therefore, this patch makes the
    replacement.
    
    The following Coccinelle semantic patch was used:
    @@
    @@
    
    - rcu_assign_pointer
    + RCU_INIT_POINTER
      (...,
    (
     rtnl_dereference(...)
    |
     rcu_dereference_protected(...)
    ) )
    
    [consolidated from http://marc.info/?l=linux-rdma&m=140836578119485&w=2 and
     http://marc.info/?l=linux-rdma&m=140906361403047&w=2]
    
    Tested-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Andreea-Cristina Bernat <bernat.ada@gmail.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Andreea-Cristina Bernat authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    03c8859 View commit details
    Browse the repository at this point in the history
  13. IB/qib: Replace rcu_assign_pointer() with RCU_INIT_POINTER() in qib_k…

    …eys.c
    
    The uses of "rcu_assign_pointer()" are NULLing out the pointers.
    According to RCU_INIT_POINTER()'s block comment:
    "1.   This use of RCU_INIT_POINTER() is NULLing out the pointer"
    it is better to use it instead of rcu_assign_pointer() because it has a
    smaller overhead.
    
    The following Coccinelle semantic patch was used:
    @@
    @@
    
    - rcu_assign_pointer
    + RCU_INIT_POINTER
      (..., NULL)
    
    [Derived from http://marc.info/?l=linux-rdma&m=140836519219236&w=2]
    
    Tested-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Andreea-Cristina Bernat <bernat.ada@gmail.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Andreea-Cristina Bernat authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    590c3fe View commit details
    Browse the repository at this point in the history
  14. IB/qib: Fix sizeof checkpatch warnings

    Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    mmarcini authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    041af0b View commit details
    Browse the repository at this point in the history
  15. IB/iser: Fix memory regions possible leak

    When teardown process starts during live IO, we need to keep the
    memory regions pool (frmr/fmr) until all in-flight tasks are properly
    released, since each task may return a memory region to the pool. In
    order to do this, we pass a destroy flag to iser_free_ib_conn_res to
    indicate we can destroy the device and the memory regions
    pool. iser_conn_release will pass it as true and also DEVICE_REMOVAL
    event (we need to let the device to properly remove).
    
    Also, Since we conditionally call iser_free_rx_descriptors,
    remove the extra check on iser_conn->rx_descs.
    
    Fixes: 5426b17 ("IB/iser: Collapse cleanup and disconnect handlers")
    Reported-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Sagi Grimberg authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    6606e6a View commit details
    Browse the repository at this point in the history
  16. IB/iser: Release the iscsi endpoint if ep_disconnect wasn't called

    In some cases, we might reach the iser connection termination without
    ep_disconnect being invoked (for example if user-space daemon doesn't
    exists. In this case, we need to free the iscsi endpoint when we
    remove the iser connection.
    
    Signed-off-by: Ariel Nahum <arieln@mellanox.com>
    Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Ariel Nahum authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    9a3119e View commit details
    Browse the repository at this point in the history
  17. IB/core: When marshaling ucma path from user-space, clear unused fields

    When marshaling a user path to the kernel struct ib_sa_path, we need
    to zero smac and dmac and set the vlan id to the "no vlan" value.
    
    This is to ensure that Ethernet attributes are not used with
    InfiniBand QPs.
    
    Fixes: dd5f03b ("IB/core: Ethernet L2 attributes in verbs/cm structures")
    Signed-off-by: Ilya Nelkenbaum <ilyan@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Ilya Nelkenbaum authored and rolandd committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    c2be9dc View commit details
    Browse the repository at this point in the history
  18. ALSA: usb: Fix support for Denon DA-300USB DAC (ID 154e:1003)

    Fix problem where playback of Denon DA-300USB DAC sometimes does not
    start and leads to error messages like "clock source 41 is not valid,
    cannot use".
    
    Solution: Treat this device the same as other Denon/Marantz devices in
    sound/usb/quirks.c.
    
    Tested with both PCM and DSD formats.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93261
    Signed-off-by: Frank C Guenther <bugzilla.frnkcg@spamgourmet.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Frank C Guenther authored and tiwai committed Feb 17, 2015
    Configuration menu
    Copy the full SHA
    3cd1ce0 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2015

  1. cpuidle: powernv: Read target_residency value of idle states from DT …

    …if available
    
    The device tree now exposes the residency values for different idle states. Read
    these values instead of calculating residency from the latency values. The values
    exposed in the DT are validated for optimal power efficiency. However to maintain
    compatibility with the older firmware code which does not expose residency
    values, use default values as a fallback mechanism. While at it, use better
    APIs to parse the powermgmt device tree node.
    
    Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
    Acked-by: Stewart Smith <stewart@linux.vnet.ibm.com>
    Acked-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Preeti U Murthy authored and rafaeljw committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    92c83ff View commit details
    Browse the repository at this point in the history
  2. ACPI / video: Disable native backlight on Samsung Series 9 laptops

    Add video_disable_native_backlight quirk for SAMSUNG 900X3C/900X3D/
    900X3E/900X4C/900X4D laptops.
    
    The native intel backlight controls do not work correctly on SAMSUNG
    Series 9 (900X3C/900X3D/900X3E/900X4C/900X4D) laptops:
    One machine has an completely dimmed (= black) display after boot at the
    GDM login screen and brightness controls work only between 0 and 5%
    (= no effect).
    Another machine has the same brightness control issues if an external
    HDMI monitor is or gets connected, although the initial brightness is
    ok.
    After login to Gnome both machines always work fine.
    
    Tested on both machines.
    
    Link: https://bugs.freedesktop.org/show_bug.cgi?id=87286
    Link: https://bugs.debian.org/772440
    Signed-off-by: Jens Reyer <jens.reyer@gmail.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Jens Reyer authored and rafaeljw committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    3120d03 View commit details
    Browse the repository at this point in the history
  3. IB/core: Fix deadlock on uverbs modify_qp error flow

    The deadlock occurs in __uverbs_modify_qp: we take a lock (idr_read_qp)
    and in case of failure in ib_resolve_eth_l2_attrs we don't release
    it (put_qp_read).  Fix that.
    
    Fixes: ed4c54e ("IB/core: Resolve Ethernet L2 addresses when modifying QP")
    Signed-off-by: Moshe Lazer <moshel@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    moshelazer authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    0fb8bcf View commit details
    Browse the repository at this point in the history
  4. IB/mlx4: Fix memory leak in __mlx4_ib_modify_qp

    In case handle_eth_ud_smac_index fails, we need to free the allocated resources.
    
    Fixes: 2f5bb47 ("mlx4: Add ref counting to port MAC table for RoCE")
    Signed-off-by: Majd Dibbiny <majd@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    majdmellanox authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    bede98e View commit details
    Browse the repository at this point in the history
  5. IB/mlx4: Bug fixes in mlx4_ib_resize_cq

    1. Before the entries alignment, we need to check that the entries
    doesn't exceed the device's max cqe.
    
    2. After the alignment, we need to make sure that the aligned number
    doesn't exceed the max cqes+1. The additional cqe is used to denote
    that the resizing operation has completed.
    
    3. If the users asks to resize the CQ with entries less than the
    oustanding cqes we should fail instead of returning 0.
    
    Signed-off-by: Majd Dibbiny <majd@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    majdmellanox authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    8ab9406 View commit details
    Browse the repository at this point in the history
  6. IB/mlx4: In mlx4_ib_demux_cm, print out GUID in host-endian order

    If a GUID is not found, the 64-bit GUID printed in the message log
    warning should converted to host-endian order for printing.
    
    Found by Doug Ledford and Hal Rosenstock. Fix suggested by Hal.
    
    Signed-off-by: Hal Rosenstock <hal@dev.mellanox.co.il>
    Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Jack Morgenstein authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    98e8be8 View commit details
    Browse the repository at this point in the history
  7. IB/mlx5: Update the dev in reg_create

    When we create an MR using reg_create, the mlx5_ib_dev pointer is not
    updated on the new MR. This results in a kernel panics for ODP MRs
    while handling page faults, when the mlx5_ib_update_mtt function uses
    the invalid device pointer.
    
    Signed-off-by: Majd Dibbiny <majd@mellanox.com>
    Signed-off-by: Haggai Eran <haggaie@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    majdmellanox authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    7eae20d View commit details
    Browse the repository at this point in the history
  8. IB/core: Properly handle registration of on-demand paging MRs after d…

    …ereg
    
    When the last on-demand paging MR is released the notifier count is
    left non-zero so that concurrent page faults will have to abort. If a
    new MR is then registered, the counter is reset. However, the decision
    is made to put the new MR in the list waiting for the notifier count
    to reach zero, before the counter is reset. An invalidation or another
    MR registration can release the MR to handle page faults, but without
    such an event the MR can wait forever.
    
    The patch fixes this issue by adding a check whether the MR is the
    first on-demand paging MR when deciding whether it is ready to handle
    page faults. If it is the first MR, we know that there are no mmu
    notifiers running in parallel to the registration.
    
    Fixes: 882214e ("IB/core: Implement support for MMU notifiers regarding on demand paging regions")
    Signed-off-by: Haggai Eran <haggaie@mellanox.com>
    Signed-off-by: Shachar Raindel <raindel@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    haggaie authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    4fc701e View commit details
    Browse the repository at this point in the history
  9. ACPI / resources: Change pr_info() to pr_debug() for debug information

    Annoying and noisy ACPI debug messages are printed with pr_info()
    after the recent ACPI resources handling rework.  Replace the
    pr_info() with pr_debug() to reduce to noise level.
    
    Reported-by: Borislav Petkov <bp@alien8.de>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    rafaeljw committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    6a239af View commit details
    Browse the repository at this point in the history
  10. locking/rtmutex: Avoid a NULL pointer dereference on deadlock

    With task_blocks_on_rt_mutex() returning early -EDEADLK we never
    add the waiter to the waitqueue. Later, we try to remove it via
    remove_waiter() and go boom in rt_mutex_top_waiter() because
    rb_entry() gives a NULL pointer.
    
    ( Tested on v3.18-RT where rtmutex is used for regular mutex and I
      tried to get one twice in a row. )
    
    Not sure when this started but I guess 397335f ("rtmutex: Fix
    deadlock detector for real") or commit 3d5c934 ("rtmutex:
    Handle deadlock detection smarter").
    
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Acked-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: <stable@vger.kernel.org> # for v3.16 and later kernels
    Link: http://lkml.kernel.org/r/1424187823-19600-1-git-send-email-bigeasy@linutronix.de
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Sebastian Andrzej Siewior authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    8d1e5a1 View commit details
    Browse the repository at this point in the history
  11. Revert "efi/libstub: Call get_memory_map() to obtain map and desc sizes"

    This reverts commit d1a8d66.
    
    Ard reported a boot failure when running UEFI under Qemu and Xen and
    experimenting with various Tianocore build options,
    
     "As it turns out, when allocating room for the UEFI memory map using
      UEFI's AllocatePool (), it may result in two new memory map entries
      being created, for instance, when using Tianocore's preallocated region
      feature. For example, the following region
    
      0x00005ead5000-0x00005ebfffff [Conventional Memory|   |  |  |  |  |WB|WT|WC|UC]
    
      may be split like this
    
      0x00005ead5000-0x00005eae2fff [Conventional Memory|   |  |  |  |  |WB|WT|WC|UC]
      0x00005eae3000-0x00005eae4fff [Loader Data        |   |  |  |  |  |WB|WT|WC|UC]
      0x00005eae5000-0x00005ebfffff [Conventional Memory|   |  |  |  |  |WB|WT|WC|UC]
    
      if the preallocated Loader Data region was chosen to be right in the
      middle of the original free space.
    
      After patch d1a8d66 ("efi/libstub: Call get_memory_map() to
      obtain map and desc sizes"), this is not being dealt with correctly
      anymore, as the existing logic to allocate room for a single additional
      entry has become insufficient."
    
    Mark requested to reinstate the old loop we had before commit
    d1a8d66, which grows the memory map buffer until it's big enough to
    hold the EFI memory map.
    
    Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Acked-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    Matt Fleming committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    43a9f69 View commit details
    Browse the repository at this point in the history
  12. sched: Clarify ordering between task_rq_lock() and move_queued_task()

    There was a wee bit of confusion around the exact ordering here;
    clarify things.
    
    Reported-by: Kirill Tkhai <ktkhai@parallels.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/20150217121258.GM5029@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Peter Zijlstra authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    74b8a4c View commit details
    Browse the repository at this point in the history
  13. sched: Make dl_task_time() use task_rq_lock()

    Kirill reported that a dl task can be throttled and dequeued at the
    same time. This happens, when it becomes throttled in schedule(),
    which is called to go to sleep:
    
    current->state = TASK_INTERRUPTIBLE;
    schedule()
        deactivate_task()
            dequeue_task_dl()
                update_curr_dl()
                    start_dl_timer()
                __dequeue_task_dl()
        prev->on_rq = 0;
    
    This invalidates the assumption from commit 0f397f2 ("sched/dl:
    Fix race in dl_task_timer()"):
    
      "The only reason we don't strictly need ->pi_lock now is because
       we're guaranteed to have p->state == TASK_RUNNING here and are
       thus free of ttwu races".
    
    And therefore we have to use the full task_rq_lock() here.
    
    This further amends the fact that we forgot to update the rq lock loop
    for TASK_ON_RQ_MIGRATE, from commit cca26e8 ("sched: Teach
    scheduler to understand TASK_ON_RQ_MIGRATING state").
    
    Reported-by: Kirill Tkhai <ktkhai@parallels.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Juri Lelli <juri.lelli@arm.com>
    Link: http://lkml.kernel.org/r/20150217123139.GN5029@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Peter Zijlstra authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    3960c8c View commit details
    Browse the repository at this point in the history
  14. sched/dl: Prevent enqueue of a sleeping task in dl_task_timer()

    A deadline task may be throttled and dequeued at the same time.
    This happens, when it becomes throttled in schedule(), which
    is called to go to sleep:
    
    current->state = TASK_INTERRUPTIBLE;
    schedule()
        deactivate_task()
            dequeue_task_dl()
                update_curr_dl()
                    start_dl_timer()
                __dequeue_task_dl()
        prev->on_rq = 0;
    
    Later the timer fires, but the task is still dequeued:
    
    dl_task_timer()
        enqueue_task_dl() /* queues on dl_rq; on_rq remains 0 */
    
    Someone wakes it up:
    
    try_to_wake_up()
    
        enqueue_dl_entity()
            BUG_ON(on_dl_rq())
    
    Patch fixes this problem, it prevents queueing !on_rq tasks
    on dl_rq.
    
    Reported-by: Fengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: Kirill Tkhai <ktkhai@parallels.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    [ Wrote comment. ]
    Cc: Juri Lelli <juri.lelli@arm.com>
    Fixes: 1019a35 ("sched/deadline: Fix stale yield state")
    Link: http://lkml.kernel.org/r/1374601424090314@web4j.yandex.ru
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    tkhai authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    a79ec89 View commit details
    Browse the repository at this point in the history
  15. sched: Fix preempt_schedule_common() triggering tracing recursion

    Since the function graph tracer needs to disable preemption, it might
    call preempt_schedule() after reenabling  it if something triggered the
    need for rescheduling in between.
    
    Therefore we can't trace preempt_schedule() itself because we would
    face a function tracing recursion otherwise as the tracer is always
    called before PREEMPT_ACTIVE gets set to prevent that recursion. This is
    why preempt_schedule() is tagged as "notrace".
    
    But the same issue applies to every function called by preempt_schedule()
    before PREEMPT_ACTIVE is actually set. And preempt_schedule_common() is
    one such example. Unfortunately we forgot to tag it as notrace as well
    and as a result we are encountering tracing recursion since it got
    introduced by:
    
       a18b5d0 ("sched: Fix missing preemption opportunity")
    
    Let's fix that by applying the appropriate function tag to
    preempt_schedule_common().
    
    Reported-by: Huang Ying <ying.huang@intel.com>
    Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Steven Rostedt <rostedt@goodmis.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/1424110807-15057-1-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    fweisbec authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    06b1f80 View commit details
    Browse the repository at this point in the history
  16. sched/completion: Serialize completion_done() with complete()

    Commit de30ec4 "Remove unnecessary ->wait.lock serialization when
    reading completion state" was not correct, without lock/unlock the code
    like stop_machine_from_inactive_cpu()
    
    	while (!completion_done())
    		cpu_relax();
    
    can return before complete() finishes its spin_unlock() which writes to
    this memory. And spin_unlock_wait().
    
    While at it, change try_wait_for_completion() to use READ_ONCE().
    
    Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reported-by: Davidlohr Bueso <dave@stgolabs.net>
    Tested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    [ Added a comment with the barrier. ]
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Nicholas Mc Guire <der.herr@hofr.at>
    Cc: raghavendra.kt@linux.vnet.ibm.com
    Cc: waiman.long@hp.com
    Fixes: de30ec4 ("sched/completion: Remove unnecessary ->wait.lock serialization when reading completion state")
    Link: http://lkml.kernel.org/r/20150212195913.GA30430@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    oleg-nesterov authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    bc95601 View commit details
    Browse the repository at this point in the history
  17. sched: Prevent recursion in io_schedule()

    io_schedule() calls blk_flush_plug() which, depending on the
    contents of current->plug, can initiate arbitrary blk-io requests.
    
    Note that this contrasts with blk_schedule_flush_plug() which requires
    all non-trivial work to be handed off to a separate thread.
    
    This makes it possible for io_schedule() to recurse, and initiating
    block requests could possibly call mempool_alloc() which, in times of
    memory pressure, uses io_schedule().
    
    Apart from any stack usage issues, io_schedule() will not behave
    correctly when called recursively as delayacct_blkio_start() does
    not allow for repeated calls.
    
    So:
     - use ->in_iowait to detect recursion.  Set it earlier, and restore
       it to the old value.
     - move the call to "raw_rq" after the call to blk_flush_plug().
       As this is some sort of per-cpu thing, we want some chance that
       we are on the right CPU
     - When io_schedule() is called recurively, use blk_schedule_flush_plug()
       which cannot further recurse.
     - as this makes io_schedule() a lot more complex and as io_schedule()
       must match io_schedule_timeout(), but all the changes in io_schedule_timeout()
       and make io_schedule a simple wrapper for that.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    [ Moved the now rudimentary io_schedule() into sched.h. ]
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Tony Battersby <tonyb@cybernetics.com>
    Link: http://lkml.kernel.org/r/20150213162600.059fffb2@notabene.brown
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    neilbrown authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    9cff8ad View commit details
    Browse the repository at this point in the history
  18. Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/mfleming/efi into x86/urgent
    
    Pull EFI fixes from Matt Fleming:
    
    " - Leave a valid 64-bit IDT installed during runtime EFI mixed mode
        calls to avoid triple faults if an NMI/MCE is received.
    
      - Revert Ard's change to the libstub get_memory_map() that went into
        the v3.20 merge window because it causes boot regressions on Qemu and
        Xen. "
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    829bf7a View commit details
    Browse the repository at this point in the history
  19. ntp: Fixup adjtimex freq validation on 32-bit systems

    Additional validation of adjtimex freq values to avoid
    potential multiplication overflows were added in commit
    5e5aeb4 (time: adjtimex: Validate the ADJ_FREQUENCY values)
    
    Unfortunately the patch used LONG_MAX/MIN instead of
    LLONG_MAX/MIN, which was fine on 64-bit systems, but being
    much smaller on 32-bit systems caused false positives
    resulting in most direct frequency adjustments to fail w/
    EINVAL.
    
    ntpd only does direct frequency adjustments at startup, so
    the issue was not as easily observed there, but other time
    sync applications like ptpd and chrony were more effected by
    the bug.
    
    See bugs:
    
      https://bugzilla.kernel.org/show_bug.cgi?id=92481
      https://bugzilla.redhat.com/show_bug.cgi?id=1188074
    
    This patch changes the checks to use LLONG_MAX for
    clarity, and additionally the checks are disabled
    on 32-bit systems since LLONG_MAX/PPM_SCALE is always
    larger then the 32-bit long freq value, so multiplication
    overflows aren't possible there.
    
    Reported-by: Josh Boyer <jwboyer@fedoraproject.org>
    Reported-by: George Joseph <george.joseph@fairview5.com>
    Tested-by: George Joseph <george.joseph@fairview5.com>
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: <stable@vger.kernel.org> # v3.19+
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Sasha Levin <sasha.levin@oracle.com>
    Link: http://lkml.kernel.org/r/1423553436-29747-1-git-send-email-john.stultz@linaro.org
    [ Prettified the changelog and the comments a bit. ]
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    johnstultz-work authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    29183a7 View commit details
    Browse the repository at this point in the history
  20. x86/spinlocks/paravirt: Fix memory corruption on unlock

    Paravirt spinlock clears slowpath flag after doing unlock.
    As explained by Linus currently it does:
    
                    prev = *lock;
                    add_smp(&lock->tickets.head, TICKET_LOCK_INC);
    
                    /* add_smp() is a full mb() */
    
                    if (unlikely(lock->tickets.tail & TICKET_SLOWPATH_FLAG))
                            __ticket_unlock_slowpath(lock, prev);
    
    which is *exactly* the kind of things you cannot do with spinlocks,
    because after you've done the "add_smp()" and released the spinlock
    for the fast-path, you can't access the spinlock any more.  Exactly
    because a fast-path lock might come in, and release the whole data
    structure.
    
    Linus suggested that we should not do any writes to lock after unlock(),
    and we can move slowpath clearing to fastpath lock.
    
    So this patch implements the fix with:
    
     1. Moving slowpath flag to head (Oleg):
        Unlocked locks don't care about the slowpath flag; therefore we can keep
        it set after the last unlock, and clear it again on the first (try)lock.
        -- this removes the write after unlock. note that keeping slowpath flag would
        result in unnecessary kicks.
        By moving the slowpath flag from the tail to the head ticket we also avoid
        the need to access both the head and tail tickets on unlock.
    
     2. use xadd to avoid read/write after unlock that checks the need for
        unlock_kick (Linus):
        We further avoid the need for a read-after-release by using xadd;
        the prev head value will include the slowpath flag and indicate if we
        need to do PV kicking of suspended spinners -- on modern chips xadd
        isn't (much) more expensive than an add + load.
    
    Result:
     setup: 16core (32 cpu +ht sandy bridge 8GB 16vcpu guest)
     benchmark overcommit %improve
     kernbench  1x           -0.13
     kernbench  2x            0.02
     dbench     1x           -1.77
     dbench     2x           -0.63
    
    [Jeremy: Hinted missing TICKET_LOCK_INC for kick]
    [Oleg: Moved slowpath flag to head, ticket_equals idea]
    [PeterZ: Added detailed changelog]
    
    Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Reported-by: Sasha Levin <sasha.levin@oracle.com>
    Tested-by: Sasha Levin <sasha.levin@oracle.com>
    Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Oleg Nesterov <oleg@redhat.com>
    Cc: Andrew Jones <drjones@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Dave Jones <davej@redhat.com>
    Cc: David Vrabel <david.vrabel@citrix.com>
    Cc: Fernando Luis Vázquez Cao <fernando_b1@lab.ntt.co.jp>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Ulrich Obergfell <uobergfe@redhat.com>
    Cc: Waiman Long <Waiman.Long@hp.com>
    Cc: a.ryabinin@samsung.com
    Cc: dave@stgolabs.net
    Cc: hpa@zytor.com
    Cc: jasowang@redhat.com
    Cc: jeremy@goop.org
    Cc: paul.gortmaker@windriver.com
    Cc: riel@redhat.com
    Cc: tglx@linutronix.de
    Cc: waiman.long@hp.com
    Cc: xen-devel@lists.xenproject.org
    Link: http://lkml.kernel.org/r/20150215173043.GA7471@linux.vnet.ibm.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    ktraghavendra authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    d6abfdb View commit details
    Browse the repository at this point in the history
  21. x86/irq: Fix regression caused by commit b568b86

    Commit b568b86 ("Treat SCI interrupt as normal GSI interrupt")
    accidently removes support of legacy PIC interrupt when fixing a
    regression for Xen, which causes a nasty regression on HP/Compaq
    nc6000 where we fail to register the ACPI interrupt, and thus
    lose eg. thermal notifications leading a potentially overheated
    machine.
    
    So reintroduce support of legacy PIC based ACPI SCI interrupt.
    
    Reported-by: Ville Syrjälä <syrjala@sci.fi>
    Tested-by: Ville Syrjälä <syrjala@sci.fi>
    Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Cc: <stable@vger.kernel.org> # 3.19+
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Len Brown <len.brown@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
    Cc: Sander Eikelenboom <linux@eikelenboom.it>
    Cc: linux-pm@vger.kernel.org
    Link: http://lkml.kernel.org/r/1424052673-22974-1-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Jiang Liu authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    1ea76fb View commit details
    Browse the repository at this point in the history
  22. x86/irq: Check for valid irq descriptor in check_irq_vectors_for_cpu_…

    …disable()
    
    When an interrupt is migrated away from a cpu it will stay
    in its vector_irq array until smp_irq_move_cleanup_interrupt
    succeeded. The cfg->move_in_progress flag is cleared already
    when the IPI was sent.
    
    When the interrupt is destroyed after migration its 'struct
    irq_desc' is freed and the vector_irq arrays are cleaned up.
    But since cfg->move_in_progress is already 0 the references
    at cpus before the last migration will not be cleared. So
    this would leave a reference to an already destroyed irq
    alive.
    
    When the cpu is taken down at this point, the
    check_irq_vectors_for_cpu_disable() function finds a valid irq
    number in the vector_irq array, but gets NULL for its
    descriptor and dereferences it, causing a kernel panic.
    
    This has been observed on real systems at shutdown. Add a
    check to check_irq_vectors_for_cpu_disable() for a valid
    'struct irq_desc' to prevent this issue.
    
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Jiang Liu <jiang.liu@linux.intel.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Jan Beulich <JBeulich@suse.com>
    Cc: K. Y. Srinivasan <kys@microsoft.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: alnovak@suse.com
    Cc: joro@8bytes.org
    Link: http://lkml.kernel.org/r/20150204132754.GA10078@suse.de
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    joergroedel authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    d97eb89 View commit details
    Browse the repository at this point in the history
  23. dm: fix a race condition in dm_get_md

    The function dm_get_md finds a device mapper device with a given dev_t,
    increases the reference count and returns the pointer.
    
    dm_get_md calls dm_find_md, dm_find_md takes _minor_lock, finds the
    device, tests that the device doesn't have DMF_DELETING or DMF_FREEING
    flag, drops _minor_lock and returns pointer to the device. dm_get_md then
    calls dm_get. dm_get calls BUG if the device has the DMF_FREEING flag,
    otherwise it increments the reference count.
    
    There is a possible race condition - after dm_find_md exits and before
    dm_get is called, there are no locks held, so the device may disappear or
    DMF_FREEING flag may be set, which results in BUG.
    
    To fix this bug, we need to call dm_get while we hold _minor_lock. This
    patch renames dm_find_md to dm_get_md and changes it so that it calls
    dm_get while holding the lock.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Cc: stable@vger.kernel.org
    Mikulas Patocka authored and snitm committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    2bec1f4 View commit details
    Browse the repository at this point in the history
  24. dm snapshot: fix a possible invalid memory access on unload

    When the snapshot target is unloaded, snapshot_dtr() waits until
    pending_exceptions_count drops to zero.  Then, it destroys the snapshot.
    Therefore, the function that decrements pending_exceptions_count
    should not touch the snapshot structure after the decrement.
    
    pending_complete() calls free_pending_exception(), which decrements
    pending_exceptions_count, and then it performs up_write(&s->lock) and it
    calls retry_origin_bios() which dereferences  s->origin.  These two
    memory accesses to the fields of the snapshot may touch the dm_snapshot
    struture after it is freed.
    
    This patch moves the call to free_pending_exception() to the end of
    pending_complete(), so that the snapshot will not be destroyed while
    pending_complete() is in progress.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Cc: stable@vger.kernel.org
    Mikulas Patocka authored and snitm committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    22aa66a View commit details
    Browse the repository at this point in the history
  25. sched/dl: Do update_rq_clock() in yield_task_dl()

    update_curr_dl() needs actual rq clock.
    
    Signed-off-by: Kirill Tkhai <ktkhai@parallels.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/1423040972.18770.10.camel@tkhai
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Kirill Tkhai authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    6f1607f View commit details
    Browse the repository at this point in the history
  26. sched/autogroup: Fix failure to set cpu.rt_runtime_us

    Because task_group() uses a cache of autogroup_task_group(), whose
    output depends on sched_class, switching classes can generate
    problems.
    
    In particular, when started as fair, the cache points to the
    autogroup, so when switching to RT the tg_rt_schedulable() test fails
    for every cpu.rt_{runtime,period}_us change because now the autogroup
    has tasks and no runtime.
    
    Furthermore, going back to the previous semantics of varying
    task_group() with sched_class has the down-side that the sched_debug
    output varies as well, even though the task really is in the
    autogroup.
    
    Therefore add an autogroup exception to tg_has_rt_tasks() -- such that
    both (all) task_group() usages in sched/core now have one. And remove
    all the remnants of the variable task_group() output.
    
    Reported-by: Zefan Li <lizefan@huawei.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <umgwanakikbuti@gmail.com>
    Cc: Stefan Bader <stefan.bader@canonical.com>
    Fixes: 8323f26 ("sched: Fix race in task_group()")
    Link: http://lkml.kernel.org/r/20150209112237.GR5029@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Peter Zijlstra authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    1fe89e1 View commit details
    Browse the repository at this point in the history
  27. sched/rt: Avoid obvious configuration fail

    Setting the root group's cpu.rt_runtime_us to 0 is a bad thing; it
    would disallow the kernel creating RT tasks.
    
    One can of course still set it to 1, which will (likely) still wreck
    your kernel, but at least make it clear that setting it to 0 is not
    good.
    
    Collect both sanity checks into the one place while we're there.
    
    Suggested-by: Zefan Li <lizefan@huawei.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/20150209112715.GO24151@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Peter Zijlstra authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    2636ed5 View commit details
    Browse the repository at this point in the history
  28. RDMA/ocrdma: Add support for IB stack compliant stats in sysfs.

    Add the following per-port sysfs traffic counters for RoCE:
    
            port_xmit_packets
            port_rcv_packets
            port_rcv_data
            port_xmit_data
    
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Mitesh Ahuja authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    cad1fbb View commit details
    Browse the repository at this point in the history
  29. RDMA/ocrdma: Increase the GID table size.

    Increase the GID table size from 8 to 16 enteries.
    
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Mitesh Ahuja authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    978cb6a View commit details
    Browse the repository at this point in the history
  30. RDMA/ocrdma: Move PD resource management to driver.

    Move PD allocation and deallocation from firmware to driver.  At
    driver load time all the PDs will be requested from firmware and their
    management will be handled by driver to reduce mailbox commands
    overhead at runtime.
    
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Mitesh Ahuja authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    9ba1377 View commit details
    Browse the repository at this point in the history
  31. RDMA/ocrdma: Report correct count of interrupt vectors while register…

    …ing ocrdma device
    
    Fix ocrdma_register_device to initialize correct number of interrupt
    vectors in device pointer.
    
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Devesh Sharma authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    0c0eacd View commit details
    Browse the repository at this point in the history
  32. RDMA/ocrdma: Debugfs enhancments for ocrdma driver

    1. Add statistics counters for error cqes.
    2. Add file ("reset_stats") to reset rdma stats in Debugfs.
    
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    stxavier authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    ad56ebb View commit details
    Browse the repository at this point in the history
  33. RDMA/ocrdma: Report correct state in ibv_query_qp

    Fix ocrdma_query_qp to refelect correct qp state based on FW.
    
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Padmanabh Ratnakar authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    43c706b View commit details
    Browse the repository at this point in the history
  34. RDMA/ocrdma: Host crash on destroying device resources

    1. Cleanup sequence in ocrdma_remove(). The device should be
       unregistered from IB stack before any device specific cleanup.
    2. Always return success in the resource destroy path. In case destroy
       command returns error, IB stack will trigger cleanup again while
       closing the uverbs device causing kernel panic BUG_ON().
    
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Mitesh Ahuja authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    4b8180a View commit details
    Browse the repository at this point in the history
  35. RDMA/ocrdma: Discontinue support of RDMA-READ-WITH-INVALIDATE

    Remove support for RDMA-READ-WITH-INVALIDATE from ocrdma driver.
    
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Devesh Sharma authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    380676e View commit details
    Browse the repository at this point in the history
  36. RDMA/ocrdma: Allow expansion of the SQ CQEs via buddy CQ expansion of…

    … the QP
    
    If the SQ and RQ of the QP in error state uses separate CQs, traverse
    the list of QPs using each CQs and invoke the buddy CQ handler for
    both SQ and RQ.
    
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    stxavier authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    043e9de View commit details
    Browse the repository at this point in the history
  37. RDMA/ocrdma: Honor return value of ocrdma_resolve_dmac

    Check for return value for ocrdma_resolve_dmac while setting AV params.
    
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Devesh Sharma authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    a601dc7 View commit details
    Browse the repository at this point in the history
  38. RDMA/ocrdma: Add support for interrupt moderation

    Add support for interrupt moderation for ocrdma device.  Thresholds
    for high interrupt rates are static values derived based on experimental
    results.
    
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Mitesh Ahuja authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    b4dbe8d View commit details
    Browse the repository at this point in the history
  39. RDMA/ocrdma: remove reference of ocrdma_dev out of ocrdma_qp structure

    Use get_ocrdma_dev(ocrdma_qp->ibqp.device) function to access ocrdma
    device pointer.
    
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Mitesh Ahuja authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    d2b8f7b View commit details
    Browse the repository at this point in the history
  40. RDMA/ocrdma: set vlan present bit for user AH

    For the AH that describs a VLAN interface details, vlan present bit
    needs to be set during posting a WQE. This patch adds the code to
    allow it happening.
    
    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Devesh Sharma authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    29565f2 View commit details
    Browse the repository at this point in the history
  41. RDMA/ocrdma: Update the ocrdma module version string

    Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.com>
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Mitesh Ahuja authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    0ba5dc5 View commit details
    Browse the repository at this point in the history
  42. RDMA/ocrdma: Help gcc generate better code for ocrdma_srq_toggle_bit

    gcc emits a surprising amount of code in order to flip a bit. One
    would think that a single instruction is enough.
    
    $ scripts/bloat-o-meter /tmp/ocrdma_verbs.o drivers/infiniband/hw/ocrdma/ocrdma_verbs.o
    add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-142 (-142)
    function                                     old     new   delta
    ocrdma_post_srq_recv                         498     460     -38
    ocrdma_poll_cq                              2010    1962     -48
    ocrdma_discard_cqes                          495     439     -56
    
    All three calls of ocrdma_srq_toggle_bit happen within spinlocks, so
    saving a few useless instructions might be worthwhile.
    
    Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Acked-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Villemoes authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    ba64fdc View commit details
    Browse the repository at this point in the history
  43. RDMA/ocrdma: Use unsigned for bit index

    In the expressions idx/32 and idx%32, both idx and 32 have signed
    type, and unfortunately the C standard prescribes rounding to 0, so
    unless gcc can prove that idx is non-negative, these cannot be
    implemented as simple shift respectively mask operations. Help gcc by
    changing the type of idx to unsigned - this cuts another few
    instructions from the generated code.
    
    Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Acked-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Villemoes authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    f3070e7 View commit details
    Browse the repository at this point in the history
  44. RDMA/ocrdma: Fix off by one in ocrdma_query_gid()

    The ->sgid_tbl[] array has OCRDMA_MAX_SGID number of elements so this
    test is off by one.  ->sgid_tbl is allocated in ocrdma_alloc_resources().
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Selvin Xavier <selvin.xavier@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Dan Carpenter authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    59a39ca View commit details
    Browse the repository at this point in the history
  45. RDMA/cxgb4: Don't hang threads forever waiting on WR replies

    In c4iw_wait_for_reply(), if a FW6_MSG WR reply is not received after
    C4IW_WR_TO seconds, fail the WR operation and mark the device as fatally
    dead.  Further, if the device is marked fatally dead, then fail the WR
    wait immediately.
    
    Also change the timeout to 60 seconds.
    
    Signed-off-by: Steve Wise <swise@opengridcomputing.com>
    Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Hariprasad S authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    1fc8190 View commit details
    Browse the repository at this point in the history
  46. IB/core: Add support for extended query device caps

    Add extensible query device capabilities verb to allow adding new features.
    ib_uverbs_ex_query_device is added and copy_query_dev_fields is used to copy
    capability fields to be used by both ib_uverbs_query_device and
    ib_uverbs_ex_query_device.
    
    Following the discussion about this patch [1], the code now validates
    the command's comp_mask is zero, returning -EINVAL for unknown values,
    in order to allow extending the verb in the future.
    
    The verb also checks the user-space provided response buffer size and
    only fills in capabilities that will fit in the buffer. In attempt to
    follow the spirit of presentation [2] by Tzahi Oved that was presented
    during OpenFabrics Alliance International Developer Workshop 2013, the
    comp_mask bits will only describe which fields are valid.  Furthermore,
    fields that can simply be cleared when they are not supported, do not
    require a comp_mask bit at all.  The verb returns a response_length
    field containing the actual number of bytes written by the kernel, so
    that a newer version running on an older kernel can tell which fields
    were actually returned.
    
    [1] [PATCH v1 0/5] IB/core: extended query device caps cleanup for v3.19
        http://thread.gmane.org/gmane.linux.kernel.api/7889/
    
    [2] https://www.openfabrics.org/images/docs/2013_Dev_Workshop/Tues_0423/2013_Workshop_Tues_0830_Tzahi_Oved-verbs_extensions_ofa_2013-tzahio.pdf
    
    Signed-off-by: Eli Cohen <eli@mellanox.com>
    Signed-off-by: Haggai Eran <haggaie@mellanox.com>
    Reviewed-by: Yann Droneaud <ydroneaud@opteya.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Eli Cohen authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    02d1aa7 View commit details
    Browse the repository at this point in the history
  47. IB/core: Add on demand paging caps to ib_uverbs_ex_query_device

    Add on-demand paging capabilities reporting to the extended query device verb.
    
    Yann Droneaud writes:
    
        Note: as offsetof() is used to retrieve the size of the lower chunk
        of the response, beware that it only works if the upper chunk
        is right after, without any implicit padding. And, as the size of
        the latter chunk is added to the base size, implicit padding at the
        end of the structure is not taken in account. Both point must be
        taken in account when extending the uverbs functionalities.
    
    Signed-off-by: Haggai Eran <haggaie@mellanox.com>
    Reviewed-by: Yann Droneaud <ydroneaud@opteya.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    haggaie authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    f4056bf View commit details
    Browse the repository at this point in the history
  48. IB/mlx5: Enable the ODP capability query verb

    Re-enable the on-demand paging capability query through the
    extended query device verb.
    
    Signed-off-by: Haggai Eran <haggaie@mellanox.com>
    Reviewed-by: Yann Droneaud <ydroneaud@opteya.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    haggaie authored and rolandd committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    1707cb4 View commit details
    Browse the repository at this point in the history
  49. Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/paulmck/linux-rcu into core/urgent
    
    Pull RCU fix from Paul E. McKenney.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    3b3336d View commit details
    Browse the repository at this point in the history
  50. MIPS: Alchemy: Remove bogus args from alchemy_clk_fgcs_detr

    They were added to this function by mistake when they were added to the
    clk_ops.determine_rate callback.
    
    Fixes: 1c8e600 ("clk: Add rate constraints to clocks")
    Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    tomeuv authored and Michael Turquette committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    69b59cb View commit details
    Browse the repository at this point in the history
  51. clk: Don't dereference parent clock if is NULL

    The clock passed as an argument to clk_mux_determine_rate_flags()
    has the CLK_SET_RATE_PARENT flag set but it has no parent, then a
    NULL pointer will tried to be dereferenced.
    
    This shouldn't happen since setting that flag for a clock with no
    parent is a bug but the core should be robust to handle that case.
    
    Fixes: 035a61c ("clk: Make clk API return per-user struct clk instances")
    Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
    Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    Javier Martinez Canillas authored and Michael Turquette committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    9e0ad7d View commit details
    Browse the repository at this point in the history
  52. clk: Add __clk_hw_set_clk helper function

    After the clk API change to return a per-user clock instance, both the
    struct clk_core and struct clk pointers from the hw clock needs to be
    assigned to clock that share the same state.
    
    In the future the struct clk_core will be removed and this is going to
    change again so to avoid having to change the assignments twice in all
    the drivers, add a helper function to have an indirection level.
    
    Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
    Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    Javier Martinez Canillas authored and Michael Turquette committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    2e65d8b View commit details
    Browse the repository at this point in the history
  53. clk: Replace explicit clk assignment with __clk_hw_set_clk

    The change in the clk API to return a per-user clock instance, moved
    the clock state to struct clk_core so now the struct clk_hw .core field
    is used instead of .clk for most operations.
    
    So for hardware clocks that needs to share the same clock state, both
    the .core and .clk pointers have to be assigned but currently only the
    .clk is set. This leads to NULL pointer dereference when the operations
    try to access the hw clock .core. For example, the composite clock rate
    and mux components didn't have a .core set which leads to this error:
    
    Unable to handle kernel NULL pointer dereference at virtual address 00000034
    pgd = c0004000
    [00000034] *pgd=00000000
    Internal error: Oops: 5 [#1] PREEMPT SMP ARM
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-next-20150211-00002-g1fb7f0e1150d #423
    Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
    task: ee480000 ti: ee488000 task.ti: ee488000
    PC is at clk_mux_determine_rate_flags+0x14/0x19c
    LR is at __clk_mux_determine_rate+0x24/0x2c
    pc : [<c03a355c>]    lr : [<c03a3734>]    psr: a0000113
    sp : ee489ce8  ip : ee489d84  fp : ee489d84
    r10: 0000005  r9 : 00000001  r8 : 016e3600
    r7 : 00000000  r6 : 00000000  r5 : ee442200  r4 : ee440c98
    r3 : ffffffff  r2 : 00000000  r1 : 016e3600  r0 : ee440c98
    Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
    Control: 10c5387d  Table: 4000406a  DAC: 00000015
    Process swapper/0 (pid: 1, stack limit = 0xee488210)
    Stack: (0xee489ce8 to 0xee48a000)
    9ce0:                   00000000 ffffffff 60000113 ee440c98 ee442200 00000000
    9d00: 016e3600 ffffffff 00000001 0000005 ee489d84 c03a3734 ee489d80 ee489d84
    9d20: 00000000 c048b130 00000400 c03a5798 ee489d80 ee489d84 c0607f60 ffffffea
    9d40: 00000001 00000001 ee489d5c c003f844 c06e3340 ee402680 ee440d0c ed935000
    9d60: 016e3600 00000003 00000001 0000005 eded3700 c03a11a0 ee489d80 ee489d84
    9d80: 016e3600 ee402680 c05b413a eddc9900 016e3600 c03a1228 00000000 ffffffff
    9da0: ffffffff eddc9900 016e3600 c03a1c1c ffffffff 016e3600 ed8c6710 c03d6ce4
    9dc0: eded3400 00000000 00000000 c03c797c 00000001 0000005 eded3700 eded3700
    9de0: 000005e0 00000001 0000005 c03db8ac c06e7e54 c03c8f08 00000000 c06e7e64
    9e00: c06b6e74 c06e7f64 000005e0 c06e7df8 c06e5100 00000000 c06e7e6c c06e7f54
    9e20: 00000000 00000000 eebd9550 00000000 c06e7da0 c06e7e54 ee7b5010 c06e7da0
    9e40: eddc9690 c06e7db4 c06b6e74 00000097 00000000 c03d4398 00000000 ee7b5010
    9e60: eebd9550 c06e7da0 00000000 c03db824 ee7b5010 fffffffe c06e7db4 c0299c7c
    9e80: ee7b5010 c072a05c 00000000 c0298858 ee7b5010 c06e7db4 ee7b5044 00000000
    9ea0: eddc9580 c0298a04 c06e7db4 00000000 c0298978 c02971d4 ee405c78 ee732b40
    9ec0: c06e7db4 eded3800 c06d6738 c0298044 c0608300 c06e7db4 00000000 c06e7db4
    9ee0: 00000000 c06beb58 c06beb58 c0299024 00000000 c068dd00 00000000 c0008944
    9f00: 00000038 c049013c ee462200 c0711920 ee480000 60000113 c06c2cb0 00000000
    9f20: 00000000 c06c2cb0 60000113 00000000 ef7fcafc 00000000 c0640194 c00389ec
    9f40: c05ec3a8 c063f824 00000006 00000006 c06c2c50 c0696444 00000006 c0696424
    9f60: c06ee1c0 c066b588 c06b6e74 00000097 00000000 c066bd44 00000006 00000006
    9f80: c066b588 c003d684 00000000 c0481938 00000000 00000000 00000000 00000000
    9fa0: 00000000 c0481940 00000000 c000e680 00000000 00000000 00000000 00000000
    9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [<c03a355c>] (clk_mux_determine_rate_flags) from [<c03a3734>] (__clk_mux_determine_rate+0x24/0x2c)
    [<c03a3734>] (__clk_mux_determine_rate) from [<c03a5798>] (clk_composite_determine_rate+0xbc/0x238)
    [<c03a5798>] (clk_composite_determine_rate) from [<c03a11a0>] (clk_core_round_rate_nolock+0x5c/0x9c)
    [<c03a11a0>] (clk_core_round_rate_nolock) from [<c03a1228>] (__clk_round_rate+0x38/0x40)
    [<c03a1228>] (__clk_round_rate) from [<c03a1c1c>] (clk_round_rate+0x20/0x38)
    [<c03a1c1c>] (clk_round_rate) from [<c03d6ce4>] (max98090_dai_set_sysclk+0x34/0x118)
    [<c03d6ce4>] (max98090_dai_set_sysclk) from [<c03c797c>] (snd_soc_dai_set_sysclk+0x38/0x80)
    [<c03c797c>] (snd_soc_dai_set_sysclk) from [<c03db8ac>] (snow_late_probe+0x24/0x48)
    [<c03db8ac>] (snow_late_probe) from [<c03c8f08>] (snd_soc_register_card+0xf04/0x1070)
    [<c03c8f08>] (snd_soc_register_card) from [<c03d4398>] (devm_snd_soc_register_card+0x30/0x64)
    [<c03d4398>] (devm_snd_soc_register_card) from [<c03db824>] (snow_probe+0x68/0xcc)
    [<c03db824>] (snow_probe) from [<c0299c7c>] (platform_drv_probe+0x48/0x98)
    [<c0299c7c>] (platform_drv_probe) from [<c0298858>] (driver_probe_device+0x114/0x234)
    [<c0298858>] (driver_probe_device) from [<c0298a04>] (__driver_attach+0x8c/0x90)
    [<c0298a04>] (__driver_attach) from [<c02971d4>] (bus_for_each_dev+0x54/0x88)
    [<c02971d4>] (bus_for_each_dev) from [<c0298044>] (bus_add_driver+0xd8/0x1cc)
    [<c0298044>] (bus_add_driver) from [<c0299024>] (driver_register+0x78/0xf4)
    [<c0299024>] (driver_register) from [<c0008944>] (do_one_initcall+0x80/0x1d0)
    [<c0008944>] (do_one_initcall) from [<c066bd44>] (kernel_init_freeable+0x10c/0x1d8)
    [<c066bd44>] (kernel_init_freeable) from [<c0481940>] (kernel_init+0x8/0xe4)
    [<c0481940>] (kernel_init) from [<c000e680>] (ret_from_fork+0x14/0x34)
    Code: e24dd00c e5907000 e1a08001 e88d000c (e5970034)
    
    The changes were made using the following cocinelle semantic patch:
    
    @i@
    @@
    
    @Depends on i@
    identifier dst;
    @@
    
    - dst->clk = hw->clk;
    + __clk_hw_set_clk(dst, hw);
    
    @Depends on i@
    identifier dst;
    @@
    
    - dst->hw.clk = hw->clk;
    + __clk_hw_set_clk(&dst->hw, hw);
    
    Fixes: 035a61c ("clk: Make clk API return per-user struct clk instances")
    Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
    Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    Javier Martinez Canillas authored and Michael Turquette committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    4e907ef View commit details
    Browse the repository at this point in the history
  54. ACPI / LPSS: Always disable I2C host controllers

    On Baytrail and Braswell the BIOS might leave the I2C host controllers
    enabled, probably because it uses them for its own purposes. This is fine
    in normal cases because the I2C driver will disable the hardware when it
    is probed anyway.
    
    However, in case of suspend to disk it is different story. If the driver
    happens to be compiled as a module the boot kernel never loads the driver
    thus leaving host controllers enabled upon loading the hibernation image.
    
    The I2C host controller interrupt mask register has default value of 0x8ff,
    in other words it has most of the interrupts unmasked. When combined with
    the fact that the host controller is enabled, the driver immediately starts
    getting interrupts even before its resume hook is called (once IO-APIC is
    resumed). Since the driver is not prepared for this it will crash the
    kernel due to NULL pointer derefence because dev->msgs is NULL.
    
    Unfortunately we were not able to get full backtrace to from the console
    which could be reproduced here.
    
    In order to fix this even when the driver is compiled as module, we disable
    the I2C host controllers in byt_i2c_setup() before devices are created.
    
    Reported-by: Yu Chen <yu.c.chen@intel.com>
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Cc: 3.17+ <stable@vger.kernel.org> # 3.17+
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    westeri authored and rafaeljw committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    3293c7b View commit details
    Browse the repository at this point in the history
  55. ACPI / LPSS: Deassert resets for SPI host controllers on Braswell

    On some Braswell systems BIOS leaves resets for SPI host controllers
    active. This prevents the SPI driver from transferring messages on wire.
    
    Fix this in similar way that we do for I2C already by deasserting resets
    for the SPI host controllers.
    
    Reported-by: Yang A Fang <yang.a.fang@intel.com>
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Cc: 3.17+ <stable@vger.kernel.org> # 3.17+
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    westeri authored and rafaeljw committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    3095794 View commit details
    Browse the repository at this point in the history
  56. powerpc/corenet: Enable CLK_QORIQ

    Change-Id: I1a80ad7b9f6854791bd270b746f93a91439155a6
    Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>
    Acked-by: Tang Yuantian <Yuantian.Tang@freescale.com>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    Emil Medve authored and Michael Turquette committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    8f0ab1e View commit details
    Browse the repository at this point in the history
  57. clk: qoriq: Add support for the platform PLL

    Change-Id: Iac11ed95f274485a86d2c11f32a3dc502bcd020f
    Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>
    Acked-by: Tang Yuantian <Yuantian.Tang@freescale.com>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    Emil Medve authored and Michael Turquette committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    a513b72 View commit details
    Browse the repository at this point in the history
  58. Revert "clk: mxs: Fix invalid 32-bit access to frac registers"

    Revert commit 039e597 (clk: mxs: Fix invalid 32-bit access to frac
    registers), because it leads to a faulty spi communication on mx28evk.
    
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
    Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    lategoodbye authored and Michael Turquette committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    a926148 View commit details
    Browse the repository at this point in the history
  59. uprobes/x86: Add comment with insn opcodes, mnemonics and why we dont…

    … support them
    
    After adding these, it's clear we have some awkward choices
    there. Some valid instructions are prohibited from uprobing
    while several invalid ones are allowed.
    
    Hopefully future edits to the good-opcode tables will fix wrong
    bits or explain why those bits are not wrong.
    
    No actual code changes.
    
    Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Jim Keniston <jkenisto@us.ibm.com>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/1423768732-32194-1-git-send-email-dvlasenk@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    dvlasenk authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    097f4e5 View commit details
    Browse the repository at this point in the history
  60. uprobes/x86: Fix 1-byte opcode tables

    This change fixes 1-byte opcode tables so that only insns
    for which we have real reasons to disallow probing are marked
    with unset bits.
    
    To that end:
    
    Set bits for all prefix bytes. Their setting is ignored anyway -
    we check the bitmap against OPCODE1(insn), not against first
    byte. Keeping them set to 0 only confuses code reader with
    "why we don't support that opcode" question.
    
    Thus: enable bytes c4,c5 in 64-bit mode (VEX prefixes).
    Byte 62 (EVEX prefix) is not yet enabled since insn decoder
    does not support that yet.
    
    For 32-bit mode, enable probing of opcodes 63 (arpl) and d6
    (salc). They don't require any special handling.
    
    For 64-bit mode, disable 9a and ea - these undefined opcodes
    were mistakenly left enabled.
    
    Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Jim Keniston <jkenisto@us.ibm.com>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/1423768732-32194-2-git-send-email-dvlasenk@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    dvlasenk authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    67fc809 View commit details
    Browse the repository at this point in the history
  61. uprobes/x86: Fix 2-byte opcode table

    Enabled probing of lar, lsl, popcnt, lddqu, prefetch insns.
    They should be safe to probe, they throw no exceptions.
    
    Enabled probing of 3-byte opcodes 0f 38-3f xx - these are
    vector isns, so should be safe.
    
    Enabled probing of many currently undefined 0f xx insns.
    At the rate new vector instructions are getting added,
    we don't want to constantly enable more bits.
    We want to only occasionally *disable* ones which
    for some reason can't be probed.
    This includes 0f 24,26 opcodes, which are undefined
    since Pentium. On 486, they were "mov to/from test register".
    
    Explained more fully what 0f 78,79 opcodes are.
    
    Explained what 0f ae opcode is. (It's unclear why we don't allow
    probing it, but let's not change it for now).
    
    Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Jim Keniston <jkenisto@us.ibm.com>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/1423768732-32194-3-git-send-email-dvlasenk@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    dvlasenk authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    5154d4f View commit details
    Browse the repository at this point in the history
  62. kprobes/x86: Mark 2 bytes NOP as boostable

    Currently, x86 kprobes is unable to boost 2 bytes nop like:
    
      nopl 0x0(%rax,%rax,1)
    
    which is 0x0f 0x1f 0x44 0x00 0x00.
    
    Such nops have exactly 5 bytes to hold a relative jmp
    instruction. Boosting them should be obviously safe.
    
    This patch enable boosting such nops by simply updating
    twobyte_is_boostable[] array.
    
    Signed-off-by: Wang Nan <wangnan0@huawei.com>
    Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: <lizefan@huawei.com>
    Link: http://lkml.kernel.org/r/1423532045-41049-1-git-send-email-wangnan0@huawei.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    WangNan0 authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    b7e3756 View commit details
    Browse the repository at this point in the history
  63. x86/apic: Fix the devicetree build in certain configs

    Without this patch:
    
      LD      init/built-in.o
      arch/x86/built-in.o: In function `dtb_lapic_setup': kernel/devicetree.c:155:
      undefined reference to `apic_force_enable'
      Makefile:923: recipe for target 'vmlinux' failed
      make: *** [vmlinux] Error 1
    
    Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
    Reviewed-by: Maciej W. Rozycki <macro@linux-mips.org>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Jan Beulich <JBeulich@suse.com>
    Link: http://lkml.kernel.org/r/1422905231-16067-1-git-send-email-ricardo.ribalda@gmail.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    ribalda authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    b273c2c View commit details
    Browse the repository at this point in the history
  64. Documentation/x86: Fix path in zero-page.txt

    Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
    Cc: Martin Mares <mj@ucw.cz>
    Link: http://lkml.kernel.org/r/1422689004-13318-1-git-send-email-kuleshovmail@gmail.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    0xAX authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    f5ecb00 View commit details
    Browse the repository at this point in the history
  65. x86/intel/quark: Add Isolated Memory Regions for Quark X1000

    Intel's Quark X1000 SoC contains a set of registers called
    Isolated Memory Regions. IMRs are accessed over the IOSF mailbox
    interface. IMRs are areas carved out of memory that define
    read/write access rights to the various system agents within the
    Quark system. For a given agent in the system it is possible to
    specify if that agent may read or write an area of memory
    defined by an IMR with a granularity of 1 KiB.
    
    Quark_SecureBootPRM_330234_001.pdf section 4.5 details the
    concept of IMRs quark-x1000-datasheet.pdf section 12.7.4 details
    the implementation of IMRs in silicon.
    
    eSRAM flush, CPU Snoop write-only, CPU SMM Mode, CPU non-SMM
    mode, RMU and PCIe Virtual Channels (VC0 and VC1) can have
    individual read/write access masks applied to them for a given
    memory region in Quark X1000. This enables IMRs to treat each
    memory transaction type listed above on an individual basis and
    to filter appropriately based on the IMR access mask for the
    memory region. Quark supports eight IMRs.
    
    Since all of the DMA capable SoC components in the X1000 are
    mapped to VC0 it is possible to define sections of memory as
    invalid for DMA write operations originating from Ethernet, USB,
    SD and any other DMA capable south-cluster component on VC0.
    Similarly it is possible to mark kernel memory as non-SMM mode
    read/write only or to mark BIOS runtime memory as SMM mode
    accessible only depending on the particular memory footprint on
    a given system.
    
    On an IMR violation Quark SoC X1000 systems are configured to
    reset the system, so ensuring that the IMR memory map is
    consistent with the EFI provided memory map is critical to
    ensure no IMR violations reset the system.
    
    The API for accessing IMRs is based on MTRR code but doesn't
    provide a /proc or /sys interface to manipulate IMRs. Defining
    the size and extent of IMRs is exclusively the domain of
    in-kernel code.
    
    Quark firmware sets up a series of locked IMRs around pieces of
    memory that firmware owns such as ACPI runtime data. During boot
    a series of unlocked IMRs are placed around items in memory to
    guarantee no DMA modification of those items can take place.
    Grub also places an unlocked IMR around the kernel boot params
    data structure and compressed kernel image. It is necessary for
    the kernel to tear down all unlocked IMRs in order to ensure
    that the kernel's view of memory passed via the EFI memory map
    is consistent with the IMR memory map. Without tearing down all
    unlocked IMRs on boot transitory IMRs such as those used to
    protect the compressed kernel image will cause IMR violations and system reboots.
    
    The IMR init code tears down all unlocked IMRs and sets a
    protective IMR around the kernel .text and .rodata as one
    contiguous block. This sanitizes the IMR memory map with respect
    to the EFI memory map and protects the read-only portions of the
    kernel from unwarranted DMA access.
    
    Tested-by: Ong, Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie>
    Reviewed-by: Andy Shevchenko <andy.schevchenko@gmail.com>
    Reviewed-by: Darren Hart <dvhart@linux.intel.com>
    Reviewed-by: Ong, Boon Leong <boon.leong.ong@intel.com>
    Cc: andy.shevchenko@gmail.com
    Cc: dvhart@infradead.org
    Link: http://lkml.kernel.org/r/1422635379-12476-2-git-send-email-pure.logic@nexus-software.ie
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    0xB0D authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    28a375d View commit details
    Browse the repository at this point in the history
  66. x86/intel/quark: Add Intel Quark platform support

    Add Intel Quark platform support. Quark needs to pull down all
    unlocked IMRs to ensure agreement with the EFI memory map post
    boot.
    
    This patch adds an entry in Kconfig for Quark as a platform and
    makes IMR support mandatory if selected.
    
    Suggested-by: Thomas Gleixner <tglx@linutronix.de>
    Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Tested-by: Ong, Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie>
    Reviewed-by: Andy Shevchenko <andy.schevchenko@gmail.com>
    Reviewed-by: Darren Hart <dvhart@linux.intel.com>
    Reviewed-by: Ong, Boon Leong <boon.leong.ong@intel.com>
    Cc: dvhart@infradead.org
    Link: http://lkml.kernel.org/r/1422635379-12476-3-git-send-email-pure.logic@nexus-software.ie
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    0xB0D authored and Ingo Molnar committed Feb 18, 2015
    Configuration menu
    Copy the full SHA
    8bbc2a1 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2015

  1. cpufreq: s3c: remove incorrect __init annotations

    The two functions s3c2416_cpufreq_driver_init and s3c_cpufreq_register
    are marked init but are called from a context that might be run after
    the __init sections are discarded, as the compiler points out:
    
    WARNING: vmlinux.o(.data+0x1ad9dc): Section mismatch in reference from the variable s3c2416_cpufreq_driver to the function .init.text:s3c2416_cpufreq_driver_init()
    WARNING: drivers/built-in.o(.text+0x35b5dc): Section mismatch in reference from the function s3c2410a_cpufreq_add() to the function .init.text:s3c_cpufreq_register()
    
    This removes the __init markings.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Cc: All applicable <stable@vger.kernel.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    arndb authored and rafaeljw committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    61882b6 View commit details
    Browse the repository at this point in the history
  2. cpufreq: s3c: remove last use of resume_clocks callback

    Commit 32726d2 ("ARM: SAMSUNG: Remove legacy clock code")
    already removed the callback pointer, but there was one remaining
    user:
    
    drivers/cpufreq/s3c24xx-cpufreq.c: In function 's3c_cpufreq_resume_clocks':
    drivers/cpufreq/s3c24xx-cpufreq.c:149:14: error: 'struct s3c_cpufreq_info' has no member named 'resume_clocks'
      cpu_cur.info->resume_clocks();
                  ^
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Fixes: 32726d2 ("ARM: SAMSUNG: Remove legacy clock code")
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Cc: 3.17+ <stable@vger.kernel.org> # v3.17+
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    arndb authored and rafaeljw committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    67fadaa View commit details
    Browse the repository at this point in the history
  3. x86/intel/quark: Fix ptr_ret.cocci warnings

    arch/x86/platform/intel-quark/imr.c:280:1-3: WARNING: PTR_ERR_OR_ZERO can be used
    
     Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR
    
    Generated by: scripts/coccinelle/api/ptr_ret.cocci
    
    Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
    Cc: Andy Shevchenko <andy.schevchenko@gmail.com>
    Cc: Ong, Boon Leong <boon.leong.ong@intel.com>
    Cc: Bryan O'Donoghue <pure.logic@nexus-software.ie>
    Cc: Darren Hart <dvhart@linux.intel.com>
    Cc: kbuild-all@01.org
    Link: http://lkml.kernel.org/r/20150219081432.GA21983@waimea
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Fengguang Wu authored and Ingo Molnar committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    32d3916 View commit details
    Browse the repository at this point in the history
  4. x86/intel/quark: Fix simple_return.cocci warnings

    arch/x86/platform/intel-quark/imr.c:129:1-4: WARNING: end returns can be simpified
    
     Simplify a trivial if-return sequence.  Possibly combine with a preceding function call.
    
    Generated by: scripts/coccinelle/misc/simple_return.cocci
    
    Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
    Cc: Andy Shevchenko <andy.schevchenko@gmail.com>
    Cc: Ong, Boon Leong <boon.leong.ong@intel.com>
    Cc: Bryan O'Donoghue <pure.logic@nexus-software.ie>
    Cc: Darren Hart <dvhart@linux.intel.com>
    Cc: kbuild-all@01.org
    Link: http://lkml.kernel.org/r/20150219081432.GA21996@waimea
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Fengguang Wu authored and Ingo Molnar committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    c11a25f View commit details
    Browse the repository at this point in the history
  5. s390/mm: align 64-bit PIE binaries to 4GB

    The base address (STACK_TOP / 3 * 2) for a 64-bit program is two thirds
    into the 4GB segment at 0x2aa00000000. The randomization added on z13
    can eat another 1GB of the remaining 1.33GB to the next 4GB boundary.
    In the worst case 300MB are left for the executable + bss which may
    cross into the next 4GB segment. This is bad for branch prediction,
    therefore align the base address to 4GB to give the program more room
    before it crosses the 4GB boundary.
    
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Martin Schwidefsky committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    4ba2815 View commit details
    Browse the repository at this point in the history
  6. x86/mm/ASLR: Propagate base load address calculation

    Commit:
    
      e2b32e6 ("x86, kaslr: randomize module base load address")
    
    makes the base address for module to be unconditionally randomized in
    case when CONFIG_RANDOMIZE_BASE is defined and "nokaslr" option isn't
    present on the commandline.
    
    This is not consistent with how choose_kernel_location() decides whether
    it will randomize kernel load base.
    
    Namely, CONFIG_HIBERNATION disables kASLR (unless "kaslr" option is
    explicitly specified on kernel commandline), which makes the state space
    larger than what module loader is looking at. IOW CONFIG_HIBERNATION &&
    CONFIG_RANDOMIZE_BASE is a valid config option, kASLR wouldn't be applied
    by default in that case, but module loader is not aware of that.
    
    Instead of fixing the logic in module.c, this patch takes more generic
    aproach. It introduces a new bootparam setup data_type SETUP_KASLR and
    uses that to pass the information whether kaslr has been applied during
    kernel decompression, and sets a global 'kaslr_enabled' variable
    accordingly, so that any kernel code (module loading, livepatching, ...)
    can make decisions based on its value.
    
    x86 module loader is converted to make use of this flag.
    
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Acked-by: Kees Cook <keescook@chromium.org>
    Cc: "H. Peter Anvin" <hpa@linux.intel.com>
    Link: https://lkml.kernel.org/r/alpine.LNX.2.00.1502101411280.10719@pobox.suse.cz
    [ Always dump correct kaslr status when panicking ]
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Jiri Kosina authored and suryasaimadhu committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    f47233c View commit details
    Browse the repository at this point in the history
  7. x86/mm/init: Fix incorrect page size in init_memory_mapping() printks

    With 32-bit non-PAE kernels, we have 2 page sizes available
    (at most): 4k and 4M.
    
    Enabling PAE replaces that 4M size with a 2M one (which 64-bit
    systems use too).
    
    But, when booting a 32-bit non-PAE kernel, in one of our
    early-boot printouts, we say:
    
      init_memory_mapping: [mem 0x00000000-0x000fffff]
       [mem 0x00000000-0x000fffff] page 4k
      init_memory_mapping: [mem 0x37000000-0x373fffff]
       [mem 0x37000000-0x373fffff] page 2M
      init_memory_mapping: [mem 0x00100000-0x36ffffff]
       [mem 0x00100000-0x003fffff] page 4k
       [mem 0x00400000-0x36ffffff] page 2M
      init_memory_mapping: [mem 0x37400000-0x377fdfff]
       [mem 0x37400000-0x377fdfff] page 4k
    
    Which is obviously wrong.  There is no 2M page available.  This
    is probably because of a badly-named variable: in the map_range
    code: PG_LEVEL_2M.
    
    Instead of renaming all the PG_LEVEL_2M's.  This patch just
    fixes the printout:
    
      init_memory_mapping: [mem 0x00000000-0x000fffff]
       [mem 0x00000000-0x000fffff] page 4k
      init_memory_mapping: [mem 0x37000000-0x373fffff]
       [mem 0x37000000-0x373fffff] page 4M
      init_memory_mapping: [mem 0x00100000-0x36ffffff]
       [mem 0x00100000-0x003fffff] page 4k
       [mem 0x00400000-0x36ffffff] page 4M
      init_memory_mapping: [mem 0x37400000-0x377fdfff]
       [mem 0x37400000-0x377fdfff] page 4k
      BRK [0x03206000, 0x03206fff] PGTABLE
    
    Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Pekka Enberg <penberg@cs.helsinki.fi>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Link: http://lkml.kernel.org/r/20150210212030.665EC267@viggo.jf.intel.com
    Signed-off-by: Borislav Petkov <bp@suse.de>
    hansendc authored and suryasaimadhu committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    f15e051 View commit details
    Browse the repository at this point in the history
  8. Merge branch 'tip-x86-mm' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/bp/bp into x86/urgent
    
    Pull boot printout fix from Borislav Petkov.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    ee408b4 View commit details
    Browse the repository at this point in the history
  9. x86, mm/ASLR: Fix stack randomization on 64-bit systems

    The issue is that the stack for processes is not properly randomized on
    64 bit architectures due to an integer overflow.
    
    The affected function is randomize_stack_top() in file
    "fs/binfmt_elf.c":
    
      static unsigned long randomize_stack_top(unsigned long stack_top)
      {
               unsigned int random_variable = 0;
    
               if ((current->flags & PF_RANDOMIZE) &&
                       !(current->personality & ADDR_NO_RANDOMIZE)) {
                       random_variable = get_random_int() & STACK_RND_MASK;
                       random_variable <<= PAGE_SHIFT;
               }
               return PAGE_ALIGN(stack_top) + random_variable;
               return PAGE_ALIGN(stack_top) - random_variable;
      }
    
    Note that, it declares the "random_variable" variable as "unsigned int".
    Since the result of the shifting operation between STACK_RND_MASK (which
    is 0x3fffff on x86_64, 22 bits) and PAGE_SHIFT (which is 12 on x86_64):
    
    	  random_variable <<= PAGE_SHIFT;
    
    then the two leftmost bits are dropped when storing the result in the
    "random_variable". This variable shall be at least 34 bits long to hold
    the (22+12) result.
    
    These two dropped bits have an impact on the entropy of process stack.
    Concretely, the total stack entropy is reduced by four: from 2^28 to
    2^30 (One fourth of expected entropy).
    
    This patch restores back the entropy by correcting the types involved
    in the operations in the functions randomize_stack_top() and
    stack_maxrandom_size().
    
    The successful fix can be tested with:
    
      $ for i in `seq 1 10`; do cat /proc/self/maps | grep stack; done
      7ffeda566000-7ffeda587000 rw-p 00000000 00:00 0                          [stack]
      7fff5a332000-7fff5a353000 rw-p 00000000 00:00 0                          [stack]
      7ffcdb7a1000-7ffcdb7c2000 rw-p 00000000 00:00 0                          [stack]
      7ffd5e2c4000-7ffd5e2e5000 rw-p 00000000 00:00 0                          [stack]
      ...
    
    Once corrected, the leading bytes should be between 7ffc and 7fff,
    rather than always being 7fff.
    
    Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
    Signed-off-by: Ismael Ripoll <iripoll@upv.es>
    [ Rebased, fixed 80 char bugs, cleaned up commit message, added test example and CVE ]
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Cc: <stable@vger.kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Fixes: CVE-2015-1593
    Link: http://lkml.kernel.org/r/20150214173350.GA18393@www.outflux.net
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Hector Marco-Gisbert authored and suryasaimadhu committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    4e7c22d View commit details
    Browse the repository at this point in the history
  10. Merge branch 'tip-x86-kaslr' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/bp/bp into x86/urgent
    
    Pull ASLR and kASLR fixes from Borislav Petkov:
    
      - Add a global flag announcing KASLR state so that relevant code can do
        informed decisions based on its setting. (Jiri Kosina)
    
      - Fix a stack randomization entropy decrease bug. (Hector Marco-Gisbert)
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    a267b0a View commit details
    Browse the repository at this point in the history
  11. x86/microcode/intel: Guard against stack overflow in the loader

    mc_saved_tmp is a static array allocated on the stack, we need to make
    sure mc_saved_count stays within its bounds, otherwise we're overflowing
    the stack in _save_mc(). A specially crafted microcode header could lead
    to a kernel crash or potentially kernel execution.
    
    Signed-off-by: Quentin Casasnovas <quentin.casasnovas@oracle.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Link: http://lkml.kernel.org/r/1422964824-22056-1-git-send-email-quentin.casasnovas@oracle.com
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Quentin Casasnovas authored and suryasaimadhu committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    f84598b View commit details
    Browse the repository at this point in the history
  12. x86/microcode/intel: Handle truncated microcode images more robustly

    We do not check the input data bounds containing the microcode before
    copying a struct microcode_intel_header from it. A specially crafted
    microcode could cause the kernel to read invalid memory and lead to a
    denial-of-service.
    
    Signed-off-by: Quentin Casasnovas <quentin.casasnovas@oracle.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Link: http://lkml.kernel.org/r/1422964824-22056-3-git-send-email-quentin.casasnovas@oracle.com
    [ Made error message differ from the next one and flipped comparison. ]
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Quentin Casasnovas authored and suryasaimadhu committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    35a9ff4 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'microcode_fixes_for-3.21' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/bp/bp into x86/urgent
    
    Pull microcode fixes from Borislav Petkov:
    
      - Two fixes hardening microcode data handling. (Quentin Casasnovas)
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    1fbe23e View commit details
    Browse the repository at this point in the history
  14. i2c: fix reference to functionality constants definition

    Since commit 607ca46 ('UAPI: (Scripted) Disintegrate include/linux') the
    list of functionality constants moved to include/uapi/linux/i2c.h. Update the
    reference accordingly.
    
    Fixes: 607ca46 ('UAPI: (Scripted) Disintegrate include/linux')
    Signed-off-by: Baruch Siach <baruch@tkos.co.il>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    baruchsiach authored and Wolfram Sang committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    8421d4f View commit details
    Browse the repository at this point in the history
  15. i2c: designware-baytrail: another fixup for proper Kconfig dependencies

    IOSF_MBI is tristate. Baytrail driver isn't.
    
    Reported-by: Randy Dunlap <rdunlap@infradead.org>
    Acked-by: David E. Box <david.e.box@linux.intel.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Wolfram Sang committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    b4ad051 View commit details
    Browse the repository at this point in the history
  16. s390/spinlock: disabled compare-and-delay by default

    Until we have hard performance data about the effects of CAD in the
    spinlock loop disable the instruction by default.
    
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Martin Schwidefsky committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    61b0b01 View commit details
    Browse the repository at this point in the history
  17. kdb: fix incorrect counts in KDB summary command output

    The output of KDB 'summary' command should report MemTotal, MemFree
    and Buffers output in kB. Current codes report in unit of pages.
    
    A define of K(x) as
    is defined in the code, but not used.
    
    This patch would apply the define to convert the values to kB.
    Please include me on Cc on replies. I do not subscribe to linux-kernel.
    
    Signed-off-by: Jay Lan <jlan@sgi.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    Jay Lan authored and jwessel committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    1467559 View commit details
    Browse the repository at this point in the history
  18. kdb: Fix off by one error in kdb_cpu()

    There was a follow on replacement patch against the prior
    "kgdb: Timeout if secondary CPUs ignore the roundup".
    
    See: https://lkml.org/lkml/2015/1/7/442
    
    This patch is the delta vs the patch that was committed upstream:
      * Fix an off-by-one error in kdb_cpu().
      * Replace NR_CPUS with CONFIG_NR_CPUS to tell checkpatch that we
        really want a static limit.
      * Removed the "KGDB: " prefix from the pr_crit() in debug_core.c
        (kgdb-next contains a patch which introduced pr_fmt() to this file
        to the tag will now be applied automatically).
    
    Cc: Daniel Thompson <daniel.thompson@linaro.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    jwessel committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    df0036d View commit details
    Browse the repository at this point in the history
  19. kdb: Avoid printing KERN_ levels to consoles

    Currently when kdb traps printk messages then the raw log level prefix
    (consisting of '\001' followed by a numeral) does not get stripped off
    before the message is issued to the various I/O handlers supported by
    kdb. This causes annoying visual noise as well as causing problems
    grepping for ^. It is also a change of behaviour compared to normal usage
    of printk() usage. For example <SysRq>-h ends up with different output to
    that of kdb's "sr h".
    
    This patch addresses the problem by stripping log levels from messages
    before they are issued to the I/O handlers. printk() which can also
    act as an i/o handler in some cases is special cased; if the caller
    provided a log level then the prefix will be preserved when sent to
    printk().
    
    The addition of non-printable characters to the output of kdb commands is a
    regression, albeit and extremely elderly one, introduced by commit
    04d2c8c ("printk: convert the format for KERN_<LEVEL> to a 2 byte
    pattern"). Note also that this patch does *not* restore the original
    behaviour from v3.5. Instead it makes printk() from within a kdb command
    display the message without any prefix (i.e. like printk() normally does).
    
    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
    Cc: Joe Perches <joe@perches.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    daniel-thompson authored and jwessel committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    f7d4ca8 View commit details
    Browse the repository at this point in the history
  20. kdb: Remove stack dump when entering kgdb due to NMI

    Issuing a stack dump feels ergonomically wrong when entering due to NMI.
    
    Entering due to NMI is normally a reaction to a user request, either the
    NMI button on a server or a "magic knock" on a UART. Therefore the
    backtrace behaviour on entry due to NMI should be like SysRq-g (no stack
    dump) rather than like oops.
    
    Note also that the stack dump does not offer any information that
    cannot be trivial retrieved using the 'bt' command.
    
    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    daniel-thompson authored and jwessel committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    5454388 View commit details
    Browse the repository at this point in the history
  21. kdb: Fix a prompt management bug when using | grep

    Currently when the "| grep" feature is used to filter the output of a
    command then the prompt is not displayed for the subsequent command.
    Likewise any characters typed by the user are also not echoed to the
    display. This rather disconcerting problem eventually corrects itself
    when the user presses Enter and the kdb_grepping_flag is cleared as
    kdb_parse() tries to make sense of whatever they typed.
    
    This patch resolves the problem by moving the clearing of this flag
    from the middle of command processing to the beginning.
    
    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    daniel-thompson authored and jwessel committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    ab08e46 View commit details
    Browse the repository at this point in the history
  22. kdb: Provide forward search at more prompt

    Currently kdb allows the output of comamnds to be filtered using the
    | grep feature. This is useful but does not permit the output emitted
    shortly after a string match to be examined without wading through the
    entire unfiltered output of the command. Such a feature is particularly
    useful to navigate function traces because these traces often have a
    useful trigger string *before* the point of interest.
    
    This patch reuses the existing filtering logic to introduce a simple
    forward search to kdb that can be triggered from the more prompt.
    
    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    daniel-thompson authored and jwessel committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    fb6daa7 View commit details
    Browse the repository at this point in the history
  23. kdb: Const qualifier for kdb_getstr's prompt argument

    All current callers of kdb_getstr() can pass constant pointers via the
    prompt argument. This patch adds a const qualification to make explicit
    the fact that this is safe.
    
    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    daniel-thompson authored and jwessel committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    32d375f View commit details
    Browse the repository at this point in the history
  24. debug: prevent entering debug mode on panic/exception.

    On non-developer devices, kgdb prevents the device from rebooting
    after a panic.
    
    Incase of panics and exceptions, to allow the device to reboot, prevent
    entering debug mode to avoid getting stuck waiting for the user to
    interact with debugger.
    
    To avoid entering the debugger on panic/exception without any extra
    configuration, panic_timeout is being used which can be set via
    /proc/sys/kernel/panic at run time and CONFIG_PANIC_TIMEOUT sets the
    default value.
    
    Setting panic_timeout indicates that the user requested machine to
    perform unattended reboot after panic. We dont want to get stuck waiting
    for the user input incase of panic.
    
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: kgdb-bugreport@lists.sourceforge.net
    Cc: linux-kernel@vger.kernel.org
    Cc: Android Kernel Team <kernel-team@android.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Sumit Semwal <sumit.semwal@linaro.org>
    Signed-off-by: Colin Cross <ccross@android.com>
    [Kiran: Added context to commit message.
    panic_timeout is used instead of break_on_panic and
    break_on_exception to honor CONFIG_PANIC_TIMEOUT
    Modified the commit as per community feedback]
    Signed-off-by: Kiran Raparthy <kiran.kumar@linaro.org>
    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    colincross authored and jwessel committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    5516fd7 View commit details
    Browse the repository at this point in the history
  25. kgdb, docs: Fix <para> pdfdocs build errors

    kgdb.pdf failed to build from 'make pdfdocs' giving errors such as:
    
    jade:... Documentation/DocBook/kgdb.xml:200:8:E:
    document type does not allow element "para" here; missing one of
    "footnote", "caution", "important", "note", "tip", "warning",
    "blockquote", "informalexample" start-tag
    
    Fixing minor <para> and <sect> issues allows kgdb.pdf to be generated
    under Fedora20.
    
    Originally submitted by rajaneesh.acharya@yahoo.com in 2011, discussed here:
    http://permalink.gmane.org/gmane.linux.documentation/3954
    as patch:
     The following are the enhancements that removed the errors
     while issuing "make pdfdocs"
    
    [graham.whaley@intel.com: Improved commit message and ported to 3.18.1]
    Signed-off-by: Graham Whaley <graham.whaley@intel.com>
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    Rajaneesh12 authored and jwessel committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    dd8f30c View commit details
    Browse the repository at this point in the history
  26. cpuidle: powernv: Avoid endianness conversions while parsing DT

    We currently read the information about idle states from the DT
    so as to populate the cpuidle table. Use those APIs to read from
    the DT that can avoid endianness conversions of the property values
    in the cpuidle driver.
    
    Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
    Acked-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Preeti U Murthy authored and rafaeljw committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    70734a7 View commit details
    Browse the repository at this point in the history
  27. NVMe: Metadata format support

    Adds support for NVMe metadata formats and exposes block devices for
    all namespaces regardless of their format. Namespace formats that are
    unusable will have disk capacity set to 0, but a handle to the block
    device is created to simplify device management. A namespace is not
    usable when the format requires host interleave block and metadata in
    single buffer, has no provisioned storage, or has better data but failed
    to register with blk integrity.
    
    The namespace has to be scanned in two phases to support separate
    metadata formats. The first establishes the sector size and capacity
    prior to invoking add_disk. If metadata is required, the capacity will
    be temporarilly set to 0 until it can be revalidated and registered with
    the integrity extenstions after add_disk completes.
    
    The driver relies on the integrity extensions to provide the metadata
    buffer. NVMe requires this be a single physically contiguous region,
    so only one integrity segment is allowed per command. If the metadata
    is used for T10 PI, the driver provides mappings to save and restore
    the reftag physical block translation. The driver provides no-op
    functions for generate and verify if metadata is not used for protection
    information. This way the setup is always provided by the block layer.
    
    If a request does not supply a required metadata buffer, the command
    is failed with bad address. This could only happen if a user manually
    disables verify/generate on such a disk. The only exception to where
    this is okay is if the controller is capable of stripping/generating
    the metadata, which is possible on some types of formats.
    
    The metadata scatter gather list now occupies the spot in the nvme_iod
    that used to be used to link retryable IOD's, but we don't do that
    anymore, so the field was unused.
    
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Keith Busch committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    e1e5e56 View commit details
    Browse the repository at this point in the history
  28. NVMe: Update SCSI Inquiry VPD 83h translation

    The original translation created collisions on Inquiry VPD 83 for many
    existing devices. Newer specifications provide other ways to translate
    based on the device's version can be used to create unique identifiers.
    
    Version 1.1 provides an EUI64 field that uniquely identifies each
    namespace, and 1.2 added the longer NGUID field for the same reason.
    Both follow the IEEE EUI format and readily translate to the SCSI device
    identification EUI designator type 2h. For devices implementing either,
    the translation will use this type, defaulting to the EUI64 8-byte type if
    implemented then NGUID's 16 byte version if not. If neither are provided,
    the 1.0 translation is used, and is updated to use the SCSI String format
    to guarantee a unique identifier.
    
    Knowing when to use the new fields depends on the nvme controller's
    revision. The NVME_VS macro was not decoding this correctly, so that is
    fixed in this patch and moved to a more appropriate place.
    
    Since the Identify Namespace structure required an update for the NGUID
    field, this patch adds the remaining new 1.2 fields to the structure.
    
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Keith Busch committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    4f1982b View commit details
    Browse the repository at this point in the history
  29. NVMe: Register management handle under nvme class

    This creates a new class type for nvme devices to register their
    management character devices with. This is so we do not rely on miscdev
    to provide enough minors for as many nvme devices some people plan to
    use. The previous limit was approximately 60 NVMe controllers, depending
    on the platform and kernel. Now the limit is 1M, which ought to be enough
    for anybody.
    
    Since we have a new device class, it makes sense to attach the block
    devices under this as well, so part of this patch moves the management
    handle initialization prior to the namespaces discovery.
    
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Keith Busch committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    b3fffde View commit details
    Browse the repository at this point in the history
  30. NVMe: Asynchronous controller probe

    This performs the longest parts of nvme device probe in scheduled work.
    This speeds up probe significantly when multiple devices are in use.
    
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Keith Busch committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    2e1d844 View commit details
    Browse the repository at this point in the history
  31. NVMe: Fix potential corruption during shutdown

    The driver has to end unreturned commands at some point even if the
    controller has not provided a completion. The driver tried to be safe by
    deleting IO queues prior to ending all unreturned commands. That should
    cause the controller to internally abort inflight commands, but IO queue
    deletion request does not have to be successful, so all bets are off. We
    still have to make progress, so to be extra safe, this patch doesn't
    clear a queue to release the dma mapping for a command until after the
    pci device has been disabled.
    
    This patch removes the special handling during device initialization
    so controller recovery can be done all the time. This is possible since
    initialization is not inlined with pci probe anymore.
    
    Reported-by: Nilish Choudhury <nilesh.choudhury@oracle.com>
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Keith Busch committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    07836e6 View commit details
    Browse the repository at this point in the history
  32. NVMe: Fix scsi mode select llbaa setting

    It should be a logical bitwise AND, not conditional.
    
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Keith Busch committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    9ac1693 View commit details
    Browse the repository at this point in the history
  33. NVMe: Remove unused variables

    We don't track queues in a llist, subscribe to hot-cpu notifications,
    or internally retry commands. Delete the unused artifacts.
    
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Keith Busch committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    4832851 View commit details
    Browse the repository at this point in the history
  34. NVMe: Fix potential corruption on sync commands

    This makes all sync commands uninterruptible and schedules without timeout
    so the controller either has to post a completion or the timeout recovery
    fails the command. This fixes potential memory or data corruption from
    a command timing out too early or woken by a signal. Previously any DMA
    buffers mapped for that command would have been released even though we
    don't know what the controller is planning to do with those addresses.
    
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Keith Busch committed Feb 19, 2015
    Configuration menu
    Copy the full SHA
    0c0f9b9 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2015

  1. ipmi: Remove a FIXME for slab conversion

    There can't be more than a few IPMI messages allocated at any one time,
    so converting the messages to slabs would be a waste.  So just remove
    the FIXME.
    
    Suggested-by: Nicholas Krause <xerofoify@gmail.com>
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    2fcaf60 View commit details
    Browse the repository at this point in the history
  2. char: ipmi: Remove obsolete cleanup for clientdata

    A few new i2c-drivers came into the kernel which clear the clientdata-pointer
    on exit or error. This is obsolete meanwhile, the core will do it.
    
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    Wolfram Sang authored and cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    bb82d90 View commit details
    Browse the repository at this point in the history
  3. drivers:char:ipmi: Remove unneeded FIXME comment in the file,ipmi_si_…

    …intf.c
    
    Removes a no longer needed FIXME comment in the function,acpi_gpe_irq_setup
    for the file,ipmi_si_intf.c. This comment is no longer needed as clearly we
    are passing the correct level of  ACPI_GPE_LEVEL_TRIGGERED to the installer
    function,acpi_install_gpe_handler due to no breakage after years of using
    this ACPI level in the function,acpi_install_gpe_handler.
    
    Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    Nicholas Krause authored and cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    31013fa View commit details
    Browse the repository at this point in the history
  4. ipmi: Cleanup DEBUG_TIMING ifdef usage

    The driver uses #ifdef DEBUG_TIMING in order to conditionally print out
    timestamped debug messages. Unfortunately it adds the ifdefs all over the
    usage sites.
    
    This patch cleans it up by adding a debug_timestamp() function which
    is compiled out if DEBUG_TIMING isn't present. This cleans up all
    the ugly ifdefs in the function logic.
    
    Cc: openipmi-developer@lists.sourceforge.net
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Signed-off-by: Corey Minyard <minyard@mvista.com>
    johnstultz-work authored and cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    f93aae9 View commit details
    Browse the repository at this point in the history
  5. ipmi: Update timespec usage to timespec64

    As part of the internal y2038 cleanup, this patch removes
    timespec usage in the ipmi driver, replacing it timespec64
    
    Cc: openipmi-developer@lists.sourceforge.net
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Signed-off-by: Corey Minyard <minyard@mvista.com>
    johnstultz-work authored and cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    48862ea View commit details
    Browse the repository at this point in the history
  6. ipmi: avoid gcc warning

    A new harmless warning has come up on ARM builds with gcc-4.9:
    
    drivers/char/ipmi/ipmi_msghandler.c: In function 'smi_send.isra.11':
    include/linux/spinlock.h:372:95: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
      raw_spin_unlock_irqrestore(&lock->rlock, flags);
                                                                                                   ^
    drivers/char/ipmi/ipmi_msghandler.c:1490:16: note: 'flags' was declared here
      unsigned long flags;
                    ^
    
    This could be worked around by initializing the 'flags' variable, but it
    seems better to rework the code to avoid this.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Fixes: 7ea0ed2 ("ipmi: Make the message handler easier to use for SMI interfaces")
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    arndb authored and cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    191cc41 View commit details
    Browse the repository at this point in the history
  7. ipmi: Free ipmi_recv_msg messages from the linked list on close

    This adds a loop through the elements in the linked list, recv_msgs using
    list_for_entry_safe in order to free messages in this list.  In addition
    we are using the safe version of this marco in order to prevent use after
    bugs related to deleting the element we are on currently by holding a
    pointer to the next element after the current one we are on and freeing
    with the function, ipmi_free_recv_msg internally in this loop.
    
    Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    Nicholas Krause authored and cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    bdf2829 View commit details
    Browse the repository at this point in the history
  8. ipmi: Use is_visible callback for conditional sysfs entries

    Instead of manual calls of device_create_file() and
    device_remove_file(), implement the condition in is_visible callback
    for the attribute group and put these entries to the group, too.
    This simplifies the code and avoids the possible races.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    tiwai authored and cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    2d06a0c View commit details
    Browse the repository at this point in the history
  9. ipmi: Remove uses of return value of seq_printf

    The seq_printf like functions will soon be changed to return void.
    
    Convert these uses to check seq_has_overflowed instead.
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    JoePerches authored and cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    d6c5dc1 View commit details
    Browse the repository at this point in the history
  10. ipmi: Fix a memory ordering issue

    From a locking point of view it is safe to check waiting_msg without
    a lock, but there is a memory ordering issue that causes it to
    possibly not be set right when viewed from another processor.  We are
    already claiming a lock right after that, move the check to inside
    the lock to enforce the memory ordering.
    
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    cminyard committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    1d86e29 View commit details
    Browse the repository at this point in the history
  11. clk: Only recalculate the rate if needed

    We don't really need to recalculate the effective rate of a clock when a
    per-user clock is removed, if the constraints of the later aren't
    limiting the requested rate.
    
    This was causing problems with clocks that never had a rate set before,
    as rate_req would be zero. Though this could be considered a bug in the
    implementation of those clocks, this should be checked somewhere else.
    
    Fixes: 1c8e600 ("clk: Add rate constraints to clocks")
    Cc: Thierry Reding <thierry.reding@gmail.com>
    Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
    Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Signed-off-by: Michael Turquette <mturquette@linaro.org>
    tomeuv authored and Michael Turquette committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    ec02ace View commit details
    Browse the repository at this point in the history
  12. x86/mm/ASLR: Avoid PAGE_SIZE redefinition for UML subarch

    Commit f47233c ("x86/mm/ASLR: Propagate base load address
    calculation") causes PAGE_SIZE redefinition warnings for UML
    subarch  builds. This is caused by added includes that were
    leftovers from previous  patch versions are are not actually
    needed (especially page_types.h  inlcude in module.c). Drop
    those stray includes.
    
    Reported-by: kbuild test robot <fengguang.wu@intel.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: H. Peter Anvin <hpa@linux.intel.com>
    Cc: Kees Cook <keescook@chromium.org>
    Link: http://lkml.kernel.org/r/alpine.LNX.2.00.1502201017240.28769@pobox.suse.cz
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Jiri Kosina authored and Ingo Molnar committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    570e1aa View commit details
    Browse the repository at this point in the history
  13. thermal: exynos: fix: Check if data->tmu_read callback is present bef…

    …ore read
    
    The exynos_tmu_data() function should on entrance test not only for valid
    data pointer, but also for data->tmu_read one.
    It is important, since afterwards it is dereferenced to get temperature code.
    
    Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
    Tested-by: Abhilash Kesavan <a.kesavan@samsung.com>
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    Lukasz Majewski authored and zhang-rui committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    4531fa1 View commit details
    Browse the repository at this point in the history
  14. i2c: ocores: rework clk code to handle NULL cookie

    For, !HAVE_CLK the clk API returns a NULL cookie. Rework the
    initialization code to handle that. If clk_get_rate() delivers 0, we use
    the fallback mechanisms. The patch is pretty easy when ignoring white
    space issues (git diff -b).
    
    Suggested-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Tested-by: Max Filippov <jcmvbkbc@gmail.com>
    Wolfram Sang committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    0d8fb59 View commit details
    Browse the repository at this point in the history
  15. IB/qib: Fix checkpatch warnings

    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    mmarcini authored and rolandd committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    a46a280 View commit details
    Browse the repository at this point in the history
  16. IB/qib: Add blank line after declaration

    Upstream checkpatch now requires this.
    
    Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    mmarcini authored and rolandd committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    da12c1f View commit details
    Browse the repository at this point in the history
  17. Merge branches 'core', 'cxgb4', 'iser', 'mlx4', 'mlx5', 'ocrdma', 'od…

    …p', 'qib' and 'srp' into for-next
    rolandd committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    147d1da View commit details
    Browse the repository at this point in the history
  18. Merge branch 'next' into for-linus

    Second round of updates for 3.20.
    dtor committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    4c971aa View commit details
    Browse the repository at this point in the history
  19. Merge tag 'for-linus-3.20-1' of git://git.code.sf.net/p/openipmi/linu…

    …x-ipmi
    
    Pull IPMI driver updates from Corey Minyard:
     "Some minor fixes and cleanups, nothing big.
    
      In for-next for a while and I've done some extensive beating on the
      driver since I have it working in qemu and can do creatively cruel
      things to it"
    
    * tag 'for-linus-3.20-1' of git://git.code.sf.net/p/openipmi/linux-ipmi:
      ipmi: Fix a memory ordering issue
      ipmi: Remove uses of return value of seq_printf
      ipmi: Use is_visible callback for conditional sysfs entries
      ipmi: Free ipmi_recv_msg messages from the linked list on close
      ipmi: avoid gcc warning
      ipmi: Update timespec usage to timespec64
      ipmi: Cleanup DEBUG_TIMING ifdef usage
      drivers:char:ipmi: Remove unneeded FIXME comment in the file,ipmi_si_intf.c
      char: ipmi: Remove obsolete cleanup for clientdata
      ipmi: Remove a FIXME for slab conversion
    torvalds committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    7bad222 View commit details
    Browse the repository at this point in the history
  20. Merge tag 'for_linux-3.20-rc1' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/jwessel/kgdb
    
    Pull kgdb/kdb updates from Jason Wessel:
     "KGDB/KDB New:
       - KDB: improved searching
       - No longer enter debug core on panic if panic timeout is set
    
      KGDB/KDB regressions / cleanups
       - fix pdf doc build errors
       - prevent junk characters on kdb console from printk levels"
    
    * tag 'for_linux-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:
      kgdb, docs: Fix <para> pdfdocs build errors
      debug: prevent entering debug mode on panic/exception.
      kdb: Const qualifier for kdb_getstr's prompt argument
      kdb: Provide forward search at more prompt
      kdb: Fix a prompt management bug when using | grep
      kdb: Remove stack dump when entering kgdb due to NMI
      kdb: Avoid printing KERN_ levels to consoles
      kdb: Fix off by one error in kdb_cpu()
      kdb: fix incorrect counts in KDB summary command output
    torvalds committed Feb 20, 2015
    Configuration menu
    Copy the full SHA
    4fbd0a8 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2015

  1. Merge branches 'acpi-ec', 'acpi-soc', 'acpi-video' and 'acpi-resources'

    * acpi-ec:
      ACPI / EC: Remove non-standard log emphasis
    
    * acpi-soc:
      ACPI / LPSS: Deassert resets for SPI host controllers on Braswell
      ACPI / LPSS: Always disable I2C host controllers
      Revert "ACPI / LPSS: Remove non-existing clock control from Intel Lynxpoint I2C"
    
    * acpi-video:
      ACPI / video: Disable native backlight on Samsung Series 9 laptops
    
    * acpi-resources:
      ACPI / resources: Change pr_info() to pr_debug() for debug information
    rafaeljw committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    9d0de5a View commit details
    Browse the repository at this point in the history
  2. Merge branches 'pnp', 'pm-cpuidle' and 'pm-cpufreq'

    * pnp:
      PNP: Switch from __check_region() to __request_region()
    
    * pm-cpuidle:
      cpuidle: powernv: Avoid endianness conversions while parsing DT
      cpuidle: powernv: Read target_residency value of idle states from DT if available
    
    * pm-cpufreq:
      cpufreq: s3c: remove last use of resume_clocks callback
      cpufreq: s3c: remove incorrect __init annotations
    rafaeljw committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    3466b54 View commit details
    Browse the repository at this point in the history
  3. blk-throttle: check stats_cpu before reading it from sysfs

    When reading blkio.throttle.io_serviced in a recently created blkio
    cgroup, it's possible to race against the creation of a throttle policy,
    which delays the allocation of stats_cpu.
    
    Like other functions in the throttle code, just checking for a NULL
    stats_cpu prevents the following oops caused by that race.
    
    [ 1117.285199] Unable to handle kernel paging request for data at address 0x7fb4d0020
    [ 1117.285252] Faulting instruction address: 0xc0000000003efa2c
    [ 1137.733921] Oops: Kernel access of bad area, sig: 11 [#1]
    [ 1137.733945] SMP NR_CPUS=2048 NUMA PowerNV
    [ 1137.734025] Modules linked in: bridge stp llc kvm_hv kvm binfmt_misc autofs4
    [ 1137.734102] CPU: 3 PID: 5302 Comm: blkcgroup Not tainted 3.19.0 #5
    [ 1137.734132] task: c000000f1d188b00 ti: c000000f1d210000 task.ti: c000000f1d210000
    [ 1137.734167] NIP: c0000000003efa2c LR: c0000000003ef9f0 CTR: c0000000003ef980
    [ 1137.734202] REGS: c000000f1d213500 TRAP: 0300   Not tainted  (3.19.0)
    [ 1137.734230] MSR: 9000000000009032 <SF,HV,EE,ME,IR,DR,RI>  CR: 42008884  XER: 20000000
    [ 1137.734325] CFAR: 0000000000008458 DAR: 00000007fb4d0020 DSISR: 40000000 SOFTE: 0
    GPR00: c0000000003ed3a0 c000000f1d213780 c000000000c59538 0000000000000000
    GPR04: 0000000000000800 0000000000000000 0000000000000000 0000000000000000
    GPR08: ffffffffffffffff 00000007fb4d0020 00000007fb4d0000 c000000000780808
    GPR12: 0000000022000888 c00000000fdc0d80 0000000000000000 0000000000000000
    GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
    GPR20: 000001003e120200 c000000f1d5b0cc0 0000000000000200 0000000000000000
    GPR24: 0000000000000001 c000000000c269e0 0000000000000020 c000000f1d5b0c80
    GPR28: c000000000ca3a08 c000000000ca3dec c000000f1c667e00 c000000f1d213850
    [ 1137.734886] NIP [c0000000003efa2c] .tg_prfill_cpu_rwstat+0xac/0x180
    [ 1137.734915] LR [c0000000003ef9f0] .tg_prfill_cpu_rwstat+0x70/0x180
    [ 1137.734943] Call Trace:
    [ 1137.734952] [c000000f1d213780] [d000000005560520] 0xd000000005560520 (unreliable)
    [ 1137.734996] [c000000f1d2138a0] [c0000000003ed3a0] .blkcg_print_blkgs+0xe0/0x1a0
    [ 1137.735039] [c000000f1d213960] [c0000000003efb50] .tg_print_cpu_rwstat+0x50/0x70
    [ 1137.735082] [c000000f1d2139e0] [c000000000104b48] .cgroup_seqfile_show+0x58/0x150
    [ 1137.735125] [c000000f1d213a70] [c0000000002749dc] .kernfs_seq_show+0x3c/0x50
    [ 1137.735161] [c000000f1d213ae0] [c000000000218630] .seq_read+0xe0/0x510
    [ 1137.735197] [c000000f1d213bd0] [c000000000275b04] .kernfs_fop_read+0x164/0x200
    [ 1137.735240] [c000000f1d213c80] [c0000000001eb8e0] .__vfs_read+0x30/0x80
    [ 1137.735276] [c000000f1d213cf0] [c0000000001eb9c4] .vfs_read+0x94/0x1b0
    [ 1137.735312] [c000000f1d213d90] [c0000000001ebb38] .SyS_read+0x58/0x100
    [ 1137.735349] [c000000f1d213e30] [c000000000009218] syscall_exit+0x0/0x98
    [ 1137.735383] Instruction dump:
    [ 1137.735405] 7c6307b4 7f891800 409d00b8 60000000 60420000 3d420004 392a63b0 786a1f24
    [ 1137.735471] 7d49502 e93e01c8 7d495214 7d2ad214 <7cead02a> e9090008 e9490010 e9290018
    
    And here is one code that allows to easily reproduce this, although this
    has first been found by running docker.
    
    void run(pid_t pid)
    {
    	int n;
    	int status;
    	int fd;
    	char *buffer;
    	buffer = memalign(BUFFER_ALIGN, BUFFER_SIZE);
    	n = snprintf(buffer, BUFFER_SIZE, "%d\n", pid);
    	fd = open(CGPATH "/test/tasks", O_WRONLY);
    	write(fd, buffer, n);
    	close(fd);
    	if (fork() > 0) {
    		fd = open("/dev/sda", O_RDONLY | O_DIRECT);
    		read(fd, buffer, 512);
    		close(fd);
    		wait(&status);
    	} else {
    		fd = open(CGPATH "/test/blkio.throttle.io_serviced", O_RDONLY);
    		n = read(fd, buffer, BUFFER_SIZE);
    		close(fd);
    	}
    	free(buffer);
    	exit(0);
    }
    
    void test(void)
    {
    	int status;
    	mkdir(CGPATH "/test", 0666);
    	if (fork() > 0)
    		wait(&status);
    	else
    		run(getpid());
    	rmdir(CGPATH "/test");
    }
    
    int main(int argc, char **argv)
    {
    	int i;
    	for (i = 0; i < NR_TESTS; i++)
    		test();
    	return 0;
    }
    
    Reported-by: Ricardo Marin Matinata <rmm@br.ibm.com>
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Jens Axboe <axboe@fb.com>
    Thadeu Lima de Souza Cascardo authored and axboe committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    045c47c View commit details
    Browse the repository at this point in the history
  4. Merge branch 'for-3.20' of git://git.infradead.org/users/kbusch/linux…

    …-nvme into for-linus
    
    Merge 3.20 NVMe changes from Keith.
    axboe committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    decf6d7 View commit details
    Browse the repository at this point in the history
  5. kernel: make READ_ONCE() valid on const arguments

    The use of READ_ONCE() causes lots of warnings witht he pending paravirt
    spinlock fixes, because those ends up having passing a member to a
    'const' structure to READ_ONCE().
    
    There should certainly be nothing wrong with using READ_ONCE() with a
    const source, but the helper function __read_once_size() would cause
    warnings because it would drop the 'const' qualifier, but also because
    the destination would be marked 'const' too due to the use of 'typeof'.
    
    Use a union of types in READ_ONCE() to avoid this issue.
    
    Also make sure to use parenthesis around the macro arguments to avoid
    possible operator precedence issues.
    
    Tested-by: Ingo Molnar <mingo@kernel.org>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    dd36929 View commit details
    Browse the repository at this point in the history
  6. Merge branches 'core-urgent-for-linus' and 'irq-urgent-for-linus' of …

    …git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull rcu fix and x86 irq fix from Ingo Molnar:
    
     - Fix a bug that caused an RCU warning splat.
    
     - Two x86 irq related fixes: a hotplug crash fix and an ACPI IRQ
       registry fix.
    
    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      rcu: Clear need_qs flag to prevent splat
    
    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/irq: Check for valid irq descriptor in check_irq_vectors_for_cpu_disable()
      x86/irq: Fix regression caused by commit b568b86
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    3f4d992 View commit details
    Browse the repository at this point in the history
  7. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull x86 uprobe/kprobe fixes from Ingo Molnar:
     "This contains two uprobes fixes, an uprobes comment update and a
      kprobes fix"
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      kprobes/x86: Mark 2 bytes NOP as boostable
      uprobes/x86: Fix 2-byte opcode table
      uprobes/x86: Fix 1-byte opcode tables
      uprobes/x86: Add comment with insn opcodes, mnemonics and why we dont support them
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    b5aeca5 View commit details
    Browse the repository at this point in the history
  8. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull scheduler fixes from Ingo Molnar:
     "Thiscontains misc fixes: preempt_schedule_common() and io_schedule()
      recursion fixes, sched/dl fixes, a completion_done() revert, two
      sched/rt fixes and a comment update patch"
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/rt: Avoid obvious configuration fail
      sched/autogroup: Fix failure to set cpu.rt_runtime_us
      sched/dl: Do update_rq_clock() in yield_task_dl()
      sched: Prevent recursion in io_schedule()
      sched/completion: Serialize completion_done() with complete()
      sched: Fix preempt_schedule_common() triggering tracing recursion
      sched/dl: Prevent enqueue of a sleeping task in dl_task_timer()
      sched: Make dl_task_time() use task_rq_lock()
      sched: Clarify ordering between task_rq_lock() and move_queued_task()
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    e2defd0 View commit details
    Browse the repository at this point in the history
  9. Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull misc x86 fixes from Ingo Molnar:
     "This contains:
    
       - EFI fixes
       - a boot printout fix
       - ASLR/kASLR fixes
       - intel microcode driver fixes
       - other misc fixes
    
      Most of the linecount comes from an EFI revert"
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/mm/ASLR: Avoid PAGE_SIZE redefinition for UML subarch
      x86/microcode/intel: Handle truncated microcode images more robustly
      x86/microcode/intel: Guard against stack overflow in the loader
      x86, mm/ASLR: Fix stack randomization on 64-bit systems
      x86/mm/init: Fix incorrect page size in init_memory_mapping() printks
      x86/mm/ASLR: Propagate base load address calculation
      Documentation/x86: Fix path in zero-page.txt
      x86/apic: Fix the devicetree build in certain configs
      Revert "efi/libstub: Call get_memory_map() to obtain map and desc sizes"
      x86/efi: Avoid triple faults during EFI mixed mode calls
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    5fbe4c2 View commit details
    Browse the repository at this point in the history
  10. Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/tip/tip
    
    Pull locking fixes from Ingo Molnar:
     "Two fixes: the paravirt spin_unlock() corruption/crash fix, and an
      rtmutex NULL dereference crash fix"
    
    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/spinlocks/paravirt: Fix memory corruption on unlock
      locking/rtmutex: Avoid a NULL pointer dereference on deadlock
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    10436cf View commit details
    Browse the repository at this point in the history
  11. Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/tip/tip
    
    Pull ntp fix from Ingo Molnar:
     "An adjtimex interface regression fix for 32-bit systems"
    
    [ A check that was added in a previous commit is really only a concern
      for 64bit systems, but was applied to both 32 and 64bit systems, which
      results in breaking 32bit systems.
    
      Thus the fix here is to make the check only apply to 64bit systems ]
    
    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      ntp: Fixup adjtimex freq validation on 32-bit systems
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    f3c233d View commit details
    Browse the repository at this point in the history
  12. Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull Intel Quark SoC support from Ingo Molnar:
     "This adds support for Intel Quark X1000 SoC boards, used in the low
      power 32-bit x86 Intel Galileo microcontroller board intended for the
      Arduino space.
    
      There's been some preparatory core x86 patches for Quark CPU quirks
      merged already, but this rounds it all up and adds Kconfig enablement.
      It's a clean hardware enablement addition tree at this point"
    
    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/intel/quark: Fix simple_return.cocci warnings
      x86/intel/quark: Fix ptr_ret.cocci warnings
      x86/intel/quark: Add Intel Quark platform support
      x86/intel/quark: Add Isolated Memory Regions for Quark X1000
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    f967737 View commit details
    Browse the repository at this point in the history
  13. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/s390/linux
    
    Pull s390 fixes from Martin Schwidefsky:
     "Two patches to save some memory if CONFIG_NR_CPUS is large, a changed
      default for the use of compare-and-delay, and a couple of bug fixes"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390/spinlock: disabled compare-and-delay by default
      s390/mm: align 64-bit PIE binaries to 4GB
      s390/cacheinfo: coding style changes
      s390/cacheinfo: fix shared cpu masks
      s390/smp: reduce size of struct pcpu
      s390/topology: convert cpu_topology array to per cpu variable
      s390/topology: delay initialization of topology cpu masks
      s390/vdso: fix clock_gettime for CLOCK_THREAD_CPUTIME_ID, -2 and -3
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    d34696c View commit details
    Browse the repository at this point in the history
  14. Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/…

    …rzhang/linux
    
    Pull thermal management fix from Zhang Rui:
     "One patch to fix a problem that all Exynos SoCs will break at boot
      time"
    
    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
      thermal: exynos: fix: Check if data->tmu_read callback is present before read
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    f5e25f0 View commit details
    Browse the repository at this point in the history
  15. Merge tag 'sound-fix-3.20-rc1' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "Here are a few small fix patches for 3.20-rc1:
    
       - Quirks for Denon and Lifecam USB-audio devices and HD-audio on HP
         laptops
       - A long-time regression fix for HDSP eMADI
       - Add missing DRAIN_TRIGGER flag set for ASoC intel-sst
       - Trivial fixes for sequencer core and HD-audio Tegra, a LINE6
         cleanup"
    
    * tag 'sound-fix-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ALSA: usb: Fix support for Denon DA-300USB DAC (ID 154e:1003)
      ASoC: Intel: add SNDRV_PCM_INFO_DRAIN_TRIGGER flag
      ALSA: usb-audio: Don't attempt to get Lifecam HD-5000 sample rate
      ALSA: hda/tegra check correct return value from ioremap_resource
      ALSA: hdspm - Constrain periods to 2 on older cards
      ALSA: hda - enable mute led quirk for one more hp machine.
      ALSA: seq: potential out of bounds in do_control()
      ALSA: line6: Improve line6_read/write_data() interfaces
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    a2a6937 View commit details
    Browse the repository at this point in the history
  16. Merge tag 'vfio-v3.20-rc1' of git://github.com/awilliam/linux-vfio

    Pull VFIO updates from Alex Williamson:
    
     - IOMMU updates based on trace analysis
     - VFIO device request interface
    
    * tag 'vfio-v3.20-rc1' of git://github.com/awilliam/linux-vfio:
      vfio-pci: Add device request interface
      vfio-pci: Generalize setup of simple eventfds
      vfio: Add and use device request op for vfio bus drivers
      vfio: Tie IOMMU group reference to vfio group
      vfio: Add device tracking during unbind
      vfio/type1: Add conditional rescheduling
      vfio/type1: Chunk contiguous reserved/invalid page mappings
      vfio/type1: DMA unmap chunking
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    c189cb8 View commit details
    Browse the repository at this point in the history
  17. Merge tag 'clk-for-linus-3.20' of git://git.linaro.org/people/mike.tu…

    …rquette/linux
    
    Pull clock framework updates from Mike Turquette:
     "The clock framework changes contain the usual driver additions,
      enhancements and fixes mostly for ARM32, ARM64, MIPS and Power-based
      devices.
    
      Additionally the framework core underwent a bit of surgery with two
      major changes:
    
       - The boundary between the clock core and clock providers (e.g clock
         drivers) is now more well defined with dedicated provider helper
         functions.  struct clk no longer maps 1:1 with the hardware clock
         but is a true per-user cookie which helps us tracker users of
         hardware clocks and debug bad behavior.
    
       - The addition of rate constraints for clocks.  Rate ranges are now
         supported which are analogous to the voltage ranges in the
         regulator framework.
    
      Unfortunately these changes to the core created some breakeage.  We
      think we fixed it all up but for this reason there are lots of last
      minute commits trying to undo the damage"
    
    * tag 'clk-for-linus-3.20' of git://git.linaro.org/people/mike.turquette/linux: (113 commits)
      clk: Only recalculate the rate if needed
      Revert "clk: mxs: Fix invalid 32-bit access to frac registers"
      clk: qoriq: Add support for the platform PLL
      powerpc/corenet: Enable CLK_QORIQ
      clk: Replace explicit clk assignment with __clk_hw_set_clk
      clk: Add __clk_hw_set_clk helper function
      clk: Don't dereference parent clock if is NULL
      MIPS: Alchemy: Remove bogus args from alchemy_clk_fgcs_detr
      clkdev: Always allocate a struct clk and call __clk_get() w/ CCF
      clk: shmobile: div6: Avoid division by zero in .round_rate()
      clk: mxs: Fix invalid 32-bit access to frac registers
      clk: omap: compile legacy omap3 clocks conditionally
      clkdev: Export clk_register_clkdev
      clk: Add rate constraints to clocks
      clk: remove clk-private.h
      pci: xgene: do not use clk-private.h
      arm: omap2+ remove dead clock code
      clk: Make clk API return per-user struct clk instances
      clk: tegra: Define PLLD_DSI and remove dsia(b)_mux
      clk: tegra: Add support for the Tegra132 CAR IP block
      ...
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    18a8d49 View commit details
    Browse the repository at this point in the history
  18. Merge branch 'i2c/for-3.20' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/wsa/linux
    
    Pull i2c updates from Wolfram Sang:
     "Summary:
    
       - legacy PM code removed from the core, there were no users anymore
         (thanks to Lars-Peter Clausen)
    
       - new driver for Broadcom iProc
    
       - bigger driver updates for designware, rk3x, cadence, ocores
    
       - a bunch of smaller updates and bugfixes"
    
    * 'i2c/for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (31 commits)
      i2c: ocores: rework clk code to handle NULL cookie
      i2c: designware-baytrail: another fixup for proper Kconfig dependencies
      i2c: fix reference to functionality constants definition
      i2c: iproc: Add Broadcom iProc I2C Driver
      i2c: designware-pci: update Intel copyright line
      i2c: ocores: add common clock support
      i2c: hix5hd2: add COMPILE_TEST
      i2c: clarify comments about the dev_released completion
      i2c: ocores: fix clock-frequency binding usage
      i2c: tegra: Maintain CPU endianness
      i2c: designware-baytrail: use proper Kconfig dependencies
      i2c: designware: Do not calculate SCL timing parameters needlessly
      i2c: do not try to load modules for of-registered devices
      i2c: designware: Add Intel Baytrail PMIC I2C bus support
      i2c: designware: Add i2c bus locking support
      of: i2c: Add i2c-mux-idle-disconnect DT property to PCA954x mux driver
      i2c: designware: use {readl|writel}_relaxed instead of readl/writel
      i2c: designware-pci: no need to provide clk_khz
      i2c: designware-pci: remove Moorestown support
      i2c: imx: whitespace and checkpatch cleanup
      ...
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    2953245 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/roland/infiniband
    
    Pull InfiniBand/RDMA updates from Roland Dreier:
     - Re-enable on-demand paging changes with stable ABI
     - Fairly large set of ocrdma HW driver fixes
     - Some qib HW driver fixes
     - Other miscellaneous changes
    
    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (43 commits)
      IB/qib: Add blank line after declaration
      IB/qib: Fix checkpatch warnings
      IB/mlx5: Enable the ODP capability query verb
      IB/core: Add on demand paging caps to ib_uverbs_ex_query_device
      IB/core: Add support for extended query device caps
      RDMA/cxgb4: Don't hang threads forever waiting on WR replies
      RDMA/ocrdma: Fix off by one in ocrdma_query_gid()
      RDMA/ocrdma: Use unsigned for bit index
      RDMA/ocrdma: Help gcc generate better code for ocrdma_srq_toggle_bit
      RDMA/ocrdma: Update the ocrdma module version string
      RDMA/ocrdma: set vlan present bit for user AH
      RDMA/ocrdma: remove reference of ocrdma_dev out of ocrdma_qp structure
      RDMA/ocrdma: Add support for interrupt moderation
      RDMA/ocrdma: Honor return value of ocrdma_resolve_dmac
      RDMA/ocrdma: Allow expansion of the SQ CQEs via buddy CQ expansion of the QP
      RDMA/ocrdma: Discontinue support of RDMA-READ-WITH-INVALIDATE
      RDMA/ocrdma: Host crash on destroying device resources
      RDMA/ocrdma: Report correct state in ibv_query_qp
      RDMA/ocrdma: Debugfs enhancments for ocrdma driver
      RDMA/ocrdma: Report correct count of interrupt vectors while registering ocrdma device
      ...
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    b5ccb07 View commit details
    Browse the repository at this point in the history
  20. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/dtor/input
    
    Pull more input updates from Dmitry Torokhov:
     "The second round of updates for the input subsystem.
    
      Updates to ALPS an bfin_roraty drivers and a couple oother fixups"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: psmouse - use IS_ENABLED instead of homegrown code
      Input: bfin_rotary - introduce open and close methods
      Input: bfin_rotary - convert to use managed resources
      Input: bfin_rotary - use generic IO functions
      Input: bfin_rotary - move pin lists into into platform data
      Input: bfin_rotary - move platform header to linux/platform_data
      Input: bfin_rotary - mark suspend and resume code as __maybe_unused
      Input: bfin_rotary - fix potential oops in interrupt handler
      Input: ALPS - move v7 packet info to Documentation and v6 packet info
      Input: ALPS - fix confusing comment in protocol data
      Input: ALPS - do not mix trackstick and external PS/2 mouse data
      Input: ALPS - fix trackstick detection on some Dell Latitudes
      Input: ALPS - consolidate setting protocol parameters
      Input: ALPS - split protocol data from model info
      Input: ALPS - make Rushmore a separate protocol
      Input: ALPS - renumber protocol numbers
      Input: adi - remove an unnecessary check
      Input: pxa27x_keypad - remove an unneeded NULL check
      Input: soc_button_array - use "Windows" key for "Home"
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    1acd2de View commit details
    Browse the repository at this point in the history
  21. Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/nab/target-pending
    
    Pull SCSI target updates from Nicholas Bellinger:
     "The highlights this round include:
    
       - Update vhost-scsi to support F_ANY_LAYOUT using mm/iov_iter.c
         logic, and signal VERSION_1 support (MST + Viro + nab)
    
       - Fix iscsi/iser-target to remove problematic active_ts_set usage
         (Gavin Guo)
    
       - Update iscsi/iser-target to support multi-sequence sendtargets
         (Sagi)
    
       - Fix original PR_APTPL_BUF_LEN 8k size limitation (Martin Svec)
    
       - Add missing WRITE_SAME end-of-device sanity check (Bart)
    
       - Check for LBA + sectors wrap-around in sbc_parse_cdb() (nab)
    
       - Other various minor SPC/SBC compliance fixes based upon Ronnie
         Sahlberg test suite (nab)"
    
    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (32 commits)
      target: Set LBPWS10 bit in Logical Block Provisioning EVPD
      target: Fail UNMAP when emulate_tpu=0
      target: Fail WRITE_SAME w/ UNMAP=1 when emulate_tpws=0
      target: Add sanity checks for DPO/FUA bit usage
      target: Perform PROTECT sanity checks for WRITE_SAME
      target: Fail I/O with PROTECT bit when protection is unsupported
      target: Check for LBA + sectors wrap-around in sbc_parse_cdb
      target: Add missing WRITE_SAME end-of-device sanity check
      iscsi-target: Avoid IN_LOGOUT failure case for iser-target
      target: Fix PR_APTPL_BUF_LEN buffer size limitation
      iscsi-target: Drop problematic active_ts_list usage
      iscsi/iser-target: Support multi-sequence sendtargets text response
      iser-target: Remove duplicate function names
      vhost/scsi: potential memory corruption
      vhost/scsi: Global tcm_vhost -> vhost_scsi rename
      vhost/scsi: Drop left-over scsi_tcq.h include
      vhost/scsi: Set VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 feature bits
      vhost/scsi: Add ANY_LAYOUT support in vhost_scsi_handle_vq
      vhost/scsi: Add ANY_LAYOUT iov -> sgl mapping prerequisites
      vhost/scsi: Change vhost_scsi_map_to_sgl to accept iov ptr + len
      ...
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    e20d3ef View commit details
    Browse the repository at this point in the history
  22. Merge tag 'dm-3.20-changes-2' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/device-mapper/linux-dm
    
    Pull more device mapper changes from Mike Snitzer:
    
    - Significant dm-crypt CPU scalability performance improvements thanks
      to changes that enable effective use of an unbound workqueue across
      all available CPUs.  A large battery of tests were performed to
      validate these changes, summary of results is available here:
      https://www.redhat.com/archives/dm-devel/2015-February/msg00106.html
    
    - A few additional stable fixes (to DM core, dm-snapshot and dm-mirror)
      and a small fix to the dm-space-map-disk.
    
    * tag 'dm-3.20-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm snapshot: fix a possible invalid memory access on unload
      dm: fix a race condition in dm_get_md
      dm crypt: sort writes
      dm crypt: add 'submit_from_crypt_cpus' option
      dm crypt: offload writes to thread
      dm crypt: remove unused io_pool and _crypt_io_pool
      dm crypt: avoid deadlock in mempools
      dm crypt: don't allocate pages for a partial request
      dm crypt: use unbound workqueue for request processing
      dm io: reject unsupported DISCARD requests with EOPNOTSUPP
      dm mirror: do not degrade the mirror on discard error
      dm space map disk: fix sm_disk_count_is_more_than_one()
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    a911dcd View commit details
    Browse the repository at this point in the history
  23. Merge branch 'for-linus' of git://git.kernel.dk/linux-block

    Pull followup block layer updates from Jens Axboe:
     "Two things in this pull request:
    
       - A block throttle oops fix (marked for stable) from Thadeu.
    
       - The NVMe fixes/features queued up for 3.20, but merged later in the
         process.  From Keith.  We should have gotten this merged earlier,
         we're ironing out the kinks in the process.  Will be ready for the
         initial pull next series"
    
    * 'for-linus' of git://git.kernel.dk/linux-block:
      blk-throttle: check stats_cpu before reading it from sysfs
      NVMe: Fix potential corruption on sync commands
      NVMe: Remove unused variables
      NVMe: Fix scsi mode select llbaa setting
      NVMe: Fix potential corruption during shutdown
      NVMe: Asynchronous controller probe
      NVMe: Register management handle under nvme class
      NVMe: Update SCSI Inquiry VPD 83h translation
      NVMe: Metadata format support
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    2bfedd1 View commit details
    Browse the repository at this point in the history
  24. Merge tag 'pm+acpi-3.20-rc1-3' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/rafael/linux-pm
    
    Pull one more batch of power management and ACPI updates from Rafael Wysocki:
     "These are mostly fixes on top of the previously merged recent PM and
      ACPI material.
    
      First, one commit that broke the ACPI LPSS (Low-Power Subsystem)
      driver on a Dell box is reverted and there are two stable-candidate
      fixes for that driver.  Another fix cleans up two recently added ACPI
      EC messages that look odd and the printk level of a noisy debug
      message in the core ACPI resources handling code is reduced.
    
      In addition to that we have two stable-candidate fixes for the s3c
      cpufreq driver, two cpuidle powernv driver updates related to Device
      Trees and a PNP subsystem cleanup that will allow us to get rid of
      some old ugliness going forward.  Also there is a new blacklist entry
      for the ACPI backlight code.
    
      Specifics:
    
       - Revert a recent ACPI LPSS driver commit that prevented the touchpad
         driver from loading on Dell XPS13 (Jarkko Nikula).
    
       - Make the ACPI LPSS driver disable the I2C controllers and deassert
         SPI host controllers resets at startup on Intel BayTrail and
         Braswell SoCs in case they have been left in wrong states by the
         platform firmware which then may casuse fatal controller driver
         failures during resume from hibernation (Mika Westerberg).
    
       - Make two recently added ACPI EC messages look better (Scot Doyle).
    
       - Reduce the printk level of a recently added debug message related
         to ACPI resources that may become noisy in some cases (Rafael J
         Wysocki).
    
       - Add a new ACPI backlight blacklist entry for Samsung Series 9
         (900X3C/900X3D/900X3E/900X4C/900X4D) laptops where the native
         backlight interface doesn't work while the ACPI based one does
         (Jens Reyer).
    
       - Make the PNP sybsystem's core code use __request_region() followed
         by __release_region() instead of __check_region() which then will
         allow us to get rid of the latter as it has no more users (Jakub
         Sitnicki).
    
       - Fix a build breakage and an issue with two __init functions that
         may be called after initialization in the s3c cpufreq driver (Arnd
         Bergmann).
    
       - Make the powernv cpuidle driver read target_residency values for
         idle states from a Device Tree (as we have the suitable DT bindings
         for that now) and improve the parsing of the powermgmt DT node in
         that driver (Preeti U Murthy)"
    
    * tag 'pm+acpi-3.20-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      cpuidle: powernv: Avoid endianness conversions while parsing DT
      cpufreq: s3c: remove last use of resume_clocks callback
      cpufreq: s3c: remove incorrect __init annotations
      ACPI / LPSS: Deassert resets for SPI host controllers on Braswell
      ACPI / LPSS: Always disable I2C host controllers
      ACPI / resources: Change pr_info() to pr_debug() for debug information
      ACPI / video: Disable native backlight on Samsung Series 9 laptops
      cpuidle: powernv: Read target_residency value of idle states from DT if available
      Revert "ACPI / LPSS: Remove non-existing clock control from Intel Lynxpoint I2C"
      ACPI / EC: Remove non-standard log emphasis
      PNP: Switch from __check_region() to __request_region()
    torvalds committed Feb 21, 2015
    Configuration menu
    Copy the full SHA
    cd50b70 View commit details
    Browse the repository at this point in the history