Skip to content
Commits on Jun 9, 2012
  1. @gregkh

    Linux 3.4.2

    gregkh committed Jun 10, 2012
  2. @taoma-tm @gregkh

    ext4: don't set i_flags in EXT4_IOC_SETFLAGS

    taoma-tm committed with gregkh Jun 7, 2012
    commit b22b1f1 upstream.
    
    Commit 7990696 uses the ext4_{set,clear}_inode_flags() functions to
    change the i_flags automatically but fails to remove the error setting
    of i_flags.  So we still have the problem of trashing state flags.
    Fix this by removing the assignment.
    
    Signed-off-by: Tao Ma <boyu.mt@taobao.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  3. @brainflux @gregkh

    IA64: Add cmpxchg.h to exported userspace headers

    brainflux committed with gregkh May 16, 2012
    commit 98e4cff upstream.
    
    Fixes klibc build on ia64 after 85f8f77.
    
    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
    Signed-off-by: maximilian attems <max@stro.at>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  4. @danvet @gregkh

    drm/i915: enable vdd when switching off the eDP panel

    danvet committed with gregkh May 20, 2012
    commit 6cb4983 upstream.
    
    We have one bug report from a validation team that we get the eDP
    panel sequencing still somewhat wrong: We need to enable VDD while
    switching off the panel and backlight. Unfortunately that reporter
    seems to have fallen off the earth :(
    
    For another reporter this actually fixes a black panel issue because
    without this the backlight/panel gets confused and doesn't light up
    again.
    
    v2: I've forgotten to remove the vdd_off call in panel_off which is
    now bogus. This essentially reverts
    
    commit 17038de
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Mon Apr 16 22:43:42 2012 +0100
    
        drm/i915/dp: Flush any outstanding work to turn the VDD off
    
    v3: the current panel_off code forces off the vdd power, too. Which is
    bogus and resulted in some funny warnings later on when we've tried to
    do aux channel communications with just the vdd forced on. Fix this,
    too.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46312
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43163
    Tested-by: Vincent Frentzel <zcecc22@gmail.com>
    Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  5. @ickle @gregkh

    drm/i915/dp: Flush any outstanding work to turn the VDD off

    ickle committed with gregkh Apr 16, 2012
    commit 17038de upstream.
    
    As we may kick off a delayed workqueue task to switch of the VDD lines, we
    need to complete that task prior to turning off the panel (which itself
    depends upon VDD being off).
    
    v2: Don't cancel the outstanding work as this may trigger a deadlock
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Keith Packard <keithp@keithp.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  6. @jbarnes993 @gregkh

    drm/i915: always use RPNSWREQ for turbo change requests

    jbarnes993 committed with gregkh May 22, 2012
    commit 89ba829 upstream.
    
    Media turbo requests can either use RPVSWREQ or RPNSWREQ to indicate
    what the interrupt handler should do.  Since we only deal with the
    latter in our turbo code, make the media engine use that for turbo
    requests.
    
    Tested-by: Joe Bloggsian <joebloggsian@gmail.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  7. @notaz @gregkh

    wl1251: fix oops on early interrupt

    notaz committed with gregkh May 18, 2012
    commit f380f2c upstream.
    
    This driver disables interrupt just after requesting it and enables it
    later, after interface is up. However currently there is a time window
    between request_irq() and disable_irq() where if interrupt arrives, the
    driver oopses because it's not yet ready to process it. This can be
    reproduced by inserting the module, associating and removing the module
    multiple times.
    
    Eliminate this race by setting IRQF_NOAUTOEN flag before request_irq().
    
    Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  8. @neilbrown @gregkh

    md: raid1/raid10: fix problem with merge_bvec_fn

    neilbrown committed with gregkh May 31, 2012
    commit aba336b upstream.
    
    The new merge_bvec_fn which calls the corresponding function
    in subsidiary devices requires that mddev->merge_check_needed
    be set if any child has a merge_bvec_fn.
    
    However were were only setting that when a device was hot-added,
    not when a device was present from the start.
    
    This bug was introduced in 3.4 so patch is suitable for 3.4.y
    kernels.  However that are conflicts in raid10.c so a separate
    patch will be needed for 3.4.y.
    
    Reported-by: Sebastian Riemer <sebastian.riemer@profitbricks.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  9. @torvalds @gregkh

    vfs: Fix /proc/<tid>/fdinfo/<fd> file handling

    torvalds committed with gregkh Jun 4, 2012
    commit 0640113 upstream.
    
    Cyrill Gorcunov reports that I broke the fdinfo files with commit
    30a08bf ("proc: move fd symlink i_mode calculations into
    tid_fd_revalidate()"), and he's quite right.
    
    The tid_fd_revalidate() function is not just used for the <tid>/fd
    symlinks, it's also used for the <tid>/fdinfo/<fd> files, and the
    permission model for those are different.
    
    So do the dynamic symlink permission handling just for symlinks, making
    the fdinfo files once more appear as the proper regular files they are.
    
    Of course, Al Viro argued (probably correctly) that we shouldn't do the
    symlink permission games at all, and make the symlinks always just be
    the normal 'lrwxrwxrwx'.  That would have avoided this issue too, but
    since somebody noticed that the permissions had changed (which was the
    reason for that original commit 30a08bf in the first place), people
    do apparently use this feature.
    
    [ Basically, you can use the symlink permission data as a cheap "fdinfo"
      replacement, since you see whether the file is open for reading and/or
      writing by just looking at st_mode of the symlink.  So the feature
      does make sense, even if the pain it has caused means we probably
      shouldn't have done it to begin with. ]
    
    Reported-and-tested-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  10. @gregkh

    ACPI battery: only refresh the sysfs files when pertinent information…

    Andy Whitcroft committed with gregkh May 3, 2012
    … changes
    
    commit c597145 upstream.
    
    We only need to regenerate the sysfs files when the capacity units
    change, avoid the update otherwise.
    
    The origin of this issue is dates way back to 2.6.38:
    da8aeb9
    (ACPI / Battery: Update information on info notification and resume)
    
    Signed-off-by: Andy Whitcroft <apw@canonical.com>
    Tested-by: Ralf Jung <post@ralfj.de>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  11. @gregkh

    iommu/amd: Fix deadlock in ppr-handling error path

    Joerg Roedel committed with gregkh Jun 1, 2012
    commit eee5353 upstream.
    
    In the error path of the ppr_notifer it can happen that the
    iommu->lock is taken recursivly. This patch fixes the
    problem by releasing the iommu->lock before any notifier is
    invoked. This also requires to move the erratum workaround
    for the ppr-log (interrupt may be faster than data in the log)
    one function up.
    
    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  12. @gregkh

    iommu/amd: Cache pdev pointer to root-bridge

    Joerg Roedel committed with gregkh May 31, 2012
    commit c1bf94e upstream.
    
    At some point pci_get_bus_and_slot started to enable
    interrupts. Since this function is used in the
    amd_iommu_resume path it will enable interrupts on resume
    which causes a warning. The fix will use a cached pointer
    to the root-bridge to re-enable the IOMMU in case the BIOS
    is broken.
    
    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  13. @gregkh

    drm/radeon/kms: add new SI PCI ids

    Alex Deucher committed with gregkh Jun 5, 2012
    commit 7aaa61b upstream.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  14. @gregkh

    drm/radeon/kms: add new BTC PCI ids

    Alex Deucher committed with gregkh Jun 5, 2012
    commit a2bef8c upstream.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  15. @gregkh

    drm/radeon/kms: add new Palm, Sumo PCI ids

    Alex Deucher committed with gregkh Jun 5, 2012
    commit 4a6991c upstream.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  16. @gregkh

    drm/radeon/kms: add new Trinity PCI ids

    Alex Deucher committed with gregkh Jun 5, 2012
    commit d430f7d upstream.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  17. @gregkh

    drm/radeon: fix vm deadlocks on cayman

    Christian König committed with gregkh Jun 3, 2012
    commit bb40915 upstream.
    
    Locking mutex in different orders just screams for
    deadlocks, and some testing showed that it is actually
    quite easy to trigger them.
    
    Signed-off-by: Christian König <deathsimple@vodafone.de>
    Reviewed-by: Jerome Glisse <jglisse@redhat.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  18. @rmilecki @gregkh

    drm/radeon/audio: don't hardcode CRTC id

    rmilecki committed with gregkh Jun 4, 2012
    commit 0aecb5a upstream.
    
    This is based on info released by AMD, should allow using audio in much
    more cases.
    
    Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  19. @koct9i @gregkh

    radix-tree: fix contiguous iterator

    koct9i committed with gregkh Jun 5, 2012
    commit fffaee3 upstream.
    
    This patch fixes bug in macro radix_tree_for_each_contig().
    
    If radix_tree_next_slot() sees NULL in next slot it returns NULL, but following
    radix_tree_next_chunk() switches iterating into next chunk. As result iterating
    becomes non-contiguous and breaks vfs "splice" and all its users.
    
    Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
    Reported-and-bisected-by: Hans de Bruin <jmdebruin@xmsnet.nl>
    Reported-and-bisected-by: Ondrej Zary <linux@rainbow-software.org>
    Reported-bisected-and-tested-by: Toralf Förster <toralf.foerster@gmx.de>
    Link: https://lkml.org/lkml/2012/6/5/64
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  20. @sqazi @gregkh

    ext4: remove mb_groups before tearing down the buddy_cache

    sqazi committed with gregkh May 31, 2012
    commit 9559996 upstream.
    
    We can't have references held on pages in the s_buddy_cache while we are
    trying to truncate its pages and put the inode.  All the pages must be
    gone before we reach clear_inode.  This can only be gauranteed if we
    can prevent new users from grabbing references to s_buddy_cache's pages.
    
    The original bug can be reproduced and the bug fix can be verified by:
    
    while true; do mount -t ext4 /dev/ram0 /export/hda3/ram0; \
    	umount /export/hda3/ram0; done &
    
    while true; do cat /proc/fs/ext4/ram0/mb_groups; done
    
    Signed-off-by: Salman Qazi <sqazi@google.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  21. @sqazi @gregkh

    ext4: add ext4_mb_unload_buddy in the error path

    sqazi committed with gregkh May 31, 2012
    commit 02b7831 upstream.
    
    ext4_free_blocks fails to pair an ext4_mb_load_buddy with a matching
    ext4_mb_unload_buddy when it fails a memory allocation.
    
    Signed-off-by: Salman Qazi <sqazi@google.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  22. @tytso @gregkh

    ext4: don't trash state flags in EXT4_IOC_SETFLAGS

    tytso committed with gregkh May 31, 2012
    commit 7990696 upstream.
    
    In commit 353eb83 we removed i_state_flags with 64-bit longs, But
    when handling the EXT4_IOC_SETFLAGS ioctl, we replace i_flags
    directly, which trashes the state flags which are stored in the high
    32-bits of i_flags on 64-bit platforms.  So use the the
    ext4_{set,clear}_inode_flags() functions which use atomic bit
    manipulation functions instead.
    
    Reported-by: Tao Ma <boyu.mt@taobao.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  23. @tytso @gregkh

    ext4: add missing save_error_info() to ext4_error()

    tytso committed with gregkh May 30, 2012
    commit f3fc021 upstream.
    
    The ext4_error() function is missing a call to save_error_info().
    Since this is the function which marks the file system as containing
    an error, this oversight (which was introduced in 2.6.36) is quite
    significant, and should be backported to older stable kernels with
    high urgency.
    
    Reported-by: Ken Sumrall <ksumrall@google.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: ksumrall@google.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  24. @gregkh

    ext4: disallow hard-linked directory in ext4_lookup

    Andreas Dilger committed with gregkh May 28, 2012
    commit 7e936b7 upstream.
    
    A hard-linked directory to its parent can cause the VFS to deadlock,
    and is a sign of a corrupted file system.  So detect this case in
    ext4_lookup(), before the rmdir() lockup scenario can take place.
    
    Signed-off-by: Andreas Dilger <adilger@dilger.ca>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  25. @haogang @gregkh

    ext4: fix potential integer overflow in alloc_flex_gd()

    haogang committed with gregkh May 28, 2012
    commit 967ac8a upstream.
    
    In alloc_flex_gd(), when flexbg_size is large, kmalloc size would
    overflow and flex_gd->groups would point to a buffer smaller than
    expected, causing OOB accesses when it is used.
    
    Note that in ext4_resize_fs(), flexbg_size is calculated using
    sbi->s_log_groups_per_flex, which is read from the disk and only bounded
    to [1, 31]. The patch returns NULL for too large flexbg_size.
    
    Reviewed-by: Eric Sandeen <sandeen@redhat.com>
    Signed-off-by: Haogang Chen <haogangchen@gmail.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  26. @gregkh

    ext4: force ro mount if ext4_setup_super() fails

    Eric Sandeen committed with gregkh May 28, 2012
    commit 7e84b62 upstream.
    
    If ext4_setup_super() fails i.e. due to a too-high revision,
    the error is logged in dmesg but the fs is not mounted RO as
    indicated.
    
    Tested by:
    
    # mkfs.ext4 -r 4 /dev/sdb6
    # mount /dev/sdb6 /mnt/test
    # dmesg | grep "too high"
    [164919.759248] EXT4-fs (sdb6): revision level too high, forcing read-only mode
    # grep sdb6 /proc/mounts
    /dev/sdb6 /mnt/test2 ext4 rw,seclabel,relatime,data=ordered 0 0
    
    Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
    Signed-off-by: Eric Sandeen <sandeen@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  27. @gregkh

    ext4: fix potential NULL dereference in ext4_free_inodes_counts()

    Dan Carpenter committed with gregkh May 28, 2012
    commit bb3d132 upstream.
    
    The ext4_get_group_desc() function returns NULL on error, and
    ext4_free_inodes_count() function dereferences it without checking.
    There is a check on the next line, but it's too late.
    
    Reviewed-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  28. @gregkh

    xfrm: take net hdr len into account for esp payload size calculation

    Benjamin Poirier committed with gregkh May 24, 2012
    [ Upstream commit 91657ea ]
    
    Corrects the function that determines the esp payload size. The calculations
    done in esp{4,6}_get_mtu() lead to overlength frames in transport mode for
    certain mtu values and suboptimal frames for others.
    
    According to what is done, mainly in esp{,6}_output() and tcp_mtu_to_mss(),
    net_header_len must be taken into account before doing the alignment
    calculation.
    
    Signed-off-by: Benjamin Poirier <bpoirier@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  29. @nbd168 @gregkh

    skb: avoid unnecessary reallocations in __skb_cow

    nbd168 committed with gregkh May 29, 2012
    [ Upstream commit 617c8c1 ]
    
    At the beginning of __skb_cow, headroom gets set to a minimum of
    NET_SKB_PAD. This causes unnecessary reallocations if the buffer was not
    cloned and the headroom is just below NET_SKB_PAD, but still more than the
    amount requested by the caller.
    This was showing up frequently in my tests on VLAN tx, where
    vlan_insert_tag calls skb_cow_head(skb, VLAN_HLEN).
    
    Locally generated packets should have enough headroom, and for forward
    paths, we already have NET_SKB_PAD bytes of headroom, so we don't need to
    add any extra space here.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  30. @gregkh

    l2tp: fix oops in L2TP IP sockets for connect() AF_UNSPEC case

    James Chapman committed with gregkh May 29, 2012
    [ Upstream commit c51ce49 ]
    
    An application may call connect() to disconnect a socket using an
    address with family AF_UNSPEC. The L2TP IP sockets were not handling
    this case when the socket is not bound and an attempt to connect()
    using AF_UNSPEC in such cases would result in an oops. This patch
    addresses the problem by protecting the sk_prot->disconnect() call
    against trying to unhash the socket before it is bound.
    
    The patch also adds more checks that the sockaddr supplied to bind()
    and connect() calls is valid.
    
     RIP: 0010:[<ffffffff82e133b0>]  [<ffffffff82e133b0>] inet_unhash+0x50/0xd0
     RSP: 0018:ffff88001989be28  EFLAGS: 00010293
     Stack:
      ffff8800407a8000 0000000000000000 ffff88001989be78 ffffffff82e3a249
      ffffffff82e3a050 ffff88001989bec8 ffff88001989be88 ffff8800407a8000
      0000000000000010 ffff88001989bec8 ffff88001989bea8 ffffffff82e42639
     Call Trace:
     [<ffffffff82e3a249>] udp_disconnect+0x1f9/0x290
     [<ffffffff82e42639>] inet_dgram_connect+0x29/0x80
     [<ffffffff82d012fc>] sys_connect+0x9c/0x100
    
    Reported-by: Sasha Levin <levinsasha928@gmail.com>
    Signed-off-by: James Chapman <jchapman@katalix.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  31. @gregkh

    ipv6: fix incorrect ipsec fragment

    Gao feng committed with gregkh May 26, 2012
    [ Upstream commit 0c18337 ]
    
    Since commit ad0081e
    "ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed"
    the fragment of packets is incorrect.
    because tunnel mode needs IPsec headers and trailer for all fragments,
    while on transport mode it is sufficient to add the headers to the
    first fragment and the trailer to the last.
    
    so modify mtu and maxfraglen base on ipsec mode and if fragment is first
    or last.
    
    with my test,it work well(every fragment's size is the mtu)
    and does not trigger slow fragment path.
    
    Changes from v1:
    	though optimization, mtu_prev and maxfraglen_prev can be delete.
    	replace xfrm mode codes with dst_entry's new frag DST_XFRM_TUNNEL.
    	add fuction ip6_append_data_mtu to make codes clearer.
    
    Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  32. @gregkh

    ipv4: fix the rcu race between free_fib_info and ip_route_output_slow

    Yanmin Zhang committed with gregkh May 23, 2012
    [ Upstream commit e49cc0d ]
    
    We hit a kernel OOPS.
    
    <3>[23898.789643] BUG: sleeping function called from invalid context at
    /data/buildbot/workdir/ics/hardware/intel/linux-2.6/arch/x86/mm/fault.c:1103
    <3>[23898.862215] in_atomic(): 0, irqs_disabled(): 0, pid: 10526, name:
    Thread-6683
    <4>[23898.967805] HSU serial 0000:00:05.1: 0000:00:05.2:HSU serial prevented me
    to suspend...
    <4>[23899.258526] Pid: 10526, comm: Thread-6683 Tainted: G        W
    3.0.8-137685-ge7742f9 #1
    <4>[23899.357404] HSU serial 0000:00:05.1: 0000:00:05.2:HSU serial prevented me
    to suspend...
    <4>[23899.904225] Call Trace:
    <4>[23899.989209]  [<c1227f50>] ? pgtable_bad+0x130/0x130
    <4>[23900.000416]  [<c1238c2a>] __might_sleep+0x10a/0x110
    <4>[23900.007357]  [<c1228021>] do_page_fault+0xd1/0x3c0
    <4>[23900.013764]  [<c18e9ba9>] ? restore_all+0xf/0xf
    <4>[23900.024024]  [<c17c007b>] ? napi_complete+0x8b/0x690
    <4>[23900.029297]  [<c1227f50>] ? pgtable_bad+0x130/0x130
    <4>[23900.123739]  [<c1227f50>] ? pgtable_bad+0x130/0x130
    <4>[23900.128955]  [<c18ea0c3>] error_code+0x5f/0x64
    <4>[23900.133466]  [<c1227f50>] ? pgtable_bad+0x130/0x130
    <4>[23900.138450]  [<c17f6298>] ? __ip_route_output_key+0x698/0x7c0
    <4>[23900.144312]  [<c17f5f8d>] ? __ip_route_output_key+0x38d/0x7c0
    <4>[23900.150730]  [<c17f63df>] ip_route_output_flow+0x1f/0x60
    <4>[23900.156261]  [<c181de58>] ip4_datagram_connect+0x188/0x2b0
    <4>[23900.161960]  [<c18e981f>] ? _raw_spin_unlock_bh+0x1f/0x30
    <4>[23900.167834]  [<c18298d6>] inet_dgram_connect+0x36/0x80
    <4>[23900.173224]  [<c14f9e88>] ? _copy_from_user+0x48/0x140
    <4>[23900.178817]  [<c17ab9da>] sys_connect+0x9a/0xd0
    <4>[23900.183538]  [<c132e93c>] ? alloc_file+0xdc/0x240
    <4>[23900.189111]  [<c123925d>] ? sub_preempt_count+0x3d/0x50
    
    Function free_fib_info resets nexthop_nh->nh_dev to NULL before releasing
    fi. Other cpu might be accessing fi. Fixing it by delaying the releasing.
    
    With the patch, we ran MTBF testing on Android mobile for 12 hours
    and didn't trigger the issue.
    
    Thank Eric for very detailed review/checking the issue.
    
    Signed-off-by: Yanmin Zhang <yanmin_zhang@linux.intel.com>
    Signed-off-by: Kun Jiang <kunx.jiang@intel.com>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  33. @gregkh

    asix: allow full size 8021Q frames to be received

    Eric Dumazet committed with gregkh May 28, 2012
    [ Upstream commit 9dae310 ]
    
    asix driver drops 8021Q full size frames because it doesn't take into
    account VLAN header size.
    
    Tested on AX88772 adapter.
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    CC: Allan Chou <allan@asix.com.tw>
    CC: Trond Wuellner <trond@chromium.org>
    CC: Grant Grundler <grundler@chromium.org>
    CC: Paul Stewart <pstew@chromium.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  34. @thomashvmw @gregkh

    drm/vmwgfx: Fix nasty write past alloced memory area

    thomashvmw committed with gregkh Jun 1, 2012
    commit 0824db3 upstream.
    
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  35. @thomashvmw @gregkh

    drm/ttm: Fix spinlock imbalance

    thomashvmw committed with gregkh Jun 1, 2012
    commit a8ff3ee upstream.
    
    This imbalance may cause hangs when TTM is trying to swap out a buffer
    that is already on the delayed delete list.
    
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Something went wrong with that request. Please try again.