Skip to content

Commit

Permalink
origin
Browse files Browse the repository at this point in the history
GIT 005f800508eb391480f463dad3d54e5b4ec67d57

commit 35607b02dbef304fa5037236a3b43c1d8ab2aa52
Author: Alexei Starovoitov <ast@plumgrid.com>
Date:   Tue Sep 23 13:50:10 2014 -0700

    sparc: bpf_jit: fix loads from negative offsets
    
    - fix BPF_LD|ABS|IND from negative offsets:
      make sure to sign extend lower 32 bits in 64-bit register
      before calling C helpers from JITed code, otherwise 'int k'
      argument of bpf_internal_load_pointer_neg_helper() function
      will be added as large unsigned integer, causing packet size
      check to trigger and abort the program.
    
      It's worth noting that JITed code for 'A = A op K' will affect
      upper 32 bits differently depending whether K is simm13 or not.
      Since small constants are sign extended, whereas large constants
      are stored in temp register and zero extended.
      That is ok and we don't have to pay a penalty of sign extension
      for every sethi, since all classic BPF instructions have 32-bit
      semantics and we only need to set correct upper bits when
      transitioning from JITed code into C.
    
    - though instructions 'A &= 0' and 'A *= 0' are odd, JIT compiler
      should not optimize them out
    
    Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c899c3f36458c6af6daf4bb405a715400de39b84
Author: David S. Miller <davem@davemloft.net>
Date:   Wed Sep 24 13:53:53 2014 -0400

    parisc: Update defconfigs which were missing CONFIG_NET.
    
    Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
    'select'.")  removed what happened to be the only instance of 'select
    NET'. Defconfigs that were relying on the select now lack networking
    support.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 95d77997fd8a2dc1eca9a46cde761ddb0742eec3
Author: David S. Miller <davem@davemloft.net>
Date:   Wed Sep 24 13:53:43 2014 -0400

    powerpc: Update defconfigs which were missing CONFIG_NET.
    
    Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
    'select'.")  removed what happened to be the only instance of 'select
    NET'. Defconfigs that were relying on the select now lack networking
    support.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ff408ba1fc97aef86af5715641760a33f0928423
Author: David S. Miller <davem@davemloft.net>
Date:   Wed Sep 24 13:44:32 2014 -0400

    s390: Update defconfigs which were missing CONFIG_NET.
    
    Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
    'select'.")  removed what happened to be the only instance of 'select
    NET'. Defconfigs that were relying on the select now lack networking
    support.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit af4de1b56816fdde40801d9f6c4a0e251f5f7047
Author: David S. Miller <davem@davemloft.net>
Date:   Wed Sep 24 13:44:16 2014 -0400

    mips: Update some more defconfigs which were missing CONFIG_NET.
    
    Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
    'select'.")  removed what happened to be the only instance of 'select
    NET'. Defconfigs that were relying on the select now lack networking
    support.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 1ab0b8b200ae54a03aaf63fa8ae5a241dd0cb499
Author: Michal Marek <mmarek@suse.cz>
Date:   Tue Sep 23 17:44:04 2014 +0200

    sparc: Set CONFIG_NET=y in defconfigs
    
    Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
    instead of selecting NET") removed what happened to be the only instance
    of 'select NET'. Defconfigs that were relying on the select now lack
    networking support.
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: sparclinux@vger.kernel.org
    Signed-off-by: Michal Marek <mmarek@suse.cz>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 925f7fadadd2fcafa6fea19252e4a1de412b9b85
Author: Michal Marek <mmarek@suse.cz>
Date:   Tue Sep 23 17:44:03 2014 +0200

    sh: Set CONFIG_NET=y in defconfigs
    
    Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
    instead of selecting NET") removed what happened to be the only instance
    of 'select NET'. Defconfigs that were relying on the select now lack
    networking support.
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: linux-sh@vger.kernel.org
    Signed-off-by: Michal Marek <mmarek@suse.cz>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 853e3e1d8e2f094cdb29d4a6e2359a96a44be0d8
Author: Michal Marek <mmarek@suse.cz>
Date:   Tue Sep 23 17:44:02 2014 +0200

    powerpc: Set CONFIG_NET=y in defconfigs
    
    Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
    instead of selecting NET") removed what happened to be the only instance
    of 'select NET'. Defconfigs that were relying on the select now lack
    networking support.
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Michal Marek <mmarek@suse.cz>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 25fee47f9ccd834bfb95c6f95e07033b0f2d5ddf
Author: Michal Marek <mmarek@suse.cz>
Date:   Tue Sep 23 17:44:01 2014 +0200

    parisc: Set CONFIG_NET=y in defconfigs
    
    Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
    instead of selecting NET") removed what happened to be the only instance
    of 'select NET'. Defconfigs that were relying on the select now lack
    networking support.
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: linux-parisc@vger.kernel.org
    Signed-off-by: Michal Marek <mmarek@suse.cz>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d1630f9ef288978fc5a4cd14a5fdcb7be7a703e4
Author: Michal Marek <mmarek@suse.cz>
Date:   Tue Sep 23 17:44:00 2014 +0200

    mips: Set CONFIG_NET=y in defconfigs
    
    Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
    instead of selecting NET") removed what happened to be the only instance
    of 'select NET'. Defconfigs that were relying on the select now lack
    networking support.
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: linux-mips@linux-mips.org
    Signed-off-by: Michal Marek <mmarek@suse.cz>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 0a30288da1aec914e158c2d7a3482a85f632750f
Author: Tejun Heo <tj@kernel.org>
Date:   Tue Sep 23 15:24:32 2014 -0400

    blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe
    
    blk-mq uses percpu_ref for its usage counter which tracks the number
    of in-flight commands and used to synchronously drain the queue on
    freeze.  percpu_ref shutdown takes measureable wallclock time as it
    involves a sched RCU grace period.  This means that draining a blk-mq
    takes measureable wallclock time.  One would think that this shouldn't
    matter as queue shutdown should be a rare event which takes place
    asynchronously w.r.t. userland.
    
    Unfortunately, SCSI probing involves synchronously setting up and then
    tearing down a lot of request_queues back-to-back for non-existent
    LUNs.  This means that SCSI probing may take more than ten seconds
    when scsi-mq is used.
    
    This will be properly fixed by implementing a mechanism to keep
    q->mq_usage_counter in atomic mode till genhd registration; however,
    that involves rather big updates to percpu_ref which is difficult to
    apply late in the devel cycle (v3.17-rc6 at the moment).  As a
    stop-gap measure till the proper fix can be implemented in the next
    cycle, this patch introduces __percpu_ref_kill_expedited() and makes
    blk_mq_freeze_queue() use it.  This is heavy-handed but should work
    for testing the experimental SCSI blk-mq implementation.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Christoph Hellwig <hch@infradead.org>
    Link: http://lkml.kernel.org/g/20140919113815.GA10791@lst.de
    Fixes: add703fda981 ("blk-mq: use percpu_ref for mq usage count")
    Cc: Kent Overstreet <kmo@daterainc.com>
    Cc: Jens Axboe <axboe@kernel.dk>
    Tested-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 7da4b29d496b1389d3a29b55d3668efecaa08ebd
Author: Mathias Krause <minipli@googlemail.com>
Date:   Tue Sep 23 22:31:07 2014 +0200

    crypto: aesni - disable "by8" AVX CTR optimization
    
    The "by8" implementation introduced in commit 22cddcc7df8f ("crypto: aes
    - AES CTR x86_64 "by8" AVX optimization") is failing crypto tests as it
    handles counter block overflows differently. It only accounts the right
    most 32 bit as a counter -- not the whole block as all other
    implementations do. This makes it fail the cryptomgr test #4 that
    specifically tests this corner case.
    
    As we're quite late in the release cycle, just disable the "by8" variant
    for now.
    
    Reported-by: Romain Francoise <romain@orebokech.com>
    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Cc: Chandramouli Narayanan <mouli@linux.intel.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit c9f21cb6388898bfe69886d001316dae7ecc9a4b
Author: Tom Lendacky <thomas.lendacky@amd.com>
Date:   Fri Sep 5 10:31:09 2014 -0500

    crypto: ccp - Check for CCP before registering crypto algs
    
    If the ccp is built as a built-in module, then ccp-crypto (whether
    built as a module or a built-in module) will be able to load and
    it will register its crypto algorithms.  If the system does not have
    a CCP this will result in -ENODEV being returned whenever a command
    is attempted to be queued by the registered crypto algorithms.
    
    Add an API, ccp_present(), that checks for the presence of a CCP
    on the system.  The ccp-crypto module can use this to determine if it
    should register it's crypto alogorithms.
    
    Cc: stable@vger.kernel.org
    Reported-by: Scot Doyle <lkml14@scotdoyle.com>
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    Tested-by: Scot Doyle <lkml14@scotdoyle.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit d26a7730b5874a5fa6779c62f4ad7c5065a94723
Author: John David Anglin <dave.anglin@bell.net>
Date:   Mon Sep 22 20:54:50 2014 -0400

    parisc: Only use -mfast-indirect-calls option for 32-bit kernel builds
    
    In spite of what the GCC manual says, the -mfast-indirect-calls has
    never been supported in the 64-bit parisc compiler. Indirect calls have
    always been done using function descriptors irrespective of the
    -mfast-indirect-calls option.
    
    Recently, it was noticed that a function descriptor was always requested
    when the -mfast-indirect-calls option was specified. This caused
    problems when the option was used in  application code and doesn't make
    any sense because the whole point of the option is to avoid using a
    function descriptor for indirect calls.
    
    Fixing this broke 64-bit kernel builds.
    
    I will fix GCC but for now we need the attached change. This results in
    the same kernel code as before.
    
    Signed-off-by: John David Anglin <dave.anglin@bell.net>
    Cc: stable@vger.kernel.org  # v3.0+
    Signed-off-by: Helge Deller <deller@gmx.de>

commit e8ee39e227d72823461907156f0046269d72ff15
Author: Tony Luck <tony.luck@intel.com>
Date:   Mon Sep 22 09:35:11 2014 -0700

    [IA64] refresh arch/ia64/configs/* using "make savedefconfig"
    
    Prompted by a change to drivers/scsi/Kconfig which used to do a
    "select NET" but now does a "depends on NET". This meant that some
    configurations ended up without CONFIG_NET=y
    
    Signed-off-by Tony Luck <tony.luck@intel.com>

commit f8adaf0ae978252c9f7e29e96aefcd8fcaf806ba
Author: Emil Goode <emilgoode@gmail.com>
Date:   Tue Sep 23 00:49:55 2014 +0200

    brcmfmac: Fix off by one bug in brcmf_count_20mhz_channels()
    
    In the brcmf_count_20mhz_channels function we are looping through a list
    of channels received from firmware. Since the index of the first channel
    is 0 the condition leads to an off by one bug. This is causing us to hit
    the WARN_ON_ONCE(1) calls in the brcmu_d11n_decchspec function, which is
    how I discovered the bug.
    
    Introduced by:
    commit b48d891676f756d48b4d0ee131e4a7a5d43ca417
    ("brcmfmac: rework wiphy structure setup")
    
    Acked-by: Arend van Spriel <arend@broadcom.com>
    Signed-off-by: Emil Goode <emilgoode@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>

commit 370ce45b5986118fa496dddbcd7039e1aa1a418f
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Tue Sep 23 10:20:13 2014 -0400

    drm/radeon/cik: use a separate counter for CP init timeout
    
    Otherwise we may fail to init the second compute ring.
    
    Noticed-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org

commit c84db77010877da6c5da119868ed54c43d59e726
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Wed Sep 17 15:34:58 2014 +0300

    drm/i915/hdmi: fix hdmi audio state readout
    
    Check the correct bit for audio. Seems like a copy-paste error from the
    start:
    
    commit 9ed109a7b445e3f073d8ea72f888ec80c0532465
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Thu Apr 24 23:54:52 2014 +0200
    
        drm/i915: Track has_audio in the pipe config
    
    Reported-by: Martin Andersen <martin.x.andersen@gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82756
    Cc: stable@vger.kernel.org # 3.16+
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>

commit 22cb99af39b5d4aae075a5bc9da615ba245227cd
Author: Brad Volkin <bradley.d.volkin@intel.com>
Date:   Mon Sep 22 08:25:21 2014 -0700

    drm/i915: Don't leak command parser tables on suspend/resume
    
    Ring init and cleanup are not balanced because we re-init the rings on
    resume without having cleaned them up on suspend. This leads to the
    driver leaking the parser's hash tables with a kmemleak signature such
    as this:
    
    unreferenced object 0xffff880405960980 (size 32):
      comm "systemd-udevd", pid 516, jiffies 4294896961 (age 10202.044s)
      hex dump (first 32 bytes):
        d0 85 46 c0 ff ff ff ff 00 00 00 00 00 00 00 00  ..F.............
        98 60 28 04 04 88 ff ff 00 00 00 00 00 00 00 00  .`(.............
      backtrace:
        [<ffffffff81816f9e>] kmemleak_alloc+0x4e/0xb0
        [<ffffffff811fa678>] kmem_cache_alloc_trace+0x168/0x2f0
        [<ffffffffc03e20a5>] i915_cmd_parser_init_ring+0x2a5/0x3e0 [i915]
        [<ffffffffc04088a2>] intel_init_ring_buffer+0x202/0x470 [i915]
        [<ffffffffc040c998>] intel_init_vebox_ring_buffer+0x1e8/0x2b0 [i915]
        [<ffffffffc03eff59>] i915_gem_init_hw+0x2f9/0x3a0 [i915]
        [<ffffffffc03f0057>] i915_gem_init+0x57/0x1d0 [i915]
        [<ffffffffc045e26a>] i915_driver_load+0xc0a/0x10e0 [i915]
        [<ffffffffc02e0d5d>] drm_dev_register+0xad/0x100 [drm]
        [<ffffffffc02e3b9f>] drm_get_pci_dev+0x8f/0x200 [drm]
        [<ffffffffc03c934b>] i915_pci_probe+0x3b/0x60 [i915]
        [<ffffffff81436725>] local_pci_probe+0x45/0xa0
        [<ffffffff81437a69>] pci_device_probe+0xd9/0x130
        [<ffffffff81524f4d>] driver_probe_device+0x12d/0x3e0
        [<ffffffff815252d3>] __driver_attach+0x93/0xa0
        [<ffffffff81522e1b>] bus_for_each_dev+0x6b/0xb0
    
    This patch extends the current convention of checking whether a
    resource is already allocated before allocating it during ring init.
    Longer term it might make sense to only init the rings once.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83794
    Tested-by: Kari Suvanto <kari.tj.suvanto@gmail.com>
    Signed-off-by: Brad Volkin <bradley.d.volkin@intel.com>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: stable@vger.kernel.org
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>

commit f3670394c29ff3730638762c1760fd2f624e6d7b
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Sep 22 23:05:49 2014 -0700

    Revert "x86/efi: Fixup GOT in all boot code paths"
    
    This reverts commit 9cb0e394234d244fe5a97e743ec9dd7ddff7e64b.
    
    It causes my Sony Vaio Pro 11 to immediately reboot at startup.
    
    Acked-by: Ingo Molnar <mingo@kernel.org>
    Cc: Peter Anvin <hpa@zytor.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Matt Fleming <matt.fleming@intel.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 7cbeb9f90db8e56856db7568520b735732d34d86
Author: Yinghai Lu <yinghai@kernel.org>
Date:   Mon Sep 22 20:05:45 2014 -0600

    PCI: pciehp: Fix pcie_wait_cmd() timeout
    
    pcie_poll_cmd() take msecs instead of jiffies, so convert timeout to msecs.
    
    Fixes: 40b960831cfa ("PCI: pciehp: Compute timeout from hotplug command start time")
    Signed-off-by: Yinghai Lu <yinghai@kernel.org>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit 4a0c081eff43a11c65dee3ad6c457f7f58bcebe0
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Mon Sep 22 11:54:43 2014 -0700

    net: bcmgenet: call bcmgenet_dma_teardown in bcmgenet_fini_dma
    
    We should not be manipulaging the DMA_CTRL registers directly by writing
    0 to them to disable DMA. This is an operation that needs to be timed to
    make sure the DMA engines have been properly stopped since their state
    machine stops on a packet boundary, not immediately.
    
    Make sure that tha bcmgenet_fini_dma() calls bcmgenet_dma_teardown() to
    ensure a proper DMA engine state. As a result, we need to reorder the
    function bodies to resolve the use dependency.
    
    Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 478a010c9235ca92e66cc5058b42e30e33275ad4
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Mon Sep 22 11:54:42 2014 -0700

    net: bcmgenet: fix TX reclaim accounting for fragments
    
    The GENET driver supports SKB fragments, and succeeds in transmitting
    them properly, but when reclaiming these transmitted fragments, we will
    only update the count of free buffer descriptors by 1, even for SKBs
    with fragments. This leads to the networking stack thinking it has more
    room than the hardware has when pushing new SKBs, and backing off
    consequently because we return NETDEV_TX_BUSY.
    
    Fix this by accounting for the SKB nr_frags plus one (itself) and update
    ring->free_bds accordingly with that value for each iteration loop in
    __bcmgenet_tx_reclaim().
    
    Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a35165ca101695aa2cc5a6300ef69ae60be39a49
Author: Eric Dumazet <edumazet@google.com>
Date:   Mon Sep 22 10:38:16 2014 -0700

    ipv4: do not use this_cpu_ptr() in preemptible context
    
    this_cpu_ptr() in preemptible context is generally bad
    
    Sep 22 05:05:55 br kernel: [   94.608310] BUG: using smp_processor_id()
    in
    preemptible [00000000] code: ip/2261
    Sep 22 05:05:55 br kernel: [   94.608316] caller is
    tunnel_dst_set.isra.28+0x20/0x60 [ip_tunnel]
    Sep 22 05:05:55 br kernel: [   94.608319] CPU: 3 PID: 2261 Comm: ip Not
    tainted
    3.17.0-rc5 #82
    
    We can simply use raw_cpu_ptr(), as preemption is safe in these
    contexts.
    
    Should fix https://bugzilla.kernel.org/show_bug.cgi?id=84991
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reported-by: Joe <joe9mail@gmail.com>
    Fixes: 9a4aa9af447f ("ipv4: Use percpu Cache route in IP tunnels")
    Acked-by: Tom Herbert <therbert@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ff1b129403aad9a5c7cc9a6eaaffe4bd5fc0c67f
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Mon Sep 22 17:28:29 2014 -0400

    drm/radeon: add PX quirk for asus K53TK
    
    Seems to have problems turning the dGPU on/off.
    
    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=51381
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 8aff6ad5a393b8e2ad00dce4d278ecf41397bf0d
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Wed Sep 17 11:31:02 2014 -0400

    drm/radeon: add a backlight quirk for Amilo Xi 2550
    
    Only the acpi backlight seems to work.  Using the
    radeon backlight controller causes the backlight to
    go off.
    
    bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=81382
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit bc13018b5eba26ca229b33763c9e61fac31a1925
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Tue Sep 16 20:57:26 2014 -0400

    drm/radeon: add a module parameter for backlight control (v2)
    
    Add a module parameter to disable the radeon GPU backlight
    controller to override the automatic detection.  Some
    laptops seems to indicate that they use the integrated
    controller, but appear to actually use an external
    controller.
    
    bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=81382
    
    v2: fix module parameter description
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit f55e03b975c230758c8f164347dfa10103f60e2c
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Sep 19 12:22:10 2014 +0900

    drm/radeon: Update IH_RB_RPTR register after each processed interrupt
    
    This might decrease the chance of IH ring buffer overflows.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 6cc2fda213d7a939e151ea1b5ec8033cce732c08
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Sep 19 12:22:07 2014 +0900

    drm/radeon: Make IH ring overflow debugging output more useful
    
    Use the same format for all ring indices, and fix the calculation of the
    post-overflow RPTR.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 11bab0ae9991b165b542294806013d1e06fb3294
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Sep 19 12:07:11 2014 +0900

    drm/radeon: Clear RB_OVERFLOW bit earlier
    
    Otherwise the bit remains set in rdev->ih.rptr, so the wptr can never
    match that and we still have an infinite loop.
    
    This fix allows me to successfully recover from an IH ring buffer
    overflow.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 1f2bb4acc125edc2c06db3ad3e8c699bc075ad52
Author: Christoffer Dall <christoffer.dall@linaro.org>
Date:   Mon Sep 22 22:10:36 2014 +0200

    arm/arm64: KVM: Fix unaligned access bug on gicv2 access
    
    We were using an atomic bitop on the vgic_v2.vgic_elrsr field which was
    not aligned to the natural size on 64-bit platforms.  This bug showed up
    after QEMU correctly identifies the pl011 line as being level-triggered,
    and not edge-triggered.
    
    These data structures are protected by a spinlock so simply use a
    non-atomic version of the accessor instead.
    
    Tested-by: Joel Schopp <joel.schopp@amd.com>
    Reported-by: Riku Voipio <riku.voipio@linaro.org>
    Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>

commit 46f341ffcfb5d8530f7d1e60f3be06cce6661b62
Author: Jens Axboe <axboe@fb.com>
Date:   Tue Sep 16 13:38:51 2014 -0600

    genhd: fix leftover might_sleep() in blk_free_devt()
    
    Commit 2da78092 changed the locking from a mutex to a spinlock,
    so we now longer sleep in this context. But there was a leftover
    might_sleep() in there, which now triggers since we do the final
    free from an RCU callback. Get rid of it.
    
    Reported-by: Pontus Fuchs <pontus.fuchs@gmail.com>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 09f3756bb9a82835b0c2a9b50f36b47aa42f2c61
Author: Tobias Klauser <tklauser@distanz.ch>
Date:   Fri Sep 19 16:16:25 2014 +0200

    dm9000: Return an ERR_PTR() in all error conditions of dm9000_parse_dt()
    
    In one error condition dm9000_parse_dt() returns NULL, however the
    return value is checked using IS_ERR() in dm9000_probe(), leading to the
    error not being properly propagated if CONFIG_OF is not enabled or the
    device tree data is not available. Fix this by also returning an
    ERR_PTR() in this case.
    
    Fixes: 0b8bf1baabe5 (net: dm9000: Allow instantiation using device tree)
    Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 2ba7d144d39a596cf5d09390ee7de21cfb69cf2b
Author: Wojciech Dubowik <Wojciech.Dubowik@neratec.com>
Date:   Thu Sep 18 08:30:41 2014 +0200

    ath9k: Fix NULL pointer dereference on early irq
    
    The ah struct might not have been initialized when
    interrupt comes so check for it.
    
    Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>

commit fa5c107cc887886a04ee2dbce05af86de220ae48
Author: Loic Poulain <loic.poulain@intel.com>
Date:   Tue Sep 16 14:53:58 2014 +0200

    net: rfkill: gpio: Fix clock status
    
    Clock is disabled when the device is blocked.
    So, clock_enabled is the logical negation of "blocked".
    
    Signed-off-by: Loic Poulain <loic.poulain@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>

commit 85911d71109d3dda8bb35515b78bcc1de6837785
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Fri Sep 19 13:40:25 2014 +0300

    r8169: fix an if condition
    
    There is an extra semi-colon so __rtl8169_set_features() is called every
    time.
    
    Fixes: 929a031dfd62 ('r8169: adjust __rtl8169_set_features')
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Hayes Wang <hayeswang@realtek.com>--
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d70b1137233836be1d71bd53ae60bec6c9e7203c
Author: hayeswang <hayeswang@realtek.com>
Date:   Fri Sep 19 15:17:18 2014 +0800

    r8152: disable ALDPS
    
    If the hw is in ALDPS mode, the hw may have no response for accessing
    the most registers. Therefore, the ALDPS should be disabled before
    accessing the hw in rtl_ops.init(), rtl_ops.disable(), rtl_ops.up(),
    and rtl_ops.down(). Regardless of rtl_ops.enable(), because the hw
    wouldn't enter ALDPS mode when linking on. The hw would enter the
    ALDPS mode after several seconds when link down occurs and the ALDPS
    is enabled.
    
    Signed-off-by: Hayes Wang <hayeswang@realtek.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b49fe36208b45f76dfbcfcd3afd952a33fa9f5ce
Author: Eric Dumazet <edumazet@google.com>
Date:   Thu Sep 18 11:00:27 2014 -0700

    ipoib: validate struct ipoib_cb size
    
    To catch future errors sooner.
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 257117862634d89de33fec74858b1a0ba5ab444b
Author: Eric Dumazet <edumazet@google.com>
Date:   Thu Sep 18 08:02:05 2014 -0700

    net: sched: shrink struct qdisc_skb_cb to 28 bytes
    
    We cannot make struct qdisc_skb_cb bigger without impacting IPoIB,
    or increasing skb->cb[] size.
    
    Commit e0f31d849867 ("flow_keys: Record IP layer protocol in
    skb_flow_dissect()") broke IPoIB.
    
    Only current offender is sch_choke, and this one do not need an
    absolutely precise flow key.
    
    If we store 17 bytes of flow key, its more than enough. (Its the actual
    size of flow_keys if it was a packed structure, but we might add new
    fields at the end of it later)
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Fixes: e0f31d849867 ("flow_keys: Record IP layer protocol in skb_flow_dissect()")
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 476c18850c6cbaa3f2bb661ae9710645081563b9
Author: Vlad Yasevich <vyasevich@gmail.com>
Date:   Thu Sep 18 10:31:17 2014 -0400

    tg3: Work around HW/FW limitations with vlan encapsulated frames
    
    TG3 appears to have an issue performing TSO and checksum offloading
    correclty when the frame has been vlan encapsulated (non-accelrated).
    In these cases, tcp checksum is not correctly updated.
    
    This patch attempts to work around this issue.  After the patch,
    802.1ad vlans start working correctly over tg3 devices.
    
    CC: Prashant Sreedharan <prashant@broadcom.com>
    CC: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 4e66cd13ff9cd7eaae69e2fae0335d8d99d8afdf
Author: sundarjdev <sdev@nestlabs.com>
Date:   Mon Sep 22 10:31:39 2014 -0700

    hwmon: (tmp103) Fix resource leak bug in tmp103 temperature sensor driver
    
    tmp103 temperature sensor driver registers with the hwmon framework by calling
    hwmon_device_register_with_groups but does not have a .remove method to call
    hwmon_device_unregister to unregister from the framework when the device is no
    longer needed. Fix this by calling devm_hwmon_device_register_with_groups.
    
    Signed-off-by: Sundar J Dev <sundarjayakumardev@gmail.com>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 07d92d5cc977a7fe1e683e1d4a6f723f7f2778cb
Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date:   Wed Sep 17 10:08:08 2014 +0200

    macvlan: allow to enqueue broadcast pkt on virtual device
    
    Since commit 412ca1550cbe ("macvlan: Move broadcasts into a work queue"), the
    driver uses tx_queue_len of the master device as the limit of packets enqueuing.
    Problem is that virtual drivers have this value set to 0, thus all broadcast
    packets were rejected.
    Because tx_queue_len was arbitrarily chosen, I replace it with a static limit
    of 1000 (also arbitrarily chosen).
    
    CC: Herbert Xu <herbert@gondor.apana.org.au>
    Reported-by: Thibaut Collet <thibaut.collet@6wind.com>
    Suggested-by: Thibaut Collet <thibaut.collet@6wind.com>
    Tested-by: Thibaut Collet <thibaut.collet@6wind.com>
    Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 8b95741569eabc5eb17da71d1d3668cdb0bef86c
Author: Jens Axboe <axboe@fb.com>
Date:   Fri Sep 19 13:10:29 2014 -0600

    blk-mq: use blk_mq_start_hw_queues() when running requeue work
    
    When requests are retried due to hw or sw resource shortages,
    we often stop the associated hardware queue. So ensure that we
    restart the queues when running the requeue work, otherwise the
    queue run will be a no-op.
    
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 6b55e1f2d0a5e462e52678278ab749468f1db81c
Author: Jens Axboe <axboe@fb.com>
Date:   Fri Sep 19 08:04:53 2014 -0600

    blk-mq: fix potential oops on out-of-memory in __blk_mq_alloc_rq_maps()
    
    __blk_mq_alloc_rq_maps() can be invoked multiple times, if we scale
    back the queue depth if we are low on memory. So don't clear
    set->tags when we fail, this is handled directly in
    the parent function, blk_mq_alloc_tag_set().
    
    Reported-by: Robert Elliott  <Elliott@hp.com>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit a57a178a490345c7236b0077b3de005754389ed6
Author: Christoph Hellwig <hch@lst.de>
Date:   Tue Sep 16 14:44:07 2014 -0700

    blk-mq: avoid infinite recursion with the FUA flag
    
    We should not insert requests into the flush state machine from
    blk_mq_insert_request.  All incoming flush requests come through
    blk_{m,s}q_make_request and are handled there, while blk_execute_rq_nowait
    should only be called for BLOCK_PC requests.  All other callers
    deal with requests that already went through the flush statemchine
    and shouldn't be reinserted into it.
    
    Reported-by: Robert Elliott  <Elliott@hp.com>
    Debugged-by: Ming Lei <ming.lei@canonical.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 683d0e126232d898a481daa3a4ca032c2b1a9660
Author: David Hildenbrand <dahi@linux.vnet.ibm.com>
Date:   Thu Sep 18 11:04:31 2014 +0200

    blk-mq: Avoid race condition with uninitialized requests
    
    This patch should fix the bug reported in
    https://lkml.org/lkml/2014/9/11/249.
    
    We have to initialize at least the atomic_flags and the cmd_flags when
    allocating storage for the requests.
    
    Otherwise blk_mq_timeout_check() might dereference uninitialized
    pointers when racing with the creation of a request.
    
    Also move the reset of cmd_flags for the initializing code to the point
    where a request is freed. So we will never end up with pending flush
    request indicators that might trigger dereferences of invalid pointers
    in blk_mq_timeout_check().
    
    Cc: stable@vger.kernel.org
    Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
    Reported-by: Paulo De Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
    Tested-by: Paulo De Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
    Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 538b75341835e3c2041ff066408de10d24fdc830
Author: Jens Axboe <axboe@fb.com>
Date:   Tue Sep 16 10:37:37 2014 -0600

    blk-mq: request deadline must be visible before marking rq as started
    
    When we start the request, we set the deadline and flip the bits
    marking the request as started and non-complete. However, it's
    important that the deadline store is ordered before flipping the
    bits, otherwise we could have a small window where the request is
    marked started but with an invalid deadline. This can confuse the
    timeout handling.
    
    Suggested-by: Ming Lei <tom.leiming@gmail.com>
    Signed-off-by: Jens Axboe <axboe@fb.com>

commit 4e5f9ef380b00871995d638c03e7ae7c67244e31
Author: David S. Miller <davem@davemloft.net>
Date:   Mon Sep 22 13:25:51 2014 -0400

    pch_gbe: 'select' NET_PTP_CLASSIFY.
    
    Fixes the following randconfig build failure:
    
    > drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c: In function
    > ‘pch_ptp_match’:
    > drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c:130:2: error:
    > implicit declaration of function ‘ptp_classify_raw’
    > [-Werror=implicit-function-declaration]
    >   if (ptp_classify_raw(skb) == PTP_CLASS_NONE)
    >   ^
    > cc1: some warnings being treated as errors
    > make[5]: *** [drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.o] Error 1
    
    Reported-by: Jim Davis <jim.epost@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit df568d8e5250bf24e38c69ad4374baf0f8d279ba
Author: David S. Miller <davem@davemloft.net>
Date:   Mon Sep 22 13:14:33 2014 -0400

    scsi: Use 'depends' with LIBFC instead of 'select'.
    
    LIBFC depends upon SCSI_FC_ATTRS and select's CRC32C.
    
    The only alternative would be to 'select' CRC32C and all of
    SCSI_FC_ATTRS direct and indirect dependencies in the Kconfig section
    for every LIBFCOE user which makes little sense.
    
    Subsequently, use 'depends' instead of 'select' for LIBFCOE too.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 25476b0209b2e48dfb689e1b4cf7278875082b1f
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Thu Sep 11 14:11:20 2014 +0300

    IB/mlx4: Fix VF mac handling in RoCE
    
    We had several problems here.  First, a race condition on QP1 mac
    handling between mlx4_ib_update_qps and mlx4_ib_modify_qp, which is
    fixed by taking the qp mutex in mlx4_ib_update_qps.
    
    Also, qp->pri.smac_port was not updated in mlx4_ib_update_qps.
    
    Last, in __mlx4_ib_modify_qp we did not properly handle the case where
    the mac is zero, but port is non-zero.
    
    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>

commit 3dec48788817fce4a029cbab14f2b407ae78478f
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Thu Sep 11 14:11:19 2014 +0300

    IB/mlx4: Do not allow APM under RoCE
    
    Automatic Path Migration is not supported under RoCE. Therefore,
    return a "not-supported" error if the caller attempts to set an
    alternate path in a QP context.
    
    In addition, if there are no IB ports configured, do not report
    APM capability in the device flags returned by mlx4_ib_query_device.
    
    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>

commit d24d9f43384b5933867a5786934e130efa8b5c92
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Thu Sep 11 14:11:18 2014 +0300

    IB/mlx4: Don't update QP1 in native mode
    
    For native functions (non-SR-IOV), there's no reason to update
    the smac_index, as QP1 is a GSI QP.
    
    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>

commit 3e0629cb6c0518423c9e2671bbe8ec15dde5dcaf
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Thu Sep 11 14:11:17 2014 +0300

    IB/mlx4: Avoid accessing netdevice when building RoCE qp1 header
    
    The source MAC is needed in RoCE when building the QP1 header.
    
    Currently, this is obtained from the source net device. However, the net
    device may not yet exist, or can be destroyed in parallel to this QP1 send
    operation (e.g through the VPI port change flow) so accessing it may cause
    a kernel crash.
    
    To fix this, we maintain a source MAC cache per port for the net device in
    struct mlx4_ib_roce.  This cached MAC is initialized to be the default MAC
    address obtained during HCA initialization via QUERY_PORT. This cached MAC
    is updated via the netdev event notifier handler.
    
    Since the cached MAC is held in an atomic64 object, we do not need locking
    when accessing it.
    
    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>

commit f4fd40b26bd597e203639281859a758402550d62
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Thu Sep 11 14:11:16 2014 +0300

    mlx4: Fix mlx4 reg/unreg mac to work properly with 0-mac addresses
    
    There is a chance that the VF mlx4 RoCE driver (mlx4_ib) may see a 0-mac
    as the current default MAC address when a RoCE interface first comes up.
    
    In this case, the RoCE driver registers the 0-mac to get its MAC index --
    used in the INIT2RTR transition when it creates its proxy Q1 qp's.
    
    If we do not allow QP1 to be created, the RoCE driver will not come up.
    If we do not register the 0-mac, but simply use a random mac-index,
    QP1 will attempt to send packets with an someone's else source MAC which
    will get the system into more troubled.
    
    Since a 0-mac was previously used to indicate a free slot, this leads to
    errors, both when the 0-mac is registered and when it is unregistered.
    
    The required fix is to check in addition that the slot containing the
    0-mac has a reference count of zero.
    
    Additionally, when comparing MAC addresses, need to mask out the 2 MSBs
    of the u64 mac on both sides of the comparison.
    
    Note that when the EN driver (mlx4_en) comes up, it set itself a proper
    mac --> the RoCE driver gets to be notified on that and further handing
    is done with the update qp command, as was added by commit 9433c188915c
    ("IB/mlx4: Invoke UPDATE_QP for proxy QP1 on MAC changes").
    
    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>

commit a59c5850f09b4c2d6ad2fc47e5e1be8d654529d6
Author: Matan Barak <matanb@mellanox.com>
Date:   Tue Sep 2 15:32:34 2014 +0300

    IB/core: When marshaling uverbs path, clear unused fields
    
    When marsheling a user path to the kernel struct ib_sa_path, need
    to zero smac, dmac and set the vlan id to the "no vlan" value.
    
    Fixes: dd5f03beb4f7 ("IB/core: Ethernet L2 attributes in verbs/cm structures")
    Reported-by: Aleksey Senin <alekseys@mellanox.com>
    Signed-off-by: Matan Barak <matanb@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit 4bf9715f184969dc703bde7be94919995024a6a9
Author: Moni Shoua <monis@mellanox.com>
Date:   Thu Aug 21 14:28:42 2014 +0300

    IB/mlx4: Avoid executing gid task when device is being removed
    
    When device is being removed (e.g during VPI port link type change
    from ETH to IB), tasks for gid table changes should not be executed.
    
    Flush the current queue of tasks and block further tasks from entering the queue.
    
    Signed-off-by: Moni Shoua <monis@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit dba3ad2addcd74ec850e510f3b8a9d046cc24ef3
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Thu Aug 21 14:28:41 2014 +0300

    IB/mlx4: Fix lockdep splat for the iboe lock
    
    Chuck Lever reported the following stack trace:
    
        =================================
        [ INFO: inconsistent lock state ]
        3.16.0-rc2-00024-g2e78883 #17 Tainted: G            E
        ---------------------------------
        inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
        swapper/0/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
        (&(&iboe->lock)->rlock){+.?...}, at: [<ffffffffa065f68b>] mlx4_ib_addr_event+0xdb/0x1a0 [mlx4_ib]
        {SOFTIRQ-ON-W} state was registered at:
         [<ffffffff810b3110>] mark_irqflags+0x110/0x170
         [<ffffffff810b4806>] __lock_acquire+0x2c6/0x5b0
         [<ffffffff810b4bd9>] lock_acquire+0xe9/0x120
         [<ffffffff815f7f6e>] _raw_spin_lock+0x3e/0x80
         [<ffffffffa0661084>] mlx4_ib_scan_netdevs+0x34/0x260 [mlx4_ib]
         [<ffffffffa06612db>] mlx4_ib_netdev_event+0x2b/0x40 [mlx4_ib]
         [<ffffffff81522219>] register_netdevice_notifier+0x99/0x1e0
         [<ffffffffa06626e3>] mlx4_ib_add+0x743/0xbc0 [mlx4_ib]
         [<ffffffffa05ec168>] mlx4_add_device+0x48/0xa0 [mlx4_core]
         [<ffffffffa05ec2c3>] mlx4_register_interface+0x73/0xb0 [mlx4_core]
         [<ffffffffa05c505e>] cm_req_handler+0x13e/0x460 [ib_cm]
         [<ffffffff810002e2>] do_one_initcall+0x112/0x1c0
         [<ffffffff810e8264>] do_init_module+0x34/0x190
         [<ffffffff810ea62f>] load_module+0x5cf/0x740
         [<ffffffff810ea939>] SyS_init_module+0x99/0xd0
         [<ffffffff815f8fd2>] system_call_fastpath+0x16/0x1b
        irq event stamp: 336142
        hardirqs last  enabled at (336142): [<ffffffff810612f5>] __local_bh_enable_ip+0xb5/0xc0
        hardirqs last disabled at (336141): [<ffffffff81061296>] __local_bh_enable_ip+0x56/0xc0
        softirqs last  enabled at (336004): [<ffffffff8106123a>] _local_bh_enable+0x4a/0x50
        softirqs last disabled at (336005): [<ffffffff810617a4>] irq_exit+0x44/0xd0
    
        other info that might help us debug this:
        Possible unsafe locking scenario:
    
              CPU0
              ----
         lock(&(&iboe->lock)->rlock);
         <Interrupt>
           lock(&(&iboe->lock)->rlock);
    
        *** DEADLOCK ***
    
    The above problem was caused by the spin lock being taken both in the process
    context and in a soft-irq context (in a netdev notifier handler).
    
    The required fix is to use spin_lock/unlock_bh() instead of spin_lock/unlock
    on the iboe lock.
    
    Reported-by: Chuck Lever <chuck.lever@oracle.com>
    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>

commit bccb84f1dfab92ed180adf09c76cfa9ddc90edb9
Author: Moni Shoua <monis@mellanox.com>
Date:   Thu Aug 21 14:28:40 2014 +0300

    IB/mlx4: Get upper dev addresses as RoCE GIDs when port comes up
    
    When a RoCE port becomes active and the netdev of the port has upper
    device (e.g bond/team), GIDs derived from the upper dev should appear
    in the port's RoCE GID table.
    
    Signed-off-by: Moni Shoua <monis@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit 655b2aaefc353604f9975c31960d9722e6eda449
Author: Moni Shoua <monis@mellanox.com>
Date:   Thu Aug 21 14:28:39 2014 +0300

    IB/mlx4: Reorder steps in RoCE GID table initialization
    
    There's no need to reset the gid table twice and we need to do it only
    for Ethernet ports. Also, no need to actively scan ndetdevs since it's
    being done immediatly after we register netdev notifiers.
    
    Signed-off-by: Moni Shoua <monis@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit f5c4834d9328c4ed9fe5dcbec6128d6da16db69a
Author: Moni Shoua <monis@mellanox.com>
Date:   Thu Aug 21 14:28:38 2014 +0300

    IB/mlx4: Don't duplicate the default RoCE GID
    
    When reading the IPv6 addresses from the net-device, make sure to
    avoid adding a duplicate entry to the GID table because of equality
    between the default GID we generate and the default IPv6 link-local
    address of the device.
    
    Fixes: acc4fccf4eff ("IB/mlx4: Make sure GID index 0 is always occupied")
    Signed-off-by: Moni Shoua <monis@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit e381835cf1b8e3b2857277dbc3b77d8c5350f70a
Author: Moni Shoua <monis@mellanox.com>
Date:   Thu Aug 21 14:28:37 2014 +0300

    IB/mlx4: Avoid null pointer dereference in mlx4_ib_scan_netdevs()
    
    When Ethernet netdev is not present for a port (e.g. when the link
    layer type of the port is InfiniBand) it's possible to dereference a
    null pointer when we do netdevice scanning.
    
    To fix that, we move a section of code that needs to run only when
    netdev is present to a proper if () statement.
    
    Fixes: ad4885d279b6 ("IB/mlx4: Build the port IBoE GID table properly under bonding")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Moni Shoua <monis@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit 61aabb3c91c1b03478ffc1a4a2573f825e7f35f9
Author: Or Gerlitz <ogerlitz@mellanox.com>
Date:   Tue Sep 2 17:08:43 2014 +0300

    IB/iser: Bump version to 1.4.1
    
    Signed-off-by: Roi Dayan <roid@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit 91eb1df39a1fba21bbc28895a84630782cd442ed
Author: Sagi Grimberg <sagig@mellanox.com>
Date:   Tue Sep 2 17:08:42 2014 +0300

    IB/iser: Allow bind only when connection state is UP
    
    We need to fail the bind operation if the iser connection state != UP
    (started teardown) and this should be done under the state lock.
    
    Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit c33b15f00bbfb9324dc38e5176f576a0f46e0873
Author: Roi Dayan <roid@mellanox.com>
Date:   Tue Sep 2 17:08:41 2014 +0300

    IB/iser: Fix RX/TX CQ resource leak on error flow
    
    When failing to allocate TX CQ we already allocated RX CQ, so we need to make
    sure we release it. Also, when failing to register notification to the RX CQ
    we currently leak both RX and TX CQs of the current index, fix that too.
    
    Signed-off-by: Roi Dayan <roid@mellanox.com>
    Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit f0c2c225dfe9dfb668fe72eadabb8a3ec74ca036
Author: devesh.sharma@emulex.com <devesh.sharma@emulex.com>
Date:   Fri Sep 5 15:09:49 2014 +0530

    RDMA/ocrdma: Use right macro in query AH
    
    ocrdma_query_ah() does not use correct macro, and checks the wrong bit
    for the validity of address handle in vector table.  Fix this.
    
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit 1be528bcb88d0b854dda1d60b31f4f8f7310f034
Author: devesh.sharma@emulex.com <devesh.sharma@emulex.com>
Date:   Fri Sep 5 15:09:48 2014 +0530

    RDMA/ocrdma: Resolve L2 address when creating user AH
    
    Because of IP-based GIDs, userspace AHs must have MAC and VLAN ID
    resolved separately.  Presently, user AHs are broken for ocrdma.  This
    patch resolves L2 addresses while creating user AH and obtains the
    right DMAC and VLAN ID before creating AH.
    
    Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit 4ff0acca7344c93fd9ed778b4c3ce16d95c594e4
Author: Matan Barak <matanb@mellanox.com>
Date:   Thu Sep 11 13:18:37 2014 +0300

    mlx4: Correct error flows in rereg_mr
    
    This patch addresses feedback from Sagi Grimberg on the rereg_mr
    implementation of mlx4.  The following are fixed:
    
    1. Set the correct pd_flags
    2. Make sure we change the iova and size MR fields only after
       successful write and allocation of the MTTs.
    3. Make the error checking more robust
    
    Fixes: e630664c8383 ("mlx4_core: Add helper functions to support MR re-registration")
    Signed-off-by: Matan Barak <matanb@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit f2d5a94436cc7cc0221b9a81bba2276a25187dd3
Author: Anton Altaparmakov <aia21@cam.ac.uk>
Date:   Mon Sep 22 01:53:03 2014 +0100

    Fix nasty 32-bit overflow bug in buffer i/o code.
    
    On 32-bit architectures, the legacy buffer_head functions are not always
    handling the sector number with the proper 64-bit types, and will thus
    fail on 4TB+ disks.
    
    Any code that uses __getblk() (and thus bread(), breadahead(),
    sb_bread(), sb_breadahead(), sb_getblk()), and calls it using a 64-bit
    block on a 32-bit arch (where "long" is 32-bit) causes an inifinite loop
    in __getblk_slow() with an infinite stream of errors logged to dmesg
    like this:
    
      __find_get_block_slow() failed. block=6740375944, b_blocknr=2445408648
      b_state=0x00000020, b_size=512
      device sda1 blocksize: 512
    
    Note how in hex block is 0x191C1F988 and b_blocknr is 0x91C1F988 i.e. the
    top 32-bits are missing (in this case the 0x1 at the top).
    
    This is because grow_dev_page() is broken and has a 32-bit overflow due
    to shifting the page index value (a pgoff_t - which is just 32 bits on
    32-bit architectures) left-shifted as the block number.  But the top
    bits to get lost as the pgoff_t is not type cast to sector_t / 64-bit
    before the shift.
    
    This patch fixes this issue by type casting "index" to sector_t before
    doing the left shift.
    
    Note this is not a theoretical bug but has been seen in the field on a
    4TiB hard drive with logical sector size 512 bytes.
    
    This patch has been verified to fix the infinite loop problem on 3.17-rc5
    kernel using a 4TB disk image mounted using "-o loop".  Without this patch
    doing a "find /nt" where /nt is an NTFS volume causes the inifinite loop
    100% reproducibly whilst with the patch it works fine as expected.
    
    Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 27fbe64bfa63cfb9da025975b59d96568caa2d53
Author: Sam Bobroff <sam.bobroff@au1.ibm.com>
Date:   Fri Sep 19 09:40:41 2014 +1000

    KVM: correct null pid check in kvm_vcpu_yield_to()
    
    Correct a simple mistake of checking the wrong variable
    before a dereference, resulting in the dereference not being
    properly protected by rcu_dereference().
    
    Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

commit e76bf634870e3c5e3a767ad575f1d404c9f1cab8
Author: Daniel Mack <daniel@zonque.org>
Date:   Sun Sep 21 23:55:38 2014 +0200

    ALSA: snd-usb-caiaq: Fix LED commands for Kore controller
    
    KoreController and KoreController2 need an EP1_CMD_DIMM_LEDS command to set
    their LEDs, not EP1_CMD_WRITE_IO.
    
    Signed-off-by: Daniel Mack <daniel@zonque.org>
    Reported-and-tested-by: Brad Wilson <brad.wilson.00@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit a9960e6a293e6fc3ed414643bb4e4106272e4d0a
Author: Clemens Ladisch <clemens@ladisch.de>
Date:   Sun Sep 21 22:50:57 2014 +0200

    ALSA: pcm: fix fifo_size frame calculation
    
    The calculated frame size was wrong because snd_pcm_format_physical_width()
    actually returns the number of bits, not bytes.
    
    Use snd_pcm_format_size() instead, which not only returns bytes, but also
    simplifies the calculation.
    
    Fixes: 8bea869c5e56 ("ALSA: PCM midlevel: improve fifo_size handling")
    Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit b8cb6b4c121e1bf1963c16ed69e7adcb1bc301cd
Author: NeilBrown <neilb@suse.de>
Date:   Thu Sep 18 11:09:04 2014 +1000

    md/raid1: fix_read_error should act on all non-faulty devices.
    
    If a devices is being recovered it is not InSync and is not Faulty.
    
    If a read error is experienced on that device, fix_read_error()
    will be called, but it ignores non-InSync devices.  So it will
    neither fix the error nor fail the device.
    
    It is incorrect that fix_read_error() ignores non-InSync devices.
    It should only ignore Faulty devices.  So fix it.
    
    This became a bug when we allowed reading from a device that was being
    recovered.  It is suitable for any subsequent -stable kernel.
    
    Fixes: da8840a747c0dbf49506ec906757a6b87b9741e9
    Cc: stable@vger.kernel.org (v3.5+)
    Reported-by: Alexander Lyakas <alex.bolshoy@gmail.com>
    Tested-by: Alexander Lyakas <alex.bolshoy@gmail.com>
    Signed-off-by: NeilBrown <neilb@suse.de>

commit 34e97f170149bfa14979581c4c748bc9b4b79d5b
Author: NeilBrown <neilb@suse.de>
Date:   Tue Sep 16 12:14:14 2014 +1000

    md/raid1: count resync requests in nr_pending.
    
    Both normal IO and resync IO can be retried with reschedule_retry()
    and so be counted into ->nr_queued, but only normal IO gets counted in
    ->nr_pending.
    
    Before the recent improvement to RAID1 resync there could only
    possibly have been one or the other on the queue.  When handling a
    read failure it could only be normal IO.  So when handle_read_error()
    called freeze_array() the fact that freeze_array only compares
    ->nr_queued against ->nr_pending was safe.
    
    But now that these two types can interleave, we can have both normal
    and resync IO requests queued, so we need to count them both in
    nr_pending.
    
    This error can lead to freeze_array() hanging if there is a read
    error, so it is suitable for -stable.
    
    Fixes: 79ef3a8aa1cb1523cc231c9a90a278333c21f761
    cc: stable@vger.kernel.org (v3.13+)
    Reported-by: Brassow Jonathan <jbrassow@redhat.com>
    Signed-off-by: NeilBrown <neilb@suse.de>

commit c2fd4c94deedb89ac1746c4a53219be499372c06
Author: NeilBrown <neilb@suse.de>
Date:   Wed Sep 10 16:01:24 2014 +1000

    md/raid1: update next_resync under resync_lock.
    
    raise_barrier() uses next_resync as part of its calculations, so it
    really should be updated first, instead of afterwards.
    
    next_resync is always used under resync_lock so update it under
    resync lock to, just before it is used.  That is safest.
    
    This could cause normal IO and resync IO to interact badly so
    it suitable for -stable.
    
    Fixes: 79ef3a8aa1cb1523cc231c9a90a278333c21f761
    cc: stable@vger.kernel.org (v3.13+)
    Signed-off-by: NeilBrown <neilb@suse.de>

commit 235549605eb7f1c5a37cef8b09d12e6d412c5cd6
Author: NeilBrown <neilb@suse.de>
Date:   Wed Sep 10 15:56:57 2014 +1000

    md/raid1: Don't use next_resync to determine how far resync has progressed
    
    next_resync is (approximately) the location for the next resync request.
    However it does *not* reliably determine the earliest location
    at which resync might be happening.
    This is because resync requests can complete out of order, and
    we only limit the number of current requests, not the distance
    from the earliest pending request to the latest.
    
    mddev->curr_resync_completed is a reliable indicator of the earliest
    position at which resync could be happening.   It is updated less
    frequently, but is actually reliable which is more important.
    
    So use it to determine if a write request is before the region
    being resynced and so safe from conflict.
    
    This error can allow resync IO to interfere with normal IO which
    could lead to data corruption. Hence: stable.
    
    Fixes: 79ef3a8aa1cb1523cc231c9a90a278333c21f761
    cc: stable@vger.kernel.org (v3.13+)
    Signed-off-by: NeilBrown <neilb@suse.de>

commit 2f73d3c55d09ce60647b96ad2a9b539c95a530ee
Author: NeilBrown <neilb@suse.de>
Date:   Wed Sep 10 15:01:49 2014 +1000

    md/raid1: make sure resync waits for conflicting writes to complete.
    
    The resync/recovery process for raid1 was recently changed
    so that writes could happen in parallel with resync providing
    they were in different regions of the device.
    
    There is a problem though:  While a write request will always
    wait for conflicting resync to complete, a resync request
    will *not* always wait for conflicting writes to complete.
    
    Two changes are needed to fix this:
    
    1/ raise_barrier (which waits until it is safe to do resync)
       must wait until current_window_requests is zero
    2/ wait_battier (which waits at the start of a new write request)
       must update current_window_requests if the request could
       possible conflict with a concurrent resync.
    
    As concurrent writes and resync can lead to data loss,
    this patch is suitable for -stable.
    
    Fixes: 79ef3a8aa1cb1523cc231c9a90a278333c21f761
    Cc: stable@vger.kernel.org (v3.13+)
    Cc: majianpeng <majianpeng@gmail.com>
    Signed-off-by: NeilBrown <neilb@suse.de>

commit 669cc7ba77864e7b1ac39c9f2b2afb8730f341f4
Author: NeilBrown <neilb@suse.de>
Date:   Thu Sep 4 16:30:38 2014 +1000

    md/raid1: clean up request counts properly in close_sync()
    
    If there are outstanding writes when close_sync is called,
    the change to ->start_next_window might cause them to
    decrement the wrong counter when they complete.  Fix this
    by merging the two counters into the one that will be decremented.
    
    Having an incorrect value in a counter can cause raise_barrier()
    to hangs, so this is suitable for -stable.
    
    Fixes: 79ef3a8aa1cb1523cc231c9a90a278333c21f761
    cc: stable@vger.kernel.org (v3.13+)
    Signed-off-by: NeilBrown <neilb@suse.de>

commit 8e2c8717c1812628b5538c05250057b37c66fdbe
Author: Frank Schaefer <fschaefer.oss@googlemail.com>
Date:   Thu Sep 18 17:55:45 2014 -0300

    [media] em28xx-v4l: get rid of field "users" in struct em28xx_v4l2"
    
    This reverts commit 747dba7de2a51a3db58b665ed3bc8c07921546ec.
    
    It breaks concurrent vbi and video capturing:
    While v4l2->users is the number of users of the whole device (all device nodes),
    v4l2_fh_is_singular() only checks the number of users of a specific device node.
    As a result. if one device node is open and a second device node is opened
    (closed), the device is reinitialized (streaming is stopped).
    
    Reported-by: Hans Verkuil <hans.verkuil@cisco.com>
    Tested-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
    Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

commit c6d119cf1b5a778e9ed60a006e2a434fcc4471a2
Author: NeilBrown <neilb@suse.de>
Date:   Tue Sep 9 13:49:46 2014 +1000

    md/raid1:  be more cautious where we read-balance during resync.
    
    commit 79ef3a8aa1cb1523cc231c9a90a278333c21f761 made
    it possible for reads to happen concurrently with resync.
    This means that we need to be more careful where read_balancing
    is allowed during resync - we can no longer be sure that any
    resync that has already started will definitely finish.
    
    So keep read_balancing to before recovery_cp, which is conservative
    but safe.
    
    This bug makes it possible to read from a device that doesn't
    have up-to-date data, so it can cause data corruption.
    So it is suitable for any kernel since 3.11.
    
    Fixes: 79ef3a8aa1cb1523cc231c9a90a278333c21f761
    cc: stable@vger.kernel.org (v3.13+)
    Signed-off-by: NeilBrown <neilb@suse.de>

commit f0cc9a057151892b885be21a1d19b0185568281d
Author: NeilBrown <neilb@suse.de>
Date:   Mon Sep 22 10:06:23 2014 +1000

    md/raid1: intialise start_next_window for READ case to avoid hang
    
    r1_bio->start_next_window is not initialised in the READ
    case, so allow_barrier may incorrectly decrement
       conf->current_window_requests
    which can cause raise_barrier() to block forever.
    
    Fixes: 79ef3a8aa1cb1523cc231c9a90a278333c21f761
    cc: stable@vger.kernel.org (v3.13+)
    Reported-by: Brassow Jonathan <jbrassow@redhat.com>
    Signed-off-by: NeilBrown <neilb@suse.de>

commit c7854c2c5d692a329b4d9a9a73bcf36ae137ee7c
Author: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Date:   Fri Sep 19 13:02:12 2014 -0300

    [media] em28xx: fix VBI handling logic
    
    When both VBI and video are streaming, and video stream is stopped,
    a subsequent trial to restart it will fail, because S_FMT will
    return -EBUSY.
    
    That prevents applications like zvbi to work properly.
    
    Please notice that, while this fix it fully for zvbi, the
    best is to get rid of streaming_users and res_get logic as a hole.
    
    However, this single-line patch is better to be merged at -stable.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

commit 91235537bc4b53f0b6f953acf963bcbb6215c49c
Author: Hans Verkuil <hans.verkuil@cisco.com>
Date:   Sat Sep 20 16:16:37 2014 -0300

    [media] DocBook media: improve the poll() documentation
    
    The poll documentation was incomplete: document how events (POLLPRI)
    are handled and fix the documentation of what poll does for display devices
    and streaming I/O.
    
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

commit acf92046a0a666051f9c6b4a53d874c618203173
Author: Hans Verkuil <hans.verkuil@cisco.com>
Date:   Sat Sep 20 16:16:36 2014 -0300

    [media] DocBook media: fix the poll() 'no QBUF' documentation
    
    Clarify what poll() returns if STREAMON was called but not QBUF.
    Make explicit the different behavior for this scenario for
    capture and output devices.
    
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

commit 58d75f4b1ce26324b4d809b18f94819843a98731
Author: Hans Verkuil <hans.verkuil@cisco.com>
Date:   Sat Sep 20 16:16:35 2014 -0300

    [media] vb2: fix VBI/poll regression
    
    The recent conversion of saa7134 to vb2 unconvered a poll() bug that
    broke the teletext applications alevt and mtt. These applications
    expect that calling poll() without having called VIDIOC_STREAMON will
    cause poll() to return POLLERR. That did not happen in vb2.
    
    This patch fixes that behavior. It also fixes what should happen when
    poll() is called when STREAMON is called but no buffers have been
    queued. In that case poll() will also return POLLERR, but only for
    capture queues since output queues will always return POLLOUT
    anyway in that situation.
    
    This brings the vb2 behavior in line with the old videobuf behavior.
    
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Mauro Carvalho …
  • Loading branch information
mmotm auto import authored and hnaz committed Sep 26, 2014
1 parent 0f33be0 commit d37bb79
Show file tree
Hide file tree
Showing 205 changed files with 1,625 additions and 860 deletions.
24 changes: 24 additions & 0 deletions Documentation/DocBook/media/v4l/compat.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2545,6 +2545,30 @@ fields changed from _s32 to _u32.
</orderedlist>
</section>

<section>
<title>V4L2 in Linux 3.16</title>
<orderedlist>
<listitem>
<para>Added event V4L2_EVENT_SOURCE_CHANGE.
</para>
</listitem>
</orderedlist>
</section>

<section>
<title>V4L2 in Linux 3.17</title>
<orderedlist>
<listitem>
<para>Extended &v4l2-pix-format;. Added format flags.
</para>
</listitem>
<listitem>
<para>Added compound control types and &VIDIOC-QUERY-EXT-CTRL;.
</para>
</listitem>
</orderedlist>
</section>

<section id="other">
<title>Relation of V4L2 to other Linux multimedia APIs</title>

Expand Down
35 changes: 29 additions & 6 deletions Documentation/DocBook/media/v4l/func-poll.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,12 @@ can suspend execution until the driver has captured data or is ready
to accept data for output.</para>

<para>When streaming I/O has been negotiated this function waits
until a buffer has been filled or displayed and can be dequeued with
the &VIDIOC-DQBUF; ioctl. When buffers are already in the outgoing
queue of the driver the function returns immediately.</para>
until a buffer has been filled by the capture device and can be dequeued
with the &VIDIOC-DQBUF; ioctl. For output devices this function waits
until the device is ready to accept a new buffer to be queued up with
the &VIDIOC-QBUF; ioctl for display. When buffers are already in the outgoing
queue of the driver (capture) or the incoming queue isn't full (display)
the function returns immediately.</para>

<para>On success <function>poll()</function> returns the number of
file descriptors that have been selected (that is, file descriptors
Expand All @@ -44,10 +47,22 @@ Capture devices set the <constant>POLLIN</constant> and
flags. When the function timed out it returns a value of zero, on
failure it returns <returnvalue>-1</returnvalue> and the
<varname>errno</varname> variable is set appropriately. When the
application did not call &VIDIOC-QBUF; or &VIDIOC-STREAMON; yet the
application did not call &VIDIOC-STREAMON; the
<function>poll()</function> function succeeds, but sets the
<constant>POLLERR</constant> flag in the
<structfield>revents</structfield> field.</para>
<structfield>revents</structfield> field. When the
application has called &VIDIOC-STREAMON; for a capture device but hasn't
yet called &VIDIOC-QBUF;, the <function>poll()</function> function
succeeds and sets the <constant>POLLERR</constant> flag in the
<structfield>revents</structfield> field. For output devices this
same situation will cause <function>poll()</function> to succeed
as well, but it sets the <constant>POLLOUT</constant> and
<constant>POLLWRNORM</constant> flags in the <structfield>revents</structfield>
field.</para>

<para>If an event occurred (see &VIDIOC-DQEVENT;) then
<constant>POLLPRI</constant> will be set in the <structfield>revents</structfield>
field and <function>poll()</function> will return.</para>

<para>When use of the <function>read()</function> function has
been negotiated and the driver does not capture yet, the
Expand All @@ -58,10 +73,18 @@ continuously (as opposed to, for example, still images) the function
may return immediately.</para>

<para>When use of the <function>write()</function> function has
been negotiated the <function>poll</function> function just waits
been negotiated and the driver does not stream yet, the
<function>poll</function> function starts streaming. When that fails
it returns a <constant>POLLERR</constant> as above. Otherwise it waits
until the driver is ready for a non-blocking
<function>write()</function> call.</para>

<para>If the caller is only interested in events (just
<constant>POLLPRI</constant> is set in the <structfield>events</structfield>
field), then <function>poll()</function> will <emphasis>not</emphasis>
start streaming if the driver does not stream yet. This makes it
possible to just poll for events and not for buffers.</para>

<para>All drivers implementing the <function>read()</function> or
<function>write()</function> function or streaming I/O must also
support the <function>poll()</function> function.</para>
Expand Down
11 changes: 6 additions & 5 deletions Documentation/DocBook/media/v4l/v4l2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,11 @@ structs, ioctls) must be noted in more detail in the history chapter
applications. -->

<revision>
<revnumber>3.16</revnumber>
<date>2014-05-27</date>
<authorinitials>lp</authorinitials>
<revremark>Extended &v4l2-pix-format;. Added format flags.
<revnumber>3.17</revnumber>
<date>2014-08-04</date>
<authorinitials>lp, hv</authorinitials>
<revremark>Extended &v4l2-pix-format;. Added format flags. Added compound control types
and VIDIOC_QUERY_EXT_CTRL.
</revremark>
</revision>

Expand Down Expand Up @@ -538,7 +539,7 @@ and discussions on the V4L mailing list.</revremark>
</partinfo>

<title>Video for Linux Two API Specification</title>
<subtitle>Revision 3.14</subtitle>
<subtitle>Revision 3.17</subtitle>

<chapter id="common">
&sub-common;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@
</row>
<row>
<entry>&v4l2-rect;</entry>
<entry><structfield>rect</structfield></entry>
<entry><structfield>r</structfield></entry>
<entry>Selection rectangle, in pixels.</entry>
</row>
<row>
Expand Down
6 changes: 3 additions & 3 deletions Documentation/networking/filter.txt
Original file line number Diff line number Diff line change
Expand Up @@ -462,9 +462,9 @@ JIT compiler
------------

The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, PowerPC,
ARM and s390 and can be enabled through CONFIG_BPF_JIT. The JIT compiler is
transparently invoked for each attached filter from user space or for internal
kernel users if it has been previously enabled by root:
ARM, MIPS and s390 and can be enabled through CONFIG_BPF_JIT. The JIT compiler
is transparently invoked for each attached filter from user space or for
internal kernel users if it has been previously enabled by root:

echo 1 > /proc/sys/net/core/bpf_jit_enable

Expand Down
13 changes: 3 additions & 10 deletions arch/ia64/configs/bigsur_defconfig
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
CONFIG_EXPERIMENTAL=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_LOG_BUF_SHIFT=16
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_SGI_PARTITION=y
CONFIG_IA64_DIG=y
CONFIG_SMP=y
CONFIG_NR_CPUS=2
Expand Down Expand Up @@ -51,9 +52,6 @@ CONFIG_DM_MIRROR=m
CONFIG_DM_ZERO=m
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_NET_PCI=y
CONFIG_INPUT_EVDEV=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
Expand Down Expand Up @@ -85,7 +83,6 @@ CONFIG_EXT3_FS=y
CONFIG_XFS_FS=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
Expand All @@ -95,17 +92,13 @@ CONFIG_PROC_KCORE=y
CONFIG_TMPFS=y
CONFIG_HUGETLBFS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4=m
CONFIG_NFSD=m
CONFIG_NFSD_V4=y
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_SGI_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=m
Expand Down
29 changes: 7 additions & 22 deletions arch/ia64/configs/generic_defconfig
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
CONFIG_EXPERIMENTAL=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
CONFIG_CGROUPS=y
CONFIG_CPUSETS=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_SGI_PARTITION=y
CONFIG_MCKINLEY=y
CONFIG_IA64_PAGE_SIZE_64KB=y
CONFIG_IA64_CYCLONE=y
Expand All @@ -29,14 +28,13 @@ CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_CONTAINER=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
Expand Down Expand Up @@ -82,16 +80,13 @@ CONFIG_FUSION_FC=m
CONFIG_FUSION_SAS=y
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_NET_ETHERNET=y
CONFIG_NETCONSOLE=y
CONFIG_TIGON3=y
CONFIG_NET_TULIP=y
CONFIG_TULIP=m
CONFIG_NET_PCI=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=m
CONFIG_E1000=y
CONFIG_IGB=y
CONFIG_TIGON3=y
CONFIG_NETCONSOLE=y
# CONFIG_SERIO_SERPORT is not set
CONFIG_GAMEPORT=m
CONFIG_SERIAL_NONSTANDARD=y
Expand Down Expand Up @@ -151,6 +146,7 @@ CONFIG_USB_STORAGE=m
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_IPOIB=m
CONFIG_INTEL_IOMMU=y
CONFIG_MSPEC=m
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
Expand All @@ -164,7 +160,6 @@ CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_XFS_FS=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
Expand All @@ -175,16 +170,10 @@ CONFIG_PROC_KCORE=y
CONFIG_TMPFS=y
CONFIG_HUGETLBFS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4=m
CONFIG_NFSD=m
CONFIG_NFSD_V4=y
CONFIG_SMB_FS=m
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_CIFS=m
CONFIG_PARTITION_ADVANCED=y
CONFIG_SGI_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
Expand Down Expand Up @@ -225,11 +214,7 @@ CONFIG_NLS_UTF8=m
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MUTEXES=y
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRC_T10DIF=y
CONFIG_INTEL_IOMMU=y
23 changes: 6 additions & 17 deletions arch/ia64/configs/gensparse_defconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
CONFIG_EXPERIMENTAL=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_IKCONFIG=y
Expand All @@ -9,6 +8,8 @@ CONFIG_KALLSYMS_ALL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_SGI_PARTITION=y
CONFIG_MCKINLEY=y
CONFIG_IA64_CYCLONE=y
CONFIG_SMP=y
Expand All @@ -24,14 +25,12 @@ CONFIG_BINFMT_MISC=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_CONTAINER=m
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=m
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
CONFIG_BLK_DEV_LOOP=m
Expand Down Expand Up @@ -71,15 +70,12 @@ CONFIG_FUSION_SPI=y
CONFIG_FUSION_FC=m
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_NET_ETHERNET=y
CONFIG_NETCONSOLE=y
CONFIG_TIGON3=y
CONFIG_NET_TULIP=y
CONFIG_TULIP=m
CONFIG_NET_PCI=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=m
CONFIG_E1000=y
CONFIG_TIGON3=y
CONFIG_NETCONSOLE=y
# CONFIG_SERIO_SERPORT is not set
CONFIG_GAMEPORT=m
CONFIG_SERIAL_NONSTANDARD=y
Expand Down Expand Up @@ -146,7 +142,6 @@ CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_XFS_FS=y
CONFIG_AUTOFS_FS=y
CONFIG_AUTOFS4_FS=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
Expand All @@ -157,16 +152,10 @@ CONFIG_PROC_KCORE=y
CONFIG_TMPFS=y
CONFIG_HUGETLBFS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4=m
CONFIG_NFSD=m
CONFIG_NFSD_V4=y
CONFIG_SMB_FS=m
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_CIFS=m
CONFIG_PARTITION_ADVANCED=y
CONFIG_SGI_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
Expand Down
8 changes: 2 additions & 6 deletions arch/ia64/configs/sim_defconfig
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
CONFIG_EXPERIMENTAL=y
CONFIG_SYSVIPC=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_IA64_HP_SIM=y
CONFIG_MCKINLEY=y
CONFIG_IA64_PAGE_SIZE_64KB=y
Expand All @@ -27,7 +26,6 @@ CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SPI_ATTRS=y
Expand All @@ -49,8 +47,6 @@ CONFIG_HUGETLBFS=y
CONFIG_NFS_FS=y
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_EFI_PARTITION=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_INFO=y
Loading

0 comments on commit d37bb79

Please sign in to comment.