25 May, 2013

17 commits

  • We should not use set_pmd_at to update pmd_t with pgtable_t pointer.
    set_pmd_at is used to set pmd with huge pte entries and architectures
    like ppc64, clear few flags from the pte when saving a new entry.
    Without this change we observe bad pte errors like below on ppc64 with
    THP enabled.

    BUG: Bad page map in process ld mm=0xc000001ee39f4780 pte:7fc3f37848000001 pmd:c000001ec0000000

    Signed-off-by: Aneesh Kumar K.V
    Cc: Hugh Dickins
    Cc: Benjamin Herrenschmidt
    Reviewed-by: Andrea Arcangeli
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Aneesh Kumar K.V
     
  • Fix kernel-doc warning in :

    Warning(include/linux/kernel.h:590): No description found for parameter 'ip'

    scripts/kernel-doc cannot handle macros, functions, or function
    prototypes between the function or macro that is being documented and
    its definition, so move these prototypes above the function that is
    being documented.

    Signed-off-by: Randy Dunlap
    Cc: Steven Rostedt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Page 'new' during MIGRATION can't be flushed with flush_cache_page().
    Using flush_cache_page(vma, addr, pfn) is justified only if the page is
    already placed in process page table, and that is done right after
    flush_cache_page(). But without it the arch function has no knowledge
    of process PTE and does nothing.

    Besides that, flush_cache_page() flushes an application cache page, but
    the kernel has a different page virtual address and dirtied it.

    Replace it with flush_dcache_page(new) which is the proper usage.

    The old page is flushed in try_to_unmap_one() before migration.

    This bug takes place in Sead3 board with M14Kc MIPS CPU without cache
    aliasing (but Harvard arch - separate I and D cache) in tight memory
    environment (128MB) each 1-3days on SOAK test. It fails in cc1 during
    kernel build (SIGILL, SIGBUS, SIGSEG) if CONFIG_COMPACTION is switched
    ON.

    Signed-off-by: Leonid Yegoshin
    Cc: Leonid Yegoshin
    Acked-by: Rik van Riel
    Cc: Michal Hocko
    Acked-by: Mel Gorman
    Cc: Ralf Baechle
    Cc: Russell King
    Cc: David Miller
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Leonid Yegoshin
     
  • Fix bug in MSI interrupt handling which causes loss of event
    notifications.

    Typical indication of lost MSI interrupts are stalled message and
    doorbell transfers between RapidIO endpoints. To avoid loss of MSI
    interrupts all interrupts from the device must be disabled on entering
    the interrupt handler routine and re-enabled when exiting it.
    Re-enabling device interrupts will trigger new MSI message(s) if Tsi721
    registered new events since entering interrupt handler routine.

    This patch is applicable to kernel versions starting from v3.2.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Commit 634725a92938 ("hfs: cleanup HFS+ prints") removed the BUG_ON in
    hfs_bnode_create in hfsplus. This patch removes it from the hfs version
    and avoids an fsfuzzer crash.

    Signed-off-by: Jeff Mahoney
    Acked-by: Jeff Mahoney
    Signed-off-by: Jiri Slaby
    Cc: Vyacheslav Dubeyko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     
  • Commit 0c59b89c81ea ("mm: memcg: push down PageSwapCache check into
    uncharge entry functions") added a VM_BUG_ON() on PageSwapCache in the
    uncharge path after checking that page flag once, assuming that the
    state is stable in all paths, but this is not the case and the condition
    triggers in user environments. An uncharge after the last page table
    reference to the page goes away can race with reclaim adding the page to
    swap cache.

    Swap cache pages are usually uncharged when they are freed after
    swapout, from a path that also handles swap usage accounting and memcg
    lifetime management. However, since the last page table reference is
    gone and thus no references to the swap slot left, the swap slot will be
    freed shortly when reclaim attempts to write the page to disk. The
    whole swap accounting is not even necessary.

    So while the race condition for which this VM_BUG_ON was added is real
    and actually existed all along, there are no negative effects. Remove
    the VM_BUG_ON again.

    Reported-by: Heiko Carstens
    Reported-by: Lingzhu Xiang
    Signed-off-by: Johannes Weiner
    Acked-by: Hugh Dickins
    Acked-by: Michal Hocko
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • A simple frame-buffer describes a raw memory region that may be rendered
    to, with the assumption that the display hardware has already been set
    up to scan out from that buffer.

    This is useful in cases where a bootloader exists and has set up the
    display hardware, but a Linux driver doesn't yet exist for the display
    hardware.

    Examples use-cases include:

    * The built-in LCD panels on the Samsung ARM chromebook, and Tegra
    devices, and likely many other ARM or embedded systems. These cannot
    yet be supported using a full graphics driver, since the panel control
    should be provided by the CDF (Common Display Framework), which has been
    stuck in design/review for quite some time. One could support these
    panels using custom SoC-specific code, but there is a desire to use
    common infra-structure rather than having each SoC vendor invent their
    own code, hence the desire to wait for CDF.

    * Hardware for which a full graphics driver is not yet available, and
    the path to obtain one upstream isn't yet clear. For example, the
    Raspberry Pi.

    * Any hardware in early stages of upstreaming, before a full graphics
    driver has been tackled. This driver can provide a graphical boot
    console (even full X support) much earlier in the upstreaming process,
    thus making new SoC or board support more generally useful earlier.

    [akpm@linux-foundation.org: make simplefb_formats[] static]
    Signed-off-by: Stephen Warren
    Cc: Arnd Bergmann
    Acked-by: Olof Johansson
    Cc: Rob Clark
    Cc: Florian Tobias Schandinat
    Cc: Tomasz Figa
    Cc: Laurent Pinchart
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Warren
     
  • In ocfs2_file_aio_write(), it does ocfs2_rw_lock() first and then
    ocfs2_inode_lock().

    But if ocfs2_inode_lock() failed, it goes to out_sems without unlocking
    rw lock. This will cause a bug in ocfs2_lock_res_free() when testing
    res->l_ex_holders, which is increased in __ocfs2_cluster_lock() and
    decreased in __ocfs2_cluster_unlock().

    Signed-off-by: Joseph Qi
    Cc: Joel Becker
    Cc: Mark Fasheh
    Cc: Li Zefan
    Cc: "Duyongfeng (B)"
    Acked-by: Sunil Mushran
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joseph Qi
     
  • Commit 751efd8610d3 ("mmu_notifier_unregister NULL Pointer deref and
    multiple ->release()") breaks the fix 3ad3d901bbcf ("mm: mmu_notifier:
    fix freed page still mapped in secondary MMU").

    Since hlist_for_each_entry_rcu() is changed now, we can not revert that
    patch directly, so this patch reverts the commit and simply fix the bug
    spotted by that patch

    This bug spotted by commit 751efd8610d3 is:

    There is a race condition between mmu_notifier_unregister() and
    __mmu_notifier_release().

    Assume two tasks, one calling mmu_notifier_unregister() as a result
    of a filp_close() ->flush() callout (task A), and the other calling
    mmu_notifier_release() from an mmput() (task B).

    A B
    t1 srcu_read_lock()
    t2 if (!hlist_unhashed())
    t3 srcu_read_unlock()
    t4 srcu_read_lock()
    t5 hlist_del_init_rcu()
    t6 synchronize_srcu()
    t7 srcu_read_unlock()
    t8 hlist_del_rcu() release should be fast
    since all the pages have already been released by the first call.
    Anyway, this issue should be fixed in a separate patch.

    -stable suggestions: Any version that has commit 751efd8610d3 need to be
    backported. I find the oldest version has this commit is 3.0-stable.

    [akpm@linux-foundation.org: tweak comments]
    Signed-off-by: Xiao Guangrong
    Tested-by: Robin Holt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Xiao Guangrong
     
  • Many callers of the wait_event_timeout() and
    wait_event_interruptible_timeout() expect that the return value will be
    positive if the specified condition becomes true before the timeout
    elapses. However, at the moment this isn't guaranteed. If the wake-up
    handler is delayed enough, the time remaining until timeout will be
    calculated as 0 - and passed back as a return value - even if the
    condition became true before the timeout has passed.

    Fix this by returning at least 1 if the condition becomes true. This
    semantic is in line with what wait_for_condition_timeout() does; see
    commit bb10ed09 ("sched: fix wait_for_completion_timeout() spurious
    failure under heavy load").

    Daniel said "We have 3 instances of this bug in drm/i915. One case even
    where we switch between the interruptible and not interruptible
    wait_event_timeout variants, foolishly presuming they have the same
    semantics. I very much like this."

    One such bug is reported at
    https://bugs.freedesktop.org/show_bug.cgi?id=64133

    Signed-off-by: Imre Deak
    Acked-by: Daniel Vetter
    Acked-by: David Howells
    Acked-by: Jens Axboe
    Cc: "Paul E. McKenney"
    Cc: Dave Jones
    Cc: Lukas Czerner
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Imre Deak
     
  • Intermediate value of fat_clusters can be overflowed on 32bits arch.

    Reported-by: Krzysztof Strasburger
    Signed-off-by: OGAWA Hirofumi
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    OGAWA Hirofumi
     
  • Update RapidIO documentation to reflect changes made to
    enumeration/discovery build configuration and user space triggering
    mechanism.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Cc: Andre van Herk
    Cc: Micha Nelissen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Add RapidIO enumeration/discovery start from user space. User space
    start allows to defer RapidIO fabric scan until the moment when all
    participating endpoints are initialized avoiding mandatory synchronized
    start of all endpoints (which may be challenging in systems with large
    number of RapidIO endpoints).

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Cc: Andre van Herk
    Cc: Micha Nelissen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Systems that use RapidIO fabric may need to implement their own
    enumeration and discovery methods which are better suitable for needs of
    a target application.

    The following set of patches is intended to simplify process of
    introduction of new RapidIO fabric enumeration/discovery methods.

    The first patch offers ability to add new RapidIO enumeration/discovery
    methods using kernel configuration options. This new configuration
    option mechanism allows to select statically linked or modular
    enumeration/discovery method(s) from the list of existing methods or use
    external module(s).

    This patch also updates the currently existing enumeration/discovery
    code to be used as a statically linked or modular method.

    The corresponding configuration option is named "Basic
    enumeration/discovery" method. This is the only one configuration
    option available today but new methods are expected to be introduced
    after adoption of provided patches.

    The second patch address a long time complaint of RapidIO subsystem
    users regarding fabric enumeration/discovery start sequence. Existing
    implementation offers only a boot-time enumeration/discovery start which
    requires synchronized boot of all endpoints in RapidIO network. While
    it works for small closed configurations with limited number of
    endpoints, using this approach in systems with large number of endpoints
    is quite challenging.

    To eliminate requirement for synchronized start the second patch
    introduces RapidIO enumeration/discovery start from user space.

    For compatibility with the existing RapidIO subsystem implementation,
    automatic boot time enumeration/discovery start can be configured in by
    specifying "rio-scan.scan=1" command line parameter if statically linked
    basic enumeration method is selected.

    This patch:

    Rework to implement RapidIO enumeration/discovery method selection
    combined with ability to use enumeration/discovery as a kernel module.

    This patch adds ability to introduce new RapidIO enumeration/discovery
    methods using kernel configuration options. Configuration option
    mechanism allows to select statically linked or modular
    enumeration/discovery method from the list of existing methods or use
    external modules. If a modular enumeration/discovery is selected each
    RapidIO mport device can have its own method attached to it.

    The existing enumeration/discovery code was updated to be used as
    statically linked or modular method. This configuration option is named
    "Basic enumeration/discovery" method.

    Several common routines have been moved from rio-scan.c to make them
    available to other enumeration methods and reduce number of exported
    symbols.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Cc: Andre van Herk
    Cc: Micha Nelissen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • If the port number is missing from the device-tree the device gets named
    xs` instead of xsa. This fixes the check for missing ids.

    Tested on ml507 board.

    Signed-off-by: Gernot Vormayr
    Cc: Greg Kroah-Hartman
    Cc: Jens Axboe
    Cc: Grant Likely
    Cc: Rob Herring
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gernot Vormayr
     
  • …it/rostedt/linux-trace

    Pull tracing fix from Steven Rostedt:
    "Masami Hiramatsu fixed another bug. This time returning a proper
    result in event_enable_func(). After checking the return status of
    try_module_get(), it returned the status of try_module_get().

    But try_module_get() returns 0 on failure, which is success for
    event_enable_func()"

    * tag 'trace-fixes-v3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Return -EBUSY when event_enable_func() fails to get module

    Linus Torvalds
     
  • Pull CIFS fix from Steve French:
    "One cifs fix to merge now - fixes possible DFS oops (I expect to
    request a merge of 4 additional cifs fixes next week)"

    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
    cifs: only set ops for inodes in I_NEW state

    Linus Torvalds
     

24 May, 2013

23 commits

  • Pull gfs2 fixes from Steven Whitehouse:
    "This time there are just four fixes. There are a couple of minor
    updates to the quota code, a fix for KConfig to ensure that only valid
    combinations including GFS2 can be built, and a fix for a typo
    affecting end i/o processing when writing the journal.

    Also, there is a temporary fix for a performance regression relating
    to block reservations and directories. A longer fix will be applied
    in due course, but this deals with the most immediate problem for now"

    * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes:
    GFS2: Fix typo in gfs2_log_end_write loop
    GFS2: fix DLM depends to fix build errors
    GFS2: Use single-block reservations for directories
    GFS2: two minor quota fixups

    Linus Torvalds
     
  • Pull powerpc fixes from Benjamin Herrenschmidt:
    "Some more P8 related bits, a bunch of fixes for our P7+/P8 HW crypto
    drivers, some added workarounds for those radeons that don't do proper
    64-bit MSIs and a couple of other trivialities by myself."

    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc/pseries: Make 32-bit MSI quirk work on systems lacking firmware support
    powerpc/powernv: Build a zImage.epapr
    powerpc: Make radeon 32-bit MSI quirk work on powernv
    powerpc: Context switch more PMU related SPRs
    powerpc/powernv: Fix condition for when to invalidate the TCE cache
    powerpc/pci: Fix bogus message at boot about empty memory resources
    powerpc: Fix TLB cleanup at boot on POWER8
    drivers/crypto/nx: Fixes for multiple races and issues

    Linus Torvalds
     
  • Pull networking fixes from David Miller:
    "It's been a while since my last pull request so quite a few fixes have
    piled up."

    Indeed.

    1) Fix nf_{log,queue} compilation with PROC_FS disabled, from Pablo
    Neira Ayuso.

    2) Fix data corruption on some tg3 chips with TSO enabled, from Michael
    Chan.

    3) Fix double insertion of VLAN tags in be2net driver, from Sarveshwar
    Bandi.

    4) Don't have TCP's MD5 support pass > PAGE_SIZE page offsets in
    scatter-gather entries into the crypto layer, the crypto layer can't
    handle that. From Eric Dumazet.

    5) Fix lockdep splat in 802.1Q MRP code, also from Eric Dumazet.

    6) Fix OOPS in netfilter log module when called from conntrack, from
    Hans Schillstrom.

    7) FEC driver needs to use netif_tx_{lock,unlock}_bh() rather than the
    non-BH disabling variants. From Fabio Estevam.

    8) TCP GSO can generate out-of-order packets, fix from Eric Dumazet.

    9) vxlan driver doesn't update 'used' field of fdb entries when it
    should, from Sridhar Samudrala.

    10) ipv6 should use kzalloc() to allocate inet6 socket cork options,
    otherwise we can OOPS in ip6_cork_release(). From Eric Dumazet.

    11) Fix races in bonding set mode, from Nikolay Aleksandrov.

    12) Fix checksum generation regression added by "r8169: fix 8168evl
    frame padding.", from Francois Romieu.

    13) ip_gre can look at stale SKB data pointer, fix from Eric Dumazet.

    14) Fix checksum handling when GSO is enabled in bnx2x driver with
    certain chips, from Yuval Mintz.

    15) Fix double free in batman-adv, from Martin Hundebøll.

    16) Fix device startup synchronization with firmware in tg3 driver, from
    Nithin Sujit.

    17) perf networking dropmonitor doesn't work at all due to mixed up
    trace parameter ordering, from Ben Hutchings.

    18) Fix proportional rate reduction handling in tcp_ack(), from Nandita
    Dukkipati.

    19) IPSEC layer doesn't return an error when a valid state is detected,
    causing an OOPS. Fix from Timo Teräs.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (85 commits)
    be2net: bug fix on returning an invalid nic descriptor
    tcp: xps: fix reordering issues
    net: Revert unused variable changes.
    xfrm: properly handle invalid states as an error
    virtio_net: enable napi for all possible queues during open
    tcp: bug fix in proportional rate reduction.
    net: ethernet: sun: drop unused variable
    net: ethernet: korina: drop unused variable
    net: ethernet: apple: drop unused variable
    qmi_wwan: Added support for Cinterion's PLxx WWAN Interface
    perf: net_dropmonitor: Remove progress indicator
    perf: net_dropmonitor: Use bisection in symbol lookup
    perf: net_dropmonitor: Do not assume ordering of dictionaries
    perf: net_dropmonitor: Fix symbol-relative addresses
    perf: net_dropmonitor: Fix trace parameter order
    net: fec: use a more proper compatible string for MVF type device
    qlcnic: Fix updating netdev->features
    qlcnic: remove netdev->trans_start updates within the driver
    qlcnic: Return proper error codes from probe failure paths
    tg3: Update version to 3.132
    ...

    Linus Torvalds
     
  • There was a missing _all in this loop iterator

    Signed-off-by: Steven Whitehouse

    Steven Whitehouse
     
  • Fix build errors by correcting DLM dependencies in GFS2.
    Build errors happen when CONFIG_GFS2_FS_LOCKING_DLM=y and CONFIG_DLM=m:

    fs/built-in.o: In function `gfs2_lock':
    file.c:(.text+0xc7abd): undefined reference to `dlm_posix_get'
    file.c:(.text+0xc7ad0): undefined reference to `dlm_posix_unlock'
    file.c:(.text+0xc7ad9): undefined reference to `dlm_posix_lock'
    fs/built-in.o: In function `gdlm_unmount':
    lock_dlm.c:(.text+0xd6e5b): undefined reference to `dlm_release_lockspace'
    fs/built-in.o: In function `sync_unlock':
    lock_dlm.c:(.text+0xd6e9e): undefined reference to `dlm_unlock'
    fs/built-in.o: In function `sync_lock':
    lock_dlm.c:(.text+0xd6fb6): undefined reference to `dlm_lock'
    fs/built-in.o: In function `gdlm_put_lock':
    lock_dlm.c:(.text+0xd7238): undefined reference to `dlm_unlock'
    fs/built-in.o: In function `gdlm_mount':
    lock_dlm.c:(.text+0xd753e): undefined reference to `dlm_new_lockspace'
    lock_dlm.c:(.text+0xd79d3): undefined reference to `dlm_release_lockspace'
    fs/built-in.o: In function `gdlm_lock':
    lock_dlm.c:(.text+0xd8179): undefined reference to `dlm_lock'
    fs/built-in.o: In function `gdlm_cancel':
    lock_dlm.c:(.text+0xd6b22): undefined reference to `dlm_unlock'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Steven Whitehouse

    Randy Dunlap
     
  • This patch changes the multi-block allocation code, such that
    directory inodes only get a single block reserved in the bitmap.
    That way, the bitmaps are more tightly packed together, and there
    are fewer spans of free blocks for in-use block reservations.
    This means it takes less time to find a free span of blocks in the
    bitmap, which speeds things up. This increases the performance of
    some workloads by almost 2X. In Nate's mockup.py script (which does
    (1) create dir, (2) create dir in dir, (3) create file in that dir)
    the test executes in 23 steps rather than 43 steps, a 47%
    performance improvement.

    Signed-off-by: Bob Peterson
    Signed-off-by: Steven Whitehouse

    Bob Peterson
     
  • This patch fixes two regression problems that Abhi found in the
    GFS2 quota code.

    Signed-off-by: Bob Peterson
    Signed-off-by: Steven Whitehouse

    Bob Peterson
     
  • Recent commit e61133dda480062d221f09e4fc18f66763f8ecd0 added support
    for a new firmware feature to force an adapter to use 32 bit MSIs.
    However, this firmware is not available for all systems. The hack below
    allows devices needing 32 bit MSIs to work on these systems as well.
    It is careful to only enable this on Gen2 slots, which should limit
    this to configurations where this hack is needed and tested to work.

    [Small change to factor out the hack into a separate function -- BenH]

    Signed-off-by: Brian King
    Signed-off-by: Benjamin Herrenschmidt

    Brian King
     
  • The zImage.epapr wrapper allows to use zImages when booting via a flat
    device-tree which can be used on powernv.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • This moves the quirk itself to pci_64.c as to get built on all ppc64
    platforms (the only ones with a pci_dn), factors the two implementations
    of get_pdn() into a single pci_get_dn() and use the quirk to do 32-bit
    MSIs on IODA based powernv platforms.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • In commit 9353374 "Context switch the new EBB SPRs" we added support for
    context switching some new EBB SPRs. However despite four of us signing
    off on that patch we missed some. To be fair these are not actually new
    SPRs, but they are now potentially user accessible so need to be context
    switched.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Benjamin Herrenschmidt

    Michael Ellerman
     
  • We use two flags, one to indicate an invalidation is needed after
    creating a new entry and one to indicate an invalidation is needed
    after removing an entry. However we were testing the wrong flag
    in the remove case.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • The message is only meant to be displayed if resource 0 is empty,
    but was displayed if any is.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • The TLB has 512 congruence classes (2048 entries 4 way set associative)
    while P7 had 128

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • Fixes a race on driver init with registering algorithms where the
    driver status flag wasn't being set before self testing started.

    Added the cra_alignmask field for CBC and ECB modes.

    Fixed a bug in GCM where AES block size was being used instead of
    authsize.

    Removed use of blkcipher_walk routines for scatterlist processing.
    Corner cases in the code prevent us from processing an entire
    scatterlist at a time and walking the buffers in block sized chunks
    turns out to be unecessary anyway.

    Fixed off-by-one error in saving off extra data in the sha code.

    Fixed accounting error for number of bytes processed in the sha code.

    Signed-off-by: Kent Yoder
    Signed-off-by: Benjamin Herrenschmidt

    Kent Yoder
     
  • In function be_get_nic_desc(), it will go through the descriptor array
    returned from f/w. By comparing the desc_type field, it determines whether
    there is a nic descriptor in the array or not. In the case of no nic
    descriptor, this function should return NULL.

    The code may return an invalide descriptor, when there is no nic descriptor
    in the array and the desc_count is less than MAX_RESOURCE_DESC. In this case,
    even there is no nic descriptor, it will still return the lase descriptor
    since the i doesn't equal to MAX_RESOURCE_DESC.

    This patch fix this issue by returning the descriptor when find it and return
    NULL for other cases.

    Signed-off-by: Wei Yang
    Reviewed-by: Gavin Shan
    Reviewed-by: Xiao Guangrong
    Acked-by: Sathya Perla
    Signed-off-by: David S. Miller

    Wei Yang
     
  • commit 3853b5841c01a ("xps: Improvements in TX queue selection")
    introduced ooo_okay flag, but the condition to set it is slightly wrong.

    In our traces, we have seen ACK packets being received out of order,
    and RST packets sent in response.

    We should test if we have any packets still in host queue.

    Signed-off-by: Eric Dumazet
    Cc: Tom Herbert
    Cc: Yuchung Cheng
    Cc: Neal Cardwell
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Pull GPIO fixes from Linus Walleij:
    - An OMAP fix that makes ethernet work again.
    - Fix for build problem when building the MCP23S08 driver as module.
    - IRQ conflicts in the Langwell driver.
    - Fix IRQ coherency issues in the MXS driver.
    - Return correct errorcode on errorpath when removing GPIO chips.

    * tag 'gpio-fixes-v3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: Don't override the error code in probe error handling
    gpio: mxs: Use set and clear capabilities of the gpio controller
    gpio-langwell: fix irq conflicts when DT is not used
    gpio: mcp23s08: Fix build error when CONFIG_SPI_MASTER=y && CONFIG_I2C=m
    gpio/omap: ensure gpio context is initialised

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:
    "Here are some more fixes for v3.10. The Moorestown update broke Intel
    Medfield devices, so I reverted it. The acpiphp change fixes a
    regression: we broke hotplug notifications to host bridges when we
    split acpiphp into the host-bridge related part and the
    endpoint-related part.

    Moorestown
    Revert "x86/pci/mrst: Use configuration mechanism 1 for 00:00.0, 00:02.0, 00:03.0"
    Hotplug
    PCI: acpiphp: Re-enumerate devices when host bridge receives Bus Check"

    * tag 'pci-v3.10-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    Revert "x86/pci/mrst: Use configuration mechanism 1 for 00:00.0, 00:02.0, 00:03.0"
    PCI: acpiphp: Re-enumerate devices when host bridge receives Bus Check

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:
    "A few fixups to Wacom and eGalax touchscreen driver"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: wacom - add an eraser to DTH2242/DTK2241
    Input: wacom - add a few new styli for Cintiq series
    Input: wacom - add three new display tablets
    Input: egalax_ts - ABS_MT_POSITION_Y not reported well

    Linus Torvalds
     
  • This reverts commits:

    c573972c111eb4c6b3f3250ad71e7c75cc799833
    1a5904342c7380ceddd61c0b37544d752d0b1433
    da2e2c214953f37c2a6be20226537ca5a329724c

    They were meant for net-next not net.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull tty/serial fixes from Greg Kroah-Hartman:
    "Here are some tty / serial driver fixes for 3.10-rc2.

    Nothing huge, although the rocket driver fix looks large, it's just
    moving the code around to fix the reported build issues in it. Other
    than that, this has the fix for the of-reported lockdep warning from
    the vt layer, as well as some other needed bugfixes.

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

    * tag 'tty-3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    tty: mxser: Fix build warning introduced by dfc7b837c7f9 (Re: linux-next: build warning after merge of the tty.current tree)
    tty: mxser: fix usage of opmode_ioaddr
    serial: 8250_dw: add ACPI ID for Intel BayTrail
    TTY: Fix tty miss restart after we turn off flow-control
    tty/vt: Fix vc_deallocate() lock order
    TTY: ehv_bytechan: add missing platform_driver_unregister() when module exit
    TTY: rocket, fix more no-PCI warnings
    serial: mcf: missing uart_unregister_driver() on error in mcf_init()
    tty: serial: mpc5xxx: fix error handing in mpc52xx_uart_init()
    serial: samsung: add missing platform_driver_unregister() when module exit
    serial: pl011: protect attribute read from NULL platform data struct
    tty: nwpserial: Pass correct pointer to free_irq()
    serial: 8250_dw: Add valid clk pointer check

    Linus Torvalds
     
  • Pull staging driver fixes from Greg Kroah-Hartman:
    "Here are some staging tree driver fixes for 3.10-rc2

    The drivers/iio/ changes are here as they are still tied into
    drivers/staging/iio/.

    Nothing major, just a number of small bugfixes, and a larger
    documentation update for the ramster code."

    * tag 'staging-3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (28 commits)
    staging: dwc2: remove compile warning for USB_DWC2_TRACK_MISSED_SOFS
    iio: exynos_adc: fix wrong structure extration in suspend and resume
    iio:common:st: added disable function after read info raw data
    iio: dac: Fix build error when CONFIG_SPI_MASTER=y && CONFIG_I2C=m
    staging:iio:light:tsl2x7x: fix the error handling in tsl2x7x_probe()
    staging/iio/mxs-lradc: fix preenable for multiple buffers
    staging: imx-drm: imx-tve: Check the return value of 'regulator_enable()'
    staging: video: imx: Select VIDEOMODE_HELPERS for parallel display
    staging: ramster: add how-to document
    staging: dwc2: Fix dma-enabled platform devices using a default dma_mask
    staging: vt6656: [bug] Fix missing spin lock in iwctl_siwpower.
    staging: Swap zram and zsmalloc in Kconfig
    staging: android: logger: use kuid_t instead of uid_t
    staging: zcache: Fix incorrect module_param_array types
    staging/solo6x10: depend on CONFIG_FONTS
    staging/drm: imx: add missing dependencies
    staging: ste_rmi4: Suppress 'ignoring return value of ‘regulator_enable()' warning
    staging: sep: fix driver build and kconfig
    staging: nvec: cleanup childs on remove
    staging: nvec: implement unregistering of notifiers
    ...

    Linus Torvalds