1. 30 12月, 2016 1 次提交
  2. 28 12月, 2016 2 次提交
  3. 27 12月, 2016 1 次提交
  4. 26 12月, 2016 1 次提交
    • T
      ktime: Cleanup ktime_set() usage · 8b0e1953
      Thomas Gleixner 提交于
      ktime_set(S,N) was required for the timespec storage type and is still
      useful for situations where a Seconds and Nanoseconds part of a time value
      needs to be converted. For anything where the Seconds argument is 0, this
      is pointless and can be replaced with a simple assignment.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      8b0e1953
  5. 25 12月, 2016 2 次提交
  6. 24 12月, 2016 4 次提交
  7. 22 12月, 2016 3 次提交
    • T
      net: mvpp2: fix dma unmapping of TX buffers for fragments · 8354491c
      Thomas Petazzoni 提交于
      Since commit 71ce391d ("net: mvpp2: enable proper per-CPU TX
      buffers unmapping"), we are not correctly DMA unmapping TX buffers for
      fragments.
      
      Indeed, the mvpp2_txq_inc_put() function only stores in the
      txq_cpu->tx_buffs[] array the physical address of the buffer to be
      DMA-unmapped when skb != NULL. In addition, when DMA-unmapping, we use
      skb_headlen(skb) to get the size to be unmapped. Both of this works fine
      for TX descriptors that are associated directly to a SKB, but not the
      ones that are used for fragments, with a NULL pointer as skb:
      
       - We have a NULL physical address when calling DMA unmap
       - skb_headlen(skb) crashes because skb is NULL
      
      This causes random crashes when fragments are used.
      
      To solve this problem, we need to:
      
       - Store the physical address of the buffer to be unmapped
         unconditionally, regardless of whether it is tied to a SKB or not.
      
       - Store the length of the buffer to be unmapped, which requires a new
         field.
      
      Instead of adding a third array to store the length of the buffer to be
      unmapped, and as suggested by David Miller, this commit refactors the
      tx_buffs[] and tx_skb[] arrays of 'struct mvpp2_txq_pcpu' into a
      separate structure 'mvpp2_txq_pcpu_buf', to which a 'size' field is
      added. Therefore, instead of having three arrays to allocate/free, we
      have a single one, which also improve data locality, reducing the
      impact on the CPU cache.
      
      Fixes: 71ce391d ("net: mvpp2: enable proper per-CPU TX buffers unmapping")
      Reported-by: NRaphael G <raphael.glon@corp.ovh.com>
      Cc: Raphael G <raphael.glon@corp.ovh.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8354491c
    • H
      net: ethernet: stmmac: dwmac-rk: make clk enablement first in powerup · f217bfde
      Heiko Stübner 提交于
      Right now the dwmac-rk tries to set up the GRF-specific speed and link
      options before enabling clocks, phys etc and on previous socs this works
      because the GRF is supplied on the whole by one clock.
      
      On the rk3399 however the GRF (General Register Files) clock-supply
      has been split into multiple clocks and while there is no specific
      grf-gmac clock like for other sub-blocks, it seems the mac-specific
      portions are actually supplied by the general mac clock.
      
      This results in hangs on rk3399 boards if the driver is build as module.
      When built in te problem of course doesn't surface, as the clocks
      are of course still on at the stage before clock_disable_unused.
      
      To solve this, simply move the clock enablement to the first position
      in the powerup callback. This is also a good idea in general to
      enable clocks before everything else.
      
      Tested on rk3288, rk3368 and rk3399 the dwmac still works on all of them.
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f217bfde
    • K
      be2net: Increase skb headroom size to 256 bytes · 76b15923
      Kalesh A P 提交于
      The driver currently allocates 128 bytes of skb headroom.
      This was found to be insufficient with some configurations
      like Geneve tunnels, which resulted in skb head reallocations.
      
      Increase the headroom to 256 bytes to fix this.
      Signed-off-by: NKalesh A P <kalesh-anakkur.purayil@broadcom.com>
      Signed-off-by: NSuresh Reddy <suresh.reddy@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      76b15923
  8. 21 12月, 2016 9 次提交
  9. 20 12月, 2016 2 次提交
  10. 18 12月, 2016 12 次提交
    • S
      net: mv643xx_eth: fix build failure · 3e3397e7
      Sudip Mukherjee 提交于
      The build of sparc allmodconfig fails with the error:
      "of_irq_to_resource" [drivers/net/ethernet/marvell/mv643xx_eth.ko]
      	undefined!
      
      of_irq_to_resource() is defined when CONFIG_OF_IRQ is defined. And also
      CONFIG_OF_IRQ can only be defined if CONFIG_IRQ is defined. So we can
      safely use #if defined(CONFIG_OF_IRQ) in the code.
      Signed-off-by: NSudip Mukherjee <sudip.mukherjee@codethink.co.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3e3397e7
    • I
      mlxsw: spectrum: Mark split ports as such · 9a60c907
      Ido Schimmel 提交于
      When a port is split we should mark it as such, as otherwise the split
      ports aren't renamed correctly (e.g. sw1p3 -> sw1p3s1) and the unsplit
      operation fails:
      
      $ devlink port split sw1p3 count 4
      $ devlink port unsplit eth0
      devlink answers: Invalid argument
      [  598.565307] mlxsw_spectrum 0000:03:00.0 eth0: Port wasn't split
      
      Fixes: 67963a33 ("mlxsw: Make devlink port instances independent of spectrum/switchx2 port instances")
      Signed-off-by: NIdo Schimmel <idosch@mellanox.com>
      Reported-by: NTamir Winetroub <tamirw@mellanox.com>
      Reviewed-by: NElad Raz <eladr@mellanox.com>
      Tested-by: NTamir Winetroub <tamirw@mellanox.com>
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9a60c907
    • A
      qed: fix old-style function definition · 7729bad4
      Arnd Bergmann 提交于
      The newly added file causes a harmless warning, with "make W=1":
      
      drivers/net/ethernet/qlogic/qed/qed_iscsi.c: In function 'qed_get_iscsi_ops':
      drivers/net/ethernet/qlogic/qed/qed_iscsi.c:1268:29: warning: old-style function definition [-Wold-style-definition]
      
      This makes it a proper prototype.
      
      Fixes: fc831825 ("qed: Add support for hardware offloaded iSCSI.")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7729bad4
    • M
      r6040: move spinlock in r6040_close as SOFTIRQ-unsafe lock order detected · c762eaa7
      Manuel Bessler 提交于
      'ifconfig eth0 down' makes r6040_close() trigger:
       INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected
      
      Fixed by moving calls to phy_stop(), napi_disable(), netif_stop_queue()
      to outside of the module's private spin_lock_irq block.
      
      Found on a Versalogic Tomcat SBC with a Vortex86 SoC
      
      s1660e_5150:~# sudo ifconfig eth0 down
      [   61.306415] ======================================================
      [   61.306415] [ INFO: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected ]
      [   61.306415] 4.9.0-gb898d2d-manuel #1 Not tainted
      [   61.306415] ------------------------------------------------------
      [   61.306415] ifconfig/449 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
      [   61.306415]  (&dev->lock){+.+...}, at: [<c1336276>] phy_stop+0x16/0x80
      
      [   61.306415] and this task is already holding:
      [   61.306415]  (&(&lp->lock)->rlock){+.-...}, at: [<d0934c84>] r6040_close+0x24/0x230 [r6040]
      which would create a new lock dependency:
      [   61.306415]  (&(&lp->lock)->rlock){+.-...} -> (&dev->lock){+.+...}
      
      [   61.306415] but this new dependency connects a SOFTIRQ-irq-safe lock:
      [   61.306415]  (&(&lp->lock)->rlock){+.-...}
      [   61.306415] ... which became SOFTIRQ-irq-safe at:
      [   61.306415]   [   61.306415] [<c1075bc5>] __lock_acquire+0x555/0x1770
      [   61.306415]   [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]   [   61.306415] [<c14bb334>] _raw_spin_lock_irqsave+0x24/0x40
      [   61.306415]   [   61.306415] [<d0934ac0>] r6040_start_xmit+0x30/0x1d0 [r6040]
      [   61.306415]   [   61.306415] [<c13a7d4d>] dev_hard_start_xmit+0x9d/0x2d0
      [   61.306415]   [   61.306415] [<c13c8a38>] sch_direct_xmit+0xa8/0x140
      [   61.306415]   [   61.306415] [<c13a8436>] __dev_queue_xmit+0x416/0x780
      [   61.306415]   [   61.306415] [<c13a87aa>] dev_queue_xmit+0xa/0x10
      [   61.306415]   [   61.306415] [<c13b4837>] neigh_resolve_output+0x147/0x220
      [   61.306415]   [   61.306415] [<c144541b>] ip6_finish_output2+0x2fb/0x910
      [   61.306415]   [   61.306415] [<c14494e6>] ip6_finish_output+0xa6/0x1a0
      [   61.306415]   [   61.306415] [<c1449635>] ip6_output+0x55/0x320
      [   61.306415]   [   61.306415] [<c146f4d2>] mld_sendpack+0x352/0x560
      [   61.306415]   [   61.306415] [<c146fe55>] mld_ifc_timer_expire+0x155/0x280
      [   61.306415]   [   61.306415] [<c108b081>] call_timer_fn+0x81/0x270
      [   61.306415]   [   61.306415] [<c108b331>] expire_timers+0xc1/0x180
      [   61.306415]   [   61.306415] [<c108b4f7>] run_timer_softirq+0x77/0x150
      [   61.306415]   [   61.306415] [<c1043d04>] __do_softirq+0xb4/0x3d0
      [   61.306415]   [   61.306415] [<c101a15c>] do_softirq_own_stack+0x1c/0x30
      [   61.306415]   [   61.306415] [<c104416e>] irq_exit+0x8e/0xa0
      [   61.306415]   [   61.306415] [<c1019d31>] do_IRQ+0x51/0x100
      [   61.306415]   [   61.306415] [<c14bc176>] common_interrupt+0x36/0x40
      [   61.306415]   [   61.306415] [<c1134928>] set_root+0x68/0xf0
      [   61.306415]   [   61.306415] [<c1136120>] path_init+0x400/0x640
      [   61.306415]   [   61.306415] [<c11386bf>] path_lookupat+0xf/0xe0
      [   61.306415]   [   61.306415] [<c1139ebc>] filename_lookup+0x6c/0x100
      [   61.306415]   [   61.306415] [<c1139fd5>] user_path_at_empty+0x25/0x30
      [   61.306415]   [   61.306415] [<c11298c6>] SyS_faccessat+0x86/0x1e0
      [   61.306415]   [   61.306415] [<c1129a30>] SyS_access+0x10/0x20
      [   61.306415]   [   61.306415] [<c100179f>] do_int80_syscall_32+0x3f/0x110
      [   61.306415]   [   61.306415] [<c14bba3f>] restore_all+0x0/0x61
      [   61.306415]
      [   61.306415] to a SOFTIRQ-irq-unsafe lock:
      [   61.306415]  (&dev->lock){+.+...}
      [   61.306415] ... which became SOFTIRQ-irq-unsafe at:
      [   61.306415] ...[   61.306415]
      [   61.306415] [<c1075c0c>] __lock_acquire+0x59c/0x1770
      [   61.306415]   [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]   [   61.306415] [<c14b7add>] mutex_lock_nested+0x2d/0x4a0
      [   61.306415]   [   61.306415] [<c133747d>] phy_probe+0x4d/0xc0
      [   61.306415]   [   61.306415] [<c1338afe>] phy_attach_direct+0xbe/0x190
      [   61.306415]   [   61.306415] [<c1338ca7>] phy_connect_direct+0x17/0x60
      [   61.306415]   [   61.306415] [<c1338d23>] phy_connect+0x33/0x70
      [   61.306415]   [   61.306415] [<d09357a0>] r6040_init_one+0x3a0/0x500 [r6040]
      [   61.306415]   [   61.306415] [<c12a78c7>] pci_device_probe+0x77/0xd0
      [   61.306415]   [   61.306415] [<c12f5e15>] driver_probe_device+0x145/0x280
      [   61.306415]   [   61.306415] [<c12f5fd9>] __driver_attach+0x89/0x90
      [   61.306415]   [   61.306415] [<c12f43ef>] bus_for_each_dev+0x4f/0x80
      [   61.306415]   [   61.306415] [<c12f5954>] driver_attach+0x14/0x20
      [   61.306415]   [   61.306415] [<c12f55b7>] bus_add_driver+0x197/0x210
      [   61.306415]   [   61.306415] [<c12f6a21>] driver_register+0x51/0xd0
      [   61.306415]   [   61.306415] [<c12a6955>] __pci_register_driver+0x45/0x50
      [   61.306415]   [   61.306415] [<d0938017>] 0xd0938017
      [   61.306415]   [   61.306415] [<c100043f>] do_one_initcall+0x2f/0x140
      [   61.306415]   [   61.306415] [<c10e48c0>] do_init_module+0x4a/0x19b
      [   61.306415]   [   61.306415] [<c10a680e>] load_module+0x1b2e/0x2070
      [   61.306415]   [   61.306415] [<c10a6eb9>] SyS_finit_module+0x69/0x80
      [   61.306415]   [   61.306415] [<c100179f>] do_int80_syscall_32+0x3f/0x110
      [   61.306415]   [   61.306415] [<c14bba3f>] restore_all+0x0/0x61
      [   61.306415]
      [   61.306415] other info that might help us debug this:
      [   61.306415]
      [   61.306415]  Possible interrupt unsafe locking scenario:
      [   61.306415]
      [   61.306415]        CPU0                    CPU1
      [   61.306415]        ----                    ----
      [   61.306415]   lock(&dev->lock);
      [   61.306415]                                local_irq_disable();
      [   61.306415]                                lock(&(&lp->lock)->rlock);
      [   61.306415]                                lock(&dev->lock);
      [   61.306415]   <Interrupt>
      [   61.306415]     lock(&(&lp->lock)->rlock);
      [   61.306415]
      [   61.306415]  *** DEADLOCK ***
      [   61.306415]
      [   61.306415] 2 locks held by ifconfig/449:
      [   61.306415]  #0:  (rtnl_mutex){+.+.+.}, at: [<c13b68ef>] rtnl_lock+0xf/0x20
      [   61.306415]  #1:  (&(&lp->lock)->rlock){+.-...}, at: [<d0934c84>] r6040_close+0x24/0x230 [r6040]
      [   61.306415]
      [   61.306415] the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
      [   61.306415] -> (&(&lp->lock)->rlock){+.-...} ops: 3049 {
      [   61.306415]    HARDIRQ-ON-W at:
      [   61.306415]                     [   61.306415] [<c1075be7>] __lock_acquire+0x577/0x1770
      [   61.306415]                     [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]                     [   61.306415] [<c14bb21b>] _raw_spin_lock+0x1b/0x30
      [   61.306415]                     [   61.306415] [<d09343cc>] r6040_poll+0x2c/0x330 [r6040]
      [   61.306415]                     [   61.306415] [<c13a5577>] net_rx_action+0x197/0x340
      [   61.306415]                     [   61.306415] [<c1043d04>] __do_softirq+0xb4/0x3d0
      [   61.306415]                     [   61.306415] [<c1044037>] run_ksoftirqd+0x17/0x40
      [   61.306415]                     [   61.306415] [<c105fe91>] smpboot_thread_fn+0x141/0x180
      [   61.306415]                     [   61.306415] [<c105c84e>] kthread+0xde/0x110
      [   61.306415]                     [   61.306415] [<c14bb949>] ret_from_fork+0x19/0x30
      [   61.306415]    IN-SOFTIRQ-W at:
      [   61.306415]                     [   61.306415] [<c1075bc5>] __lock_acquire+0x555/0x1770
      [   61.306415]                     [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]                     [   61.306415] [<c14bb334>] _raw_spin_lock_irqsave+0x24/0x40
      [   61.306415]                     [   61.306415] [<d0934ac0>] r6040_start_xmit+0x30/0x1d0 [r6040]
      [   61.306415]                     [   61.306415] [<c13a7d4d>] dev_hard_start_xmit+0x9d/0x2d0
      [   61.306415]                     [   61.306415] [<c13c8a38>] sch_direct_xmit+0xa8/0x140
      [   61.306415]                     [   61.306415] [<c13a8436>] __dev_queue_xmit+0x416/0x780
      [   61.306415]                     [   61.306415] [<c13a87aa>] dev_queue_xmit+0xa/0x10
      [   61.306415]                     [   61.306415] [<c13b4837>] neigh_resolve_output+0x147/0x220
      [   61.306415]                     [   61.306415] [<c144541b>] ip6_finish_output2+0x2fb/0x910
      [   61.306415]                     [   61.306415] [<c14494e6>] ip6_finish_output+0xa6/0x1a0
      [   61.306415]                     [   61.306415] [<c1449635>] ip6_output+0x55/0x320
      [   61.306415]                     [   61.306415] [<c146f4d2>] mld_sendpack+0x352/0x560
      [   61.306415]                     [   61.306415] [<c146fe55>] mld_ifc_timer_expire+0x155/0x280
      [   61.306415]                     [   61.306415] [<c108b081>] call_timer_fn+0x81/0x270
      [   61.306415]                     [   61.306415] [<c108b331>] expire_timers+0xc1/0x180
      [   61.306415]                     [   61.306415] [<c108b4f7>] run_timer_softirq+0x77/0x150
      [   61.306415]                     [   61.306415] [<c1043d04>] __do_softirq+0xb4/0x3d0
      [   61.306415]                     [   61.306415] [<c101a15c>] do_softirq_own_stack+0x1c/0x30
      [   61.306415]                     [   61.306415] [<c104416e>] irq_exit+0x8e/0xa0
      [   61.306415]                     [   61.306415] [<c1019d31>] do_IRQ+0x51/0x100
      [   61.306415]                     [   61.306415] [<c14bc176>] common_interrupt+0x36/0x40
      [   61.306415]                     [   61.306415] [<c1134928>] set_root+0x68/0xf0
      [   61.306415]                     [   61.306415] [<c1136120>] path_init+0x400/0x640
      [   61.306415]                     [   61.306415] [<c11386bf>] path_lookupat+0xf/0xe0
      [   61.306415]                     [   61.306415] [<c1139ebc>] filename_lookup+0x6c/0x100
      [   61.306415]                     [   61.306415] [<c1139fd5>] user_path_at_empty+0x25/0x30
      [   61.306415]                     [   61.306415] [<c11298c6>] SyS_faccessat+0x86/0x1e0
      [   61.306415]                     [   61.306415] [<c1129a30>] SyS_access+0x10/0x20
      [   61.306415]                     [   61.306415] [<c100179f>] do_int80_syscall_32+0x3f/0x110
      [   61.306415]                     [   61.306415] [<c14bba3f>] restore_all+0x0/0x61
      [   61.306415]    INITIAL USE at:
      [   61.306415]                    [   61.306415] [<c107586e>] __lock_acquire+0x1fe/0x1770
      [   61.306415]                    [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]                    [   61.306415] [<c14bb334>] _raw_spin_lock_irqsave+0x24/0x40
      [   61.306415]                    [   61.306415] [<d093474e>] r6040_get_stats+0x1e/0x60 [r6040]
      [   61.306415]                    [   61.306415] [<c139fb16>] dev_get_stats+0x96/0xc0
      [   61.306415]                    [   61.306415] [<c14b416e>] rtnl_fill_stats+0x36/0xfd
      [   61.306415]                    [   61.306415] [<c13b7b3c>] rtnl_fill_ifinfo+0x47c/0xce0
      [   61.306415]                    [   61.306415] [<c13bc08e>] rtmsg_ifinfo_build_skb+0x4e/0xd0
      [   61.306415]                    [   61.306415] [<c13bc120>] rtmsg_ifinfo.part.20+0x10/0x40
      [   61.306415]                    [   61.306415] [<c13bc16b>] rtmsg_ifinfo+0x1b/0x20
      [   61.306415]                    [   61.306415] [<c13a9d19>] register_netdevice+0x409/0x550
      [   61.306415]                    [   61.306415] [<c13a9e72>] register_netdev+0x12/0x20
      [   61.306415]                    [   61.306415] [<d09357e8>] r6040_init_one+0x3e8/0x500 [r6040]
      [   61.306415]                    [   61.306415] [<c12a78c7>] pci_device_probe+0x77/0xd0
      [   61.306415]                    [   61.306415] [<c12f5e15>] driver_probe_device+0x145/0x280
      [   61.306415]                    [   61.306415] [<c12f5fd9>] __driver_attach+0x89/0x90
      [   61.306415]                    [   61.306415] [<c12f43ef>] bus_for_each_dev+0x4f/0x80
      [   61.306415]                    [   61.306415] [<c12f5954>] driver_attach+0x14/0x20
      [   61.306415]                    [   61.306415] [<c12f55b7>] bus_add_driver+0x197/0x210
      [   61.306415]                    [   61.306415] [<c12f6a21>] driver_register+0x51/0xd0
      [   61.306415]                    [   61.306415] [<c12a6955>] __pci_register_driver+0x45/0x50
      [   61.306415]                    [   61.306415] [<d0938017>] 0xd0938017
      [   61.306415]                    [   61.306415] [<c100043f>] do_one_initcall+0x2f/0x140
      [   61.306415]                    [   61.306415] [<c10e48c0>] do_init_module+0x4a/0x19b
      [   61.306415]                    [   61.306415] [<c10a680e>] load_module+0x1b2e/0x2070
      [   61.306415]                    [   61.306415] [<c10a6eb9>] SyS_finit_module+0x69/0x80
      [   61.306415]                    [   61.306415] [<c100179f>] do_int80_syscall_32+0x3f/0x110
      [   61.306415]                    [   61.306415] [<c14bba3f>] restore_all+0x0/0x61
      [   61.306415]  }
      [   61.306415]  ... key      at: [<d0936280>] __key.45893+0x0/0xfffff739 [r6040]
      [   61.306415]  ... acquired at:
      [   61.306415]    [   61.306415] [<c1074a32>] check_irq_usage+0x42/0xb0
      [   61.306415]    [   61.306415] [<c107677c>] __lock_acquire+0x110c/0x1770
      [   61.306415]    [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]    [   61.306415] [<c14b7add>] mutex_lock_nested+0x2d/0x4a0
      [   61.306415]    [   61.306415] [<c1336276>] phy_stop+0x16/0x80
      [   61.306415]    [   61.306415] [<d0934ce9>] r6040_close+0x89/0x230 [r6040]
      [   61.306415]    [   61.306415] [<c13a0a91>] __dev_close_many+0x61/0xa0
      [   61.306415]    [   61.306415] [<c13a0bbf>] __dev_close+0x1f/0x30
      [   61.306415]    [   61.306415] [<c13a9127>] __dev_change_flags+0x87/0x150
      [   61.306415]    [   61.306415] [<c13a9213>] dev_change_flags+0x23/0x60
      [   61.306415]    [   61.306415] [<c1416238>] devinet_ioctl+0x5f8/0x6f0
      [   61.306415]    [   61.306415] [<c1417f75>] inet_ioctl+0x65/0x90
      [   61.306415]    [   61.306415] [<c1389b54>] sock_ioctl+0x124/0x2b0
      [   61.306415]    [   61.306415] [<c113cf7c>] do_vfs_ioctl+0x7c/0x790
      [   61.306415]    [   61.306415] [<c113d6b8>] SyS_ioctl+0x28/0x50
      [   61.306415]    [   61.306415] [<c100179f>] do_int80_syscall_32+0x3f/0x110
      [   61.306415]    [   61.306415] [<c14bba3f>] restore_all+0x0/0x61
      [   61.306415]
      [   61.306415]
      the dependencies between the lock to be acquired[   61.306415]  and SOFTIRQ-irq-unsafe lock:
      [   61.306415] -> (&dev->lock){+.+...} ops: 56 {
      [   61.306415]    HARDIRQ-ON-W at:
      [   61.306415]                     [   61.306415] [<c1075be7>] __lock_acquire+0x577/0x1770
      [   61.306415]                     [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]                     [   61.306415] [<c14b7add>] mutex_lock_nested+0x2d/0x4a0
      [   61.306415]                     [   61.306415] [<c133747d>] phy_probe+0x4d/0xc0
      [   61.306415]                     [   61.306415] [<c1338afe>] phy_attach_direct+0xbe/0x190
      [   61.306415]                     [   61.306415] [<c1338ca7>] phy_connect_direct+0x17/0x60
      [   61.306415]                     [   61.306415] [<c1338d23>] phy_connect+0x33/0x70
      [   61.306415]                     [   61.306415] [<d09357a0>] r6040_init_one+0x3a0/0x500 [r6040]
      [   61.306415]                     [   61.306415] [<c12a78c7>] pci_device_probe+0x77/0xd0
      [   61.306415]                     [   61.306415] [<c12f5e15>] driver_probe_device+0x145/0x280
      [   61.306415]                     [   61.306415] [<c12f5fd9>] __driver_attach+0x89/0x90
      [   61.306415]                     [   61.306415] [<c12f43ef>] bus_for_each_dev+0x4f/0x80
      [   61.306415]                     [   61.306415] [<c12f5954>] driver_attach+0x14/0x20
      [   61.306415]                     [   61.306415] [<c12f55b7>] bus_add_driver+0x197/0x210
      [   61.306415]                     [   61.306415] [<c12f6a21>] driver_register+0x51/0xd0
      [   61.306415]                     [   61.306415] [<c12a6955>] __pci_register_driver+0x45/0x50
      [   61.306415]                     [   61.306415] [<d0938017>] 0xd0938017
      [   61.306415]                     [   61.306415] [<c100043f>] do_one_initcall+0x2f/0x140
      [   61.306415]                     [   61.306415] [<c10e48c0>] do_init_module+0x4a/0x19b
      [   61.306415]                     [   61.306415] [<c10a680e>] load_module+0x1b2e/0x2070
      [   61.306415]                     [   61.306415] [<c10a6eb9>] SyS_finit_module+0x69/0x80
      [   61.306415]                     [   61.306415] [<c100179f>] do_int80_syscall_32+0x3f/0x110
      [   61.306415]                     [   61.306415] [<c14bba3f>] restore_all+0x0/0x61
      [   61.306415]    SOFTIRQ-ON-W at:
      [   61.306415]                     [   61.306415] [<c1075c0c>] __lock_acquire+0x59c/0x1770
      [   61.306415]                     [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]                     [   61.306415] [<c14b7add>] mutex_lock_nested+0x2d/0x4a0
      [   61.306415]                     [   61.306415] [<c133747d>] phy_probe+0x4d/0xc0
      [   61.306415]                     [   61.306415] [<c1338afe>] phy_attach_direct+0xbe/0x190
      [   61.306415]                     [   61.306415] [<c1338ca7>] phy_connect_direct+0x17/0x60
      [   61.306415]                     [   61.306415] [<c1338d23>] phy_connect+0x33/0x70
      [   61.306415]                     [   61.306415] [<d09357a0>] r6040_init_one+0x3a0/0x500 [r6040]
      [   61.306415]                     [   61.306415] [<c12a78c7>] pci_device_probe+0x77/0xd0
      [   61.306415]                     [   61.306415] [<c12f5e15>] driver_probe_device+0x145/0x280
      [   61.306415]                     [   61.306415] [<c12f5fd9>] __driver_attach+0x89/0x90
      [   61.306415]                     [   61.306415] [<c12f43ef>] bus_for_each_dev+0x4f/0x80
      [   61.306415]                     [   61.306415] [<c12f5954>] driver_attach+0x14/0x20
      [   61.306415]                     [   61.306415] [<c12f55b7>] bus_add_driver+0x197/0x210
      [   61.306415]                     [   61.306415] [<c12f6a21>] driver_register+0x51/0xd0
      [   61.306415]                     [   61.306415] [<c12a6955>] __pci_register_driver+0x45/0x50
      [   61.306415]                     [   61.306415] [<d0938017>] 0xd0938017
      [   61.306415]                     [   61.306415] [<c100043f>] do_one_initcall+0x2f/0x140
      [   61.306415]                     [   61.306415] [<c10e48c0>] do_init_module+0x4a/0x19b
      [   61.306415]                     [   61.306415] [<c10a680e>] load_module+0x1b2e/0x2070
      [   61.306415]                     [   61.306415] [<c10a6eb9>] SyS_finit_module+0x69/0x80
      [   61.306415]                     [   61.306415] [<c100179f>] do_int80_syscall_32+0x3f/0x110
      [   61.306415]                     [   61.306415] [<c14bba3f>] restore_all+0x0/0x61
      [   61.306415]    INITIAL USE at:
      [   61.306415]                    [   61.306415] [<c107586e>] __lock_acquire+0x1fe/0x1770
      [   61.306415]                    [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]                    [   61.306415] [<c14b7add>] mutex_lock_nested+0x2d/0x4a0
      [   61.306415]                    [   61.306415] [<c133747d>] phy_probe+0x4d/0xc0
      [   61.306415]                    [   61.306415] [<c1338afe>] phy_attach_direct+0xbe/0x190
      [   61.306415]                    [   61.306415] [<c1338ca7>] phy_connect_direct+0x17/0x60
      [   61.306415]                    [   61.306415] [<c1338d23>] phy_connect+0x33/0x70
      [   61.306415]                    [   61.306415] [<d09357a0>] r6040_init_one+0x3a0/0x500 [r6040]
      [   61.306415]                    [   61.306415] [<c12a78c7>] pci_device_probe+0x77/0xd0
      [   61.306415]                    [   61.306415] [<c12f5e15>] driver_probe_device+0x145/0x280
      [   61.306415]                    [   61.306415] [<c12f5fd9>] __driver_attach+0x89/0x90
      [   61.306415]                    [   61.306415] [<c12f43ef>] bus_for_each_dev+0x4f/0x80
      [   61.306415]                    [   61.306415] [<c12f5954>] driver_attach+0x14/0x20
      [   61.306415]                    [   61.306415] [<c12f55b7>] bus_add_driver+0x197/0x210
      [   61.306415]                    [   61.306415] [<c12f6a21>] driver_register+0x51/0xd0
      [   61.306415]                    [   61.306415] [<c12a6955>] __pci_register_driver+0x45/0x50
      [   61.306415]                    [   61.306415] [<d0938017>] 0xd0938017
      [   61.306415]                    [   61.306415] [<c100043f>] do_one_initcall+0x2f/0x140
      [   61.306415]                    [   61.306415] [<c10e48c0>] do_init_module+0x4a/0x19b
      [   61.306415]                    [   61.306415] [<c10a680e>] load_module+0x1b2e/0x2070
      [   61.306415]                    [   61.306415] [<c10a6eb9>] SyS_finit_module+0x69/0x80
      [   61.306415]                    [   61.306415] [<c100179f>] do_int80_syscall_32+0x3f/0x110
      [   61.306415]                    [   61.306415] [<c14bba3f>] restore_all+0x0/0x61
      [   61.306415]  }
      [   61.306415]  ... key      at: [<c1f28f39>] __key.43998+0x0/0x8
      [   61.306415]  ... acquired at:
      [   61.306415]    [   61.306415] [<c1074a32>] check_irq_usage+0x42/0xb0
      [   61.306415]    [   61.306415] [<c107677c>] __lock_acquire+0x110c/0x1770
      [   61.306415]    [   61.306415] [<c107717c>] lock_acquire+0x7c/0x150
      [   61.306415]    [   61.306415] [<c14b7add>] mutex_lock_nested+0x2d/0x4a0
      [   61.306415]    [   61.306415] [<c1336276>] phy_stop+0x16/0x80
      [   61.306415]    [   61.306415] [<d0934ce9>] r6040_close+0x89/0x230 [r6040]
      [   61.306415]    [   61.306415] [<c13a0a91>] __dev_close_many+0x61/0xa0
      [   61.306415]    [   61.306415] [<c13a0bbf>] __dev_close+0x1f/0x30
      [   61.306415]    [   61.306415] [<c13a9127>] __dev_change_flags+0x87/0x150
      [   61.306415]    [   61.306415] [<c13a9213>] dev_change_flags+0x23/0x60
      [   61.306415]    [   61.306415] [<c1416238>] devinet_ioctl+0x5f8/0x6f0
      [   61.306415]    [   61.306415] [<c1417f75>] inet_ioctl+0x65/0x90
      [   61.306415]    [   61.306415] [<c1389b54>] sock_ioctl+0x124/0x2b0
      [   61.306415]    [   61.306415] [<c113cf7c>] do_vfs_ioctl+0x7c/0x790
      [   61.306415]    [   61.306415] [<c113d6b8>] SyS_ioctl+0x28/0x50
      [   61.306415]    [   61.306415] [<c100179f>] do_int80_syscall_32+0x3f/0x110
      [   61.306415]    [   61.306415] [<c14bba3f>] restore_all+0x0/0x61
      [   61.306415]
      [   61.306415]
      [   61.306415] stack backtrace:
      [   61.306415] CPU: 0 PID: 449 Comm: ifconfig Not tainted 4.9.0-gb898d2d-manuel #1
      [   61.306415] Call Trace:
      [   61.306415]  dump_stack+0x16/0x19
      [   61.306415]  check_usage+0x3f6/0x550
      [   61.306415]  ? check_usage+0x4d/0x550
      [   61.306415]  check_irq_usage+0x42/0xb0
      [   61.306415]  __lock_acquire+0x110c/0x1770
      [   61.306415]  lock_acquire+0x7c/0x150
      [   61.306415]  ? phy_stop+0x16/0x80
      [   61.306415]  mutex_lock_nested+0x2d/0x4a0
      [   61.306415]  ? phy_stop+0x16/0x80
      [   61.306415]  ? r6040_close+0x24/0x230 [r6040]
      [   61.306415]  ? __delay+0x9/0x10
      [   61.306415]  phy_stop+0x16/0x80
      [   61.306415]  r6040_close+0x89/0x230 [r6040]
      [   61.306415]  __dev_close_many+0x61/0xa0
      [   61.306415]  __dev_close+0x1f/0x30
      [   61.306415]  __dev_change_flags+0x87/0x150
      [   61.306415]  dev_change_flags+0x23/0x60
      [   61.306415]  devinet_ioctl+0x5f8/0x6f0
      [   61.306415]  inet_ioctl+0x65/0x90
      [   61.306415]  sock_ioctl+0x124/0x2b0
      [   61.306415]  ? dlci_ioctl_set+0x30/0x30
      [   61.306415]  do_vfs_ioctl+0x7c/0x790
      [   61.306415]  ? trace_hardirqs_on+0xb/0x10
      [   61.306415]  ? call_rcu_sched+0xd/0x10
      [   61.306415]  ? __put_cred+0x32/0x50
      [   61.306415]  ? SyS_faccessat+0x178/0x1e0
      [   61.306415]  SyS_ioctl+0x28/0x50
      [   61.306415]  do_int80_syscall_32+0x3f/0x110
      [   61.306415]  entry_INT80_32+0x2f/0x2f
      [   61.306415] EIP: 0xb764d364
      [   61.306415] EFLAGS: 00000286 CPU: 0
      [   61.306415] EAX: ffffffda EBX: 00000004 ECX: 00008914 EDX: bfa99d7c
      [   61.306415] ESI: bfa99e4c EDI: fffffffe EBP: 00000004 ESP: bfa99d58
      [   61.306415]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b
      [   63.836607] r6040 0000:00:08.0 eth0: Link is Down
      Signed-off-by: NManuel Bessler <manuel.bessler@sensus.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c762eaa7
    • P
      net: sfc: use new api ethtool_{get|set}_link_ksettings · 7cafe8f8
      Philippe Reynes 提交于
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      Signed-off-by: NPhilippe Reynes <tremyfr@gmail.com>
      Tested-by: NBert Kenward <bkenward@solarflare.com>
      Acked-by: NBert Kenward <bkenward@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7cafe8f8
    • P
      net: davicom: dm9000: use new api ethtool_{get|set}_link_ksettings · 99bff5ee
      Philippe Reynes 提交于
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      Signed-off-by: NPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      99bff5ee
    • P
      net: cirrus: ep93xx: use new api ethtool_{get|set}_link_ksettings · 93dfe6c2
      Philippe Reynes 提交于
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      Signed-off-by: NPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      93dfe6c2
    • P
      net: chelsio: cxgb3: use new api ethtool_{get|set}_link_ksettings · b7b44fd2
      Philippe Reynes 提交于
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      Signed-off-by: NPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b7b44fd2
    • P
      net: chelsio: cxgb2: use new api ethtool_{get|set}_link_ksettings · 49cad939
      Philippe Reynes 提交于
      The ethtool api {get|set}_settings is deprecated.
      We move this driver to new api {get|set}_link_ksettings.
      Signed-off-by: NPhilippe Reynes <tremyfr@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49cad939
    • K
      bna: use designated initializers · 9751362a
      Kees Cook 提交于
      Prepare to mark sensitive kernel structures for randomization by making
      sure they're using designated initializers. These were identified during
      allyesconfig builds of x86, arm, and arm64, with most initializer fixes
      extracted from grsecurity.
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9751362a
    • M
      708f0f4f
    • C
      dpaa_eth: use big endian accessors · 7d6f8dc0
      Claudiu Manoil 提交于
      Ensure correct access to the big endian QMan HW through proper
      accessors.
      Signed-off-by: NClaudiu Manoil <claudiu.manoil@nxp.com>
      Signed-off-by: NMadalin Bucur <madalin.bucur@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7d6f8dc0
  11. 17 12月, 2016 3 次提交