1. 03 7月, 2012 3 次提交
    • D
      drm/i915: kick any firmware framebuffers before claiming the gtt · 9f846a16
      Daniel Vetter 提交于
      Especially vesafb likes to map everything as uc- (yikes), and if that
      mapping hangs around still while we try to map the gtt as wc the
      kernel will downgrade our request to uc-, resulting in abyssal
      performance.
      
      Unfortunately we can't do this as early as readon does (i.e. as the
      first thing we do when initializing the hw) because our fb/mmio space
      region moves around on a per-gen basis. So I've had to move it below
      the gtt initialization, but that seems to work, too. The important
      thing is that we do this before we set up the gtt wc mapping.
      
      Now an altogether different question is why people compile their
      kernels with vesafb enabled, but I guess making things just work isn't
      bad per se ...
      
      v2:
      - s/radeondrmfb/inteldrmfb/
      - fix up error handling
      
      v3: Kill #ifdef X86, this is Intel after all. Noticed by Ben Widawsky.
      
      v4: Jani Nikula complained about the pointless bool primary
      initialization.
      
      v5: Don't oops if we can't allocate, noticed by Chris Wilson.
      
      v6: Resolve conflicts with agp rework and fixup whitespace.
      
      This is commit e188719a in drm-next.
      
      Backport to 3.5 -fixes queue requested by Dave Airlie - due to grub
      using vesa on fedora their initrd seems to load vesafb before loading
      the real kms driver. So tons more people actually experience a
      dead-slow gpu. Hence also the Cc: stable.
      
      Cc: stable@vger.kernel.org
      Reported-and-tested-by: N"Kilarski, Bernard R" <bernard.r.kilarski@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      9f846a16
    • T
      drm: edid: Don't add inferred modes with higher resolution · 7b668ebe
      Takashi Iwai 提交于
      When a monitor EDID doesn't give the preferred bit, driver assumes
      that the mode with the higest resolution and rate is the preferred
      mode.  Meanwhile the recent changes for allowing more modes in the
      GFT/CVT ranges give actually more modes, and some modes may be over
      the native size.  Thus such a mode would be picked up as the preferred
      mode although it's no native resolution.
      
      For avoiding such a problem, this patch limits the addition of
      inferred modes by checking not to be greater than other modes.
      Also, it checks the duplicated mode entry at the same time.
      Reviewed-by: NAdam Jackson <ajax@redhat.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7b668ebe
    • J
      drm/radeon: fix rare segfault · 1ef5325b
      Jerome Glisse 提交于
      In gem idle/busy ioctl the radeon object was derefenced after
      drm_gem_object_unreference_unlocked which in case the object
      have been destroyed lead to use of a possibly free pointer with
      possibly wrong data.
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1ef5325b
  2. 29 6月, 2012 14 次提交
    • A
      drm/radeon: fix VM page table setup on SI · c21b328e
      Alex Deucher 提交于
      Cayman and trinity allow for variable sized VM page
      tables, but SI requires that all page tables be the
      same size.  The current code assumes variablely sized
      VM page tables so SI may end up with part of each page
      table overlapping with other memory which could end
      up being interpreted by the VM hw as garbage.
      
      Change the code to better accomodate SI.  Allocate enough
      space for at least 2 full page tables and always set
      last_pfn to max_pfn on SI so each VM is backed by a full
      page table.  This limits us to only 2 VMs active at any
      given time on SI.  This will be rectified and the code can
      be reunified once we move to two level page tables.
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NJerome Glisse <jglisse@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c21b328e
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 9acc7bde
      Linus Torvalds 提交于
      Pull hwmon changes from Guenter Roeck:
       "Just e-mail address updates"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: Update my e-mail address
        hwmon: (applesmc) correct email address for Jesper Juhl
      9acc7bde
    • L
      Merge git://www.linux-watchdog.org/linux-watchdog · ccce27c0
      Linus Torvalds 提交于
      Pull watchdog fixes from Wim Van Sebroeck:
       "This fixes:
         - the WDIOC_GETSTATUS return value
         - the unregister of all NMI events on exit
         - the loading of the iTCO_wdt driver after the conversion to the
           lpc_ich mfd model."
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: core: fix WDIOC_GETSTATUS return value
        watchdog: hpwdt: Unregister NMI events on exit.
        watchdog: iTCO_wdt: add platform driver module alias
      ccce27c0
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 221d3ebf
      Linus Torvalds 提交于
      Pull UDF fixes from Jan Kara:
       "Make UDF more robust in presence of corrupted filesystem"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Fortify loading of sparing table
        udf: Avoid run away loop when partition table length is corrupted
        udf: Use 'ret' instead of abusing 'i' in udf_load_logicalvol()
      221d3ebf
    • L
      Merge tag 'upstream-3.5-rc5' of git://git.infradead.org/linux-ubifs · 9a7c6b73
      Linus Torvalds 提交于
      Pull ubi/ubifs fixes from Artem Bityutskiy:
       "Fix the debugfs regression - we never enable it because incorrect
        'IS_ENABLED()' macro usage: should be 'IS_ENABLED(CONFIG_DEBUG_FS)',
        but we had 'IS_ENABLED(DEBUG_FS)'.  Also fix incorrect assertion."
      
      * tag 'upstream-3.5-rc5' of git://git.infradead.org/linux-ubifs:
        UBI: correct usage of IS_ENABLED()
        UBIFS: correct usage of IS_ENABLED()
        UBIFS: fix assertion
      9a7c6b73
    • W
      watchdog: core: fix WDIOC_GETSTATUS return value · 8b9468d4
      Wim Van Sebroeck 提交于
      In commit 7a879824 we added
      a wrapper for the WDIOC_GETSTATUS ioctl call. The code results
      however in a different behaviour: it returns an error if the
      driver doesn't support the status operation. This is not
      according to the API that says that when we don't support
      the status operation, that we just should return a 0 value.
      Only when the device isn't there anymore, we should return an
      error.
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      8b9468d4
    • M
      watchdog: hpwdt: Unregister NMI events on exit. · a089361c
      Mingarelli, Thomas 提交于
      This patch is to unregister for NMI events upon exit. Also we are now
      making the default setting for allow_kdump enabled.
      Signed-off-by: NThomas Mingarelli <thomas.mingarelli@hp.com>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      a089361c
    • J
      watchdog: iTCO_wdt: add platform driver module alias · e5de32e3
      Jan Beulich 提交于
      The recent conversion of iTCO_wdt resulted in the driver no longer
      getting loaded automatically, since it no longer has a
      MODULE_DEVICE_TABLE() included. As the lpc_ich driver now creates a
      platform device, auto-loading can easily be done by having a respective
      module alias in place.
      Signed-off-by: NJan Beulich <jbeulich@suse.com>
      Cc: Aaron Sierra <asierra@xes-inc.com>
      Acked-by: NGuenter Roeck <linux@roeck-us.net>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      e5de32e3
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 4a9c4697
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Nearly all intel, one missing license header in nouveau, nothing
        majorly earth shattering."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        Revert "drm/i915: allow PCH PWM override on IVB"
        drm/nouveau: add license header to prime.
        drm/i915: Fix eDP blank screen after S3 resume on HP desktops
        drm/i915: rip out the PM_IIR WARN
      4a9c4697
    • L
      Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh · ef726227
      Linus Torvalds 提交于
      Pull SuperH fixes from Paul Mundt.
      
      * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
        sh: Convert sh_clk_mstp32_register to sh_clk_mstp_register
        sh: kfr2r09: fix compile breakage
      ef726227
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · f3747e2f
      Linus Torvalds 提交于
      Pull networking update from David Miller:
      
       1) Pairing and deadlock fixes in bluetooth from Johan Hedberg.
      
       2) Add device IDs for AR3011 and AR3012 bluetooth chips.  From
          Giancarlo Formicuccia and Marek Vasut.
      
       3) Fix wireless regulatory deadlock, from Eliad Peller.
      
       4) Fix full TX ring panic in bnx2x driver, from Eric Dumazet.
      
       5) Revert the two commits that added skb_orphan_try(), it causes
          erratic bonding behavior with UDP clients and the gains it used to
          give are mostly no longer happening due to how BQL works.  From Eric
          Dumazet.
      
       6) It took two tries, but Thomas Graf fixed a problem wherein we
          registered ipv6 routing procfs files before their backend data were
          initialized properly.
      
       7) Fix max GSO size setting in be2net, from Sarveshwar Bandi.
      
       8) PHY device id mask is wrong for KSZ9021 and KS8001 chips, fix from
          Jason Wang.
      
       9) Fix use of stale SKB data pointer after skb_linearize() call in
          batman-adv, from Antonio Quartulli.
      
      10) Fix memory leak in IXGBE due to missing __GFP_COMP, from Alexander
          Duyck.
      
      11) Fix probing of Gobi devices in qmi_wwan usbnet driver, from Bjørn
          Mork.
      
      12) Fix suspend/resume and open failure handling in usbnet from Ming
          Lei.
      
      13) Attempt to fix device r8169 hangs for certain chips, from Francois
          Romieu.
      
      14) Fix advancement of RX dirty pointer in some situations in sh_eth
          driver, from Yoshihiro Shimoda.
      
      15) Attempt to fix restart of IPV6 routing table dumps when there is an
          intervening table update.  From Eric Dumazet.
      
      16) Respect security_inet_conn_request() return value in ipv6 TCP.  From
          Neal Cardwell.
      
      17) Add another iPAD device ID to ipheth driver, from Davide Gerhard.
      
      18) Fix access to freed SKB in l2tp_eth_dev_xmit(), and fix l2tp lockdep
          splats, from Eric Dumazet.
      
      19) Make sure all bridge devices, regardless of whether they were
          created via netlink or ioctls, have their rtnetlink ops hooked up.
          From Thomas Graf and Stephen Hemminger.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (81 commits)
        9p: fix min_t() casting in p9pdu_vwritef()
        can: flexcan: use be32_to_cpup to handle the value of dt entry
        xen/netfront: teardown the device before unregistering it.
        bridge: Assign rtnl_link_ops to bridge devices created via ioctl (v2)
        vhost: use USER_DS in vhost_worker thread
        ixgbe: Do not pad FCoE frames as this can cause issues with FCoE DDP
        net: l2tp_eth: use LLTX to avoid LOCKDEP splats
        mac802154: add missed braces
        net: l2tp_eth: fix l2tp_eth_dev_xmit race
        net/mlx4_en: Release QP range in free_resources
        net/mlx4: Use single completion vector after NOP failure
        net/mlx4_en: Set correct port parameters during device initialization
        ipheth: add support for iPad
        caif-hsi: Add missing return in error path
        caif-hsi: Bugfix - Piggyback'ed embedded CAIF frame lost
        caif: Clear shutdown mask to zero at reconnect.
        tcp: heed result of security_inet_conn_request() in tcp_v6_conn_request()
        ipv6: fib: fix fib dump restart
        batman-adv: fix race condition in TT full-table replacement
        batman-adv: only drop packets of known wifi clients
        ...
      f3747e2f
    • J
      udf: Fortify loading of sparing table · 1df2ae31
      Jan Kara 提交于
      Add sanity checks when loading sparing table from disk to avoid accessing
      unallocated memory or writing to it.
      Signed-off-by: NJan Kara <jack@suse.cz>
      1df2ae31
    • J
      udf: Avoid run away loop when partition table length is corrupted · adee11b2
      Jan Kara 提交于
      Check provided length of partition table so that (possibly maliciously)
      corrupted partition table cannot cause accessing data beyond current buffer.
      Signed-off-by: NJan Kara <jack@suse.cz>
      adee11b2
    • J
      udf: Use 'ret' instead of abusing 'i' in udf_load_logicalvol() · cb14d340
      Jan Kara 提交于
      Signed-off-by: NJan Kara <jack@suse.cz>
      cb14d340
  3. 28 6月, 2012 13 次提交
  4. 27 6月, 2012 10 次提交
    • B
      UBI: correct usage of IS_ENABLED() · 903e0e4e
      Brian Norris 提交于
      Commit "e9b4cf20 UBI: fix debugfs-less systems support" fixed one
      regression but introduced a different regression - the debugfs is now always
      compiled out. Root cause: IS_ENABLED() arguments should be used with the
      CONFIG_* prefix.
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      903e0e4e
    • B
      UBIFS: correct usage of IS_ENABLED() · 2d4cf5ae
      Brian Norris 提交于
      Commit "818039c7 UBIFS: fix debugfs-less systems support" fixed one
      regression but introduced a different regression - the debugfs is now always
      compiled out. Root cause: IS_ENABLED() arguments should be used with the
      CONFIG_* prefix.
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      2d4cf5ae
    • H
      can: flexcan: use be32_to_cpup to handle the value of dt entry · 85f2f834
      Hui Wang 提交于
      The freescale arm i.MX series platform can support this driver, and
      usually the arm cpu works in the little endian mode by default, while
      device tree entry value is stored in big endian format, we should use
      be32_to_cpup() to handle them, after modification, it can work well
      both on the le cpu and be cpu.
      
      Cc: stable <stable@vger.kernel.org> # v3.2+
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NHui Wang <jason77.wang@gmail.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      85f2f834
    • D
      drm/nouveau: add license header to prime. · e9bf5f36
      Dave Airlie 提交于
      Just forgot this when I posted it, and yes I'm the only person
      to have changed the file since.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e9bf5f36
    • I
      xen/netfront: teardown the device before unregistering it. · 6bc96d04
      Ian Campbell 提交于
      Fixes:
      [   15.470311] WARNING: at /local/scratch/ianc/devel/kernels/linux/fs/sysfs/file.c:498 sysfs_attr_ns+0x95/0xa0()
      [   15.470326] sysfs: kobject eth0 without dirent
      [   15.470333] Modules linked in:
      [   15.470342] Pid: 12, comm: xenwatch Not tainted 3.4.0-x86_32p-xenU #93
      and
      [    9.150554] BUG: unable to handle kernel paging request at 2b359000
      [    9.150577] IP: [<c1279561>] linkwatch_do_dev+0x81/0xc0
      [    9.150592] *pdpt = 000000002c3c9027 *pde = 0000000000000000
      [    9.150604] Oops: 0002 [#1] SMP
      [    9.150613] Modules linked in:
      
      This is http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675190Reported-by: NGeorge Shuklin <george.shuklin@gmail.com>
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Tested-by: NWilliam Dauchy <wdauchy@gmail.com>
      Cc: stable@kernel.org
      Cc: 675190@bugs.debian.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6bc96d04
    • S
      bridge: Assign rtnl_link_ops to bridge devices created via ioctl (v2) · 149ddd83
      stephen hemminger 提交于
      This ensures that bridges created with brctl(8) or ioctl(2) directly
      also carry IFLA_LINKINFO when dumped over netlink. This also allows
      to create a bridge with ioctl(2) and delete it with RTM_DELLINK.
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      149ddd83
    • J
      vhost: use USER_DS in vhost_worker thread · d7ffde35
      Jens Freimann 提交于
      On some architectures address spaces are set up in a way that this is
      not necessary to work properly but on some others (like s390) it is.
      Make sure we operate on the user address space to allow copy_xxx_user()
      from the vhost_worker() thread by setting it explicitly before calling
      use_mm() and revert it after unuse_mm().
      Signed-off-by: NJens Freimann <jfrei@linux.vnet.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d7ffde35
    • A
      ixgbe: Do not pad FCoE frames as this can cause issues with FCoE DDP · 57efd44c
      Alexander Duyck 提交于
      FCoE target mode was experiencing issues due to the fact that we were
      sending up data frames that were padded to 60 bytes after the DDP logic had
      already stripped the frame down to 52 or 56 depending on the use of VLANs.
      This was resulting in the FCoE DDP logic having issues since it thought the
      frame still had data in it due to the padding.
      
      To resolve this, adding code so that we do not pad FCoE frames prior to
      handling them to the stack.
      
      CC: <stable@vger.kernel.org>
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Tested-by: NPhil Schmitt <phillip.j.schmitt@intel.com>
      Tested-by: NRoss Brattain <ross.b.brattain@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      57efd44c
    • E
      net: l2tp_eth: use LLTX to avoid LOCKDEP splats · a2842a1e
      Eric Dumazet 提交于
      Denys Fedoryshchenko reported a LOCKDEP issue with l2tp code.
      
      [ 8683.927442] ======================================================
      [ 8683.927555] [ INFO: possible circular locking dependency detected ]
      [ 8683.927672] 3.4.1-build-0061 #14 Not tainted
      [ 8683.927782] -------------------------------------------------------
      [ 8683.927895] swapper/0/0 is trying to acquire lock:
      [ 8683.928007]  (slock-AF_INET){+.-...}, at: [<e0fc73ec>]
      l2tp_xmit_skb+0x173/0x47e [l2tp_core]
      [ 8683.928121]
      [ 8683.928121] but task is already holding lock:
      [ 8683.928121]  (_xmit_ETHER#2){+.-...}, at: [<c02f062d>]
      sch_direct_xmit+0x36/0x119
      [ 8683.928121]
      [ 8683.928121] which lock already depends on the new lock.
      [ 8683.928121]
      [ 8683.928121]
      [ 8683.928121] the existing dependency chain (in reverse order) is:
      [ 8683.928121]
      [ 8683.928121] -> #1 (_xmit_ETHER#2){+.-...}:
      [ 8683.928121]        [<c015a561>] lock_acquire+0x71/0x85
      [ 8683.928121]        [<c034da2d>] _raw_spin_lock+0x33/0x40
      [ 8683.928121]        [<c0304e0c>] ip_send_reply+0xf2/0x1ce
      [ 8683.928121]        [<c0317dbc>] tcp_v4_send_reset+0x153/0x16f
      [ 8683.928121]        [<c0317f4a>] tcp_v4_do_rcv+0x172/0x194
      [ 8683.928121]        [<c031929b>] tcp_v4_rcv+0x387/0x5a0
      [ 8683.928121]        [<c03001d0>] ip_local_deliver_finish+0x13a/0x1e9
      [ 8683.928121]        [<c0300645>] NF_HOOK.clone.11+0x46/0x4d
      [ 8683.928121]        [<c030075b>] ip_local_deliver+0x41/0x45
      [ 8683.928121]        [<c03005dd>] ip_rcv_finish+0x31a/0x33c
      [ 8683.928121]        [<c0300645>] NF_HOOK.clone.11+0x46/0x4d
      [ 8683.928121]        [<c0300960>] ip_rcv+0x201/0x23d
      [ 8683.928121]        [<c02de91b>] __netif_receive_skb+0x329/0x378
      [ 8683.928121]        [<c02deae8>] netif_receive_skb+0x4e/0x7d
      [ 8683.928121]        [<e08d5ef3>] rtl8139_poll+0x243/0x33d [8139too]
      [ 8683.928121]        [<c02df103>] net_rx_action+0x90/0x15d
      [ 8683.928121]        [<c012b2b5>] __do_softirq+0x7b/0x118
      [ 8683.928121]
      [ 8683.928121] -> #0 (slock-AF_INET){+.-...}:
      [ 8683.928121]        [<c0159f1b>] __lock_acquire+0x9a3/0xc27
      [ 8683.928121]        [<c015a561>] lock_acquire+0x71/0x85
      [ 8683.928121]        [<c034da2d>] _raw_spin_lock+0x33/0x40
      [ 8683.928121]        [<e0fc73ec>] l2tp_xmit_skb+0x173/0x47e
      [l2tp_core]
      [ 8683.928121]        [<e0fe31fb>] l2tp_eth_dev_xmit+0x1a/0x2f
      [l2tp_eth]
      [ 8683.928121]        [<c02e01e7>] dev_hard_start_xmit+0x333/0x3f2
      [ 8683.928121]        [<c02f064c>] sch_direct_xmit+0x55/0x119
      [ 8683.928121]        [<c02e0528>] dev_queue_xmit+0x282/0x418
      [ 8683.928121]        [<c031f4fb>] NF_HOOK.clone.19+0x45/0x4c
      [ 8683.928121]        [<c031f524>] arp_xmit+0x22/0x24
      [ 8683.928121]        [<c031f567>] arp_send+0x41/0x48
      [ 8683.928121]        [<c031fa7d>] arp_process+0x289/0x491
      [ 8683.928121]        [<c031f4fb>] NF_HOOK.clone.19+0x45/0x4c
      [ 8683.928121]        [<c031f7a0>] arp_rcv+0xb1/0xc3
      [ 8683.928121]        [<c02de91b>] __netif_receive_skb+0x329/0x378
      [ 8683.928121]        [<c02de9d3>] process_backlog+0x69/0x130
      [ 8683.928121]        [<c02df103>] net_rx_action+0x90/0x15d
      [ 8683.928121]        [<c012b2b5>] __do_softirq+0x7b/0x118
      [ 8683.928121]
      [ 8683.928121] other info that might help us debug this:
      [ 8683.928121]
      [ 8683.928121]  Possible unsafe locking scenario:
      [ 8683.928121]
      [ 8683.928121]        CPU0                    CPU1
      [ 8683.928121]        ----                    ----
      [ 8683.928121]   lock(_xmit_ETHER#2);
      [ 8683.928121]                                lock(slock-AF_INET);
      [ 8683.928121]                                lock(_xmit_ETHER#2);
      [ 8683.928121]   lock(slock-AF_INET);
      [ 8683.928121]
      [ 8683.928121]  *** DEADLOCK ***
      [ 8683.928121]
      [ 8683.928121] 3 locks held by swapper/0/0:
      [ 8683.928121]  #0:  (rcu_read_lock){.+.+..}, at: [<c02dbc10>]
      rcu_lock_acquire+0x0/0x30
      [ 8683.928121]  #1:  (rcu_read_lock_bh){.+....}, at: [<c02dbc10>]
      rcu_lock_acquire+0x0/0x30
      [ 8683.928121]  #2:  (_xmit_ETHER#2){+.-...}, at: [<c02f062d>]
      sch_direct_xmit+0x36/0x119
      [ 8683.928121]
      [ 8683.928121] stack backtrace:
      [ 8683.928121] Pid: 0, comm: swapper/0 Not tainted 3.4.1-build-0061 #14
      [ 8683.928121] Call Trace:
      [ 8683.928121]  [<c034bdd2>] ? printk+0x18/0x1a
      [ 8683.928121]  [<c0158904>] print_circular_bug+0x1ac/0x1b6
      [ 8683.928121]  [<c0159f1b>] __lock_acquire+0x9a3/0xc27
      [ 8683.928121]  [<c015a561>] lock_acquire+0x71/0x85
      [ 8683.928121]  [<e0fc73ec>] ? l2tp_xmit_skb+0x173/0x47e [l2tp_core]
      [ 8683.928121]  [<c034da2d>] _raw_spin_lock+0x33/0x40
      [ 8683.928121]  [<e0fc73ec>] ? l2tp_xmit_skb+0x173/0x47e [l2tp_core]
      [ 8683.928121]  [<e0fc73ec>] l2tp_xmit_skb+0x173/0x47e [l2tp_core]
      [ 8683.928121]  [<e0fe31fb>] l2tp_eth_dev_xmit+0x1a/0x2f [l2tp_eth]
      [ 8683.928121]  [<c02e01e7>] dev_hard_start_xmit+0x333/0x3f2
      [ 8683.928121]  [<c02f064c>] sch_direct_xmit+0x55/0x119
      [ 8683.928121]  [<c02e0528>] dev_queue_xmit+0x282/0x418
      [ 8683.928121]  [<c02e02a6>] ? dev_hard_start_xmit+0x3f2/0x3f2
      [ 8683.928121]  [<c031f4fb>] NF_HOOK.clone.19+0x45/0x4c
      [ 8683.928121]  [<c031f524>] arp_xmit+0x22/0x24
      [ 8683.928121]  [<c02e02a6>] ? dev_hard_start_xmit+0x3f2/0x3f2
      [ 8683.928121]  [<c031f567>] arp_send+0x41/0x48
      [ 8683.928121]  [<c031fa7d>] arp_process+0x289/0x491
      [ 8683.928121]  [<c031f7f4>] ? __neigh_lookup.clone.20+0x42/0x42
      [ 8683.928121]  [<c031f4fb>] NF_HOOK.clone.19+0x45/0x4c
      [ 8683.928121]  [<c031f7a0>] arp_rcv+0xb1/0xc3
      [ 8683.928121]  [<c031f7f4>] ? __neigh_lookup.clone.20+0x42/0x42
      [ 8683.928121]  [<c02de91b>] __netif_receive_skb+0x329/0x378
      [ 8683.928121]  [<c02de9d3>] process_backlog+0x69/0x130
      [ 8683.928121]  [<c02df103>] net_rx_action+0x90/0x15d
      [ 8683.928121]  [<c012b2b5>] __do_softirq+0x7b/0x118
      [ 8683.928121]  [<c012b23a>] ? local_bh_enable+0xd/0xd
      [ 8683.928121]  <IRQ>  [<c012b4d0>] ? irq_exit+0x41/0x91
      [ 8683.928121]  [<c0103c6f>] ? do_IRQ+0x79/0x8d
      [ 8683.928121]  [<c0157ea1>] ? trace_hardirqs_off_caller+0x2e/0x86
      [ 8683.928121]  [<c034ef6e>] ? common_interrupt+0x2e/0x34
      [ 8683.928121]  [<c0108a33>] ? default_idle+0x23/0x38
      [ 8683.928121]  [<c01091a8>] ? cpu_idle+0x55/0x6f
      [ 8683.928121]  [<c033df25>] ? rest_init+0xa1/0xa7
      [ 8683.928121]  [<c033de84>] ? __read_lock_failed+0x14/0x14
      [ 8683.928121]  [<c0498745>] ? start_kernel+0x303/0x30a
      [ 8683.928121]  [<c0498209>] ? repair_env_string+0x51/0x51
      [ 8683.928121]  [<c04980a8>] ? i386_start_kernel+0xa8/0xaf
      
      It appears that like most virtual devices, l2tp should be converted to
      LLTX mode.
      
      This patch takes care of statistics using atomic_long in both RX and TX
      paths, and fix a bug in l2tp_eth_dev_recv(), which was caching skb->data
      before a pskb_may_pull() call.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Reported-by: NDenys Fedoryshchenko <denys@visp.net.lb>
      Cc: James Chapman <jchapman@katalix.com>
      Cc: Hong zhi guo <honkiko@gmail.com>
      Cc: Francois Romieu <romieu@fr.zoreil.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a2842a1e
    • C
      USB: CP210x Add 10 Device IDs · 3fcc8f96
      Craig Shelley 提交于
      This patch adds 10 device IDs for CP210x based devices from the following manufacturers:
      Timewave
      Clipsal
      Festo
      Link Instruments
      Signed-off-by: NCraig Shelley <craig@microtron.org.uk>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3fcc8f96