1. 22 9月, 2015 1 次提交
  2. 07 8月, 2015 1 次提交
  3. 19 5月, 2015 1 次提交
  4. 26 1月, 2015 1 次提交
    • T
      390/qeth: Fix locking warning during qeth device setup · 1aec42bc
      Thomas Richter 提交于
      Do not wait for channel command buffers in IPA commands.
      The potential wait could be done while holding a spin lock and causes
      in recent kernels such a bug if kernel lock debugging is enabled:
      
      kernel: BUG: sleeping function called from invalid context at drivers/s390/net/qeth_core_main.c:
      794
      kernel: in_atomic(): 1, irqs_disabled(): 0, pid: 2031, name: NetworkManager
      kernel: 2 locks held by NetworkManager/2031:
      kernel:  #0:  (rtnl_mutex){+.+.+.}, at: [<00000000006e0d7a>] rtnetlink_rcv+0x32/0x50
      kernel:  #1:  (_xmit_ETHER){+.....}, at: [<00000000006cfe90>] dev_set_rx_mode+0x30/0x50
      kernel: CPU: 0 PID: 2031 Comm: NetworkManager Not tainted 3.18.0-rc5-next-20141124 #1
      kernel:        00000000275fb1f0 00000000275fb280 0000000000000002 0000000000000000
                     00000000275fb320 00000000275fb298 00000000275fb298 00000000007e326a
                     0000000000000000 000000000099ce2c 00000000009b4988 000000000000000b
                     00000000275fb2e0 00000000275fb280 0000000000000000 0000000000000000
                     0000000000000000 00000000001129c8 00000000275fb280 00000000275fb2e0
      kernel: Call Trace:
      kernel: ([<00000000001128b0>] show_trace+0xf8/0x158)
      kernel:  [<000000000011297a>] show_stack+0x6a/0xe8
      kernel:  [<00000000007e995a>] dump_stack+0x82/0xb0
      kernel:  [<000000000017d668>] ___might_sleep+0x170/0x228
      kernel:  [<000003ff80026f0e>] qeth_wait_for_buffer+0x36/0xd0 [qeth]
      kernel:  [<000003ff80026fe2>] qeth_get_ipacmd_buffer+0x3a/0xc0 [qeth]
      kernel:  [<000003ff80105078>] qeth_l3_send_setdelmc+0x58/0xf8 [qeth_l3]
      kernel:  [<000003ff8010b1fe>] qeth_l3_set_ip_addr_list+0x2c6/0x848 [qeth_l3]
      kernel:  [<000003ff8010bbb4>] qeth_l3_set_multicast_list+0x434/0xc48 [qeth_l3]
      kernel:  [<00000000006cfe9a>] dev_set_rx_mode+0x3a/0x50
      kernel:  [<00000000006cff90>] __dev_open+0xe0/0x140
      kernel:  [<00000000006d02a0>] __dev_change_flags+0xa0/0x178
      kernel:  [<00000000006d03a8>] dev_change_flags+0x30/0x70
      kernel:  [<00000000006e14ee>] do_setlink+0x346/0x9a0
      ...
      
      The device driver has plenty of command buffers available
      per channel for channel command communication.
      In the extremely rare case when there is no command buffer
      available, return a NULL pointer and issue a warning
      in the kernel log. The caller handles the case when
      a NULL pointer is encountered and returns an error.
      
      In the case the wait for command buffer is possible
      (because no lock is held as in the OSN case), still wait
      until a channel command buffer is available.
      Signed-off-by: NThomas Richter <tmricht@linux.vnet.ibm.com>
      Signed-off-by: NUrsula Braun <ursula.braun@de.ibm.com>
      Reviewed-by: NEugene Crosser <Eugene.Crosser@ru.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1aec42bc
  5. 18 1月, 2015 1 次提交
  6. 14 1月, 2015 1 次提交
  7. 27 10月, 2014 2 次提交
  8. 08 10月, 2014 1 次提交
    • E
      net: better IFF_XMIT_DST_RELEASE support · 02875878
      Eric Dumazet 提交于
      Testing xmit_more support with netperf and connected UDP sockets,
      I found strange dst refcount false sharing.
      
      Current handling of IFF_XMIT_DST_RELEASE is not optimal.
      
      Dropping dst in validate_xmit_skb() is certainly too late in case
      packet was queued by cpu X but dequeued by cpu Y
      
      The logical point to take care of drop/force is in __dev_queue_xmit()
      before even taking qdisc lock.
      
      As Julian Anastasov pointed out, need for skb_dst() might come from some
      packet schedulers or classifiers.
      
      This patch adds new helper to cleanly express needs of various drivers
      or qdiscs/classifiers.
      
      Drivers that need skb_dst() in their ndo_start_xmit() should call
      following helper in their setup instead of the prior :
      
      	dev->priv_flags &= ~IFF_XMIT_DST_RELEASE;
      ->
      	netif_keep_dst(dev);
      
      Instead of using a single bit, we use two bits, one being
      eventually rebuilt in bonding/team drivers.
      
      The other one, is permanent and blocks IFF_XMIT_DST_RELEASE being
      rebuilt in bonding/team. Eventually, we could add something
      smarter later.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Julian Anastasov <ja@ssi.bg>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      02875878
  9. 16 7月, 2014 1 次提交
    • T
      net: set name_assign_type in alloc_netdev() · c835a677
      Tom Gundersen 提交于
      Extend alloc_netdev{,_mq{,s}}() to take name_assign_type as argument, and convert
      all users to pass NET_NAME_UNKNOWN.
      
      Coccinelle patch:
      
      @@
      expression sizeof_priv, name, setup, txqs, rxqs, count;
      @@
      
      (
      -alloc_netdev_mqs(sizeof_priv, name, setup, txqs, rxqs)
      +alloc_netdev_mqs(sizeof_priv, name, NET_NAME_UNKNOWN, setup, txqs, rxqs)
      |
      -alloc_netdev_mq(sizeof_priv, name, setup, count)
      +alloc_netdev_mq(sizeof_priv, name, NET_NAME_UNKNOWN, setup, count)
      |
      -alloc_netdev(sizeof_priv, name, setup)
      +alloc_netdev(sizeof_priv, name, NET_NAME_UNKNOWN, setup)
      )
      
      v9: move comments here from the wrong commit
      Signed-off-by: NTom Gundersen <teg@jklm.no>
      Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c835a677
  10. 31 5月, 2014 1 次提交
  11. 14 5月, 2014 1 次提交
  12. 13 5月, 2014 1 次提交
  13. 29 4月, 2014 1 次提交
  14. 26 2月, 2014 1 次提交
  15. 29 1月, 2014 1 次提交
  16. 23 4月, 2013 2 次提交
  17. 22 4月, 2013 1 次提交
    • P
      qeth: fix VLAN related compilation errors · 91b1c1aa
      Patrick McHardy 提交于
      drivers/s390/net/qeth_l3_main.c: In function 'qeth_l3_add_vlan_mc':
      >> drivers/s390/net/qeth_l3_main.c:1662:3: error: too few arguments to function '__vlan_find_dev_deep'
         include/linux/if_vlan.h:88:27: note: declared here
         drivers/s390/net/qeth_l3_main.c: In function 'qeth_l3_add_vlan_mc6':
      >> drivers/s390/net/qeth_l3_main.c:1723:3: error: too few arguments to function '__vlan_find_dev_deep'
         include/linux/if_vlan.h:88:27: note: declared here
         drivers/s390/net/qeth_l3_main.c: In function 'qeth_l3_free_vlan_addresses4':
      >> drivers/s390/net/qeth_l3_main.c:1767:2: error: too few arguments to function '__vlan_find_dev_deep'
         include/linux/if_vlan.h:88:27: note: declared here
         drivers/s390/net/qeth_l3_main.c: In function 'qeth_l3_free_vlan_addresses6':
      >> drivers/s390/net/qeth_l3_main.c:1797:2: error: too few arguments to function '__vlan_find_dev_deep'
         include/linux/if_vlan.h:88:27: note: declared here
         drivers/s390/net/qeth_l3_main.c: In function 'qeth_l3_process_inbound_buffer':
      >> drivers/s390/net/qeth_l3_main.c:1980:6: error: too few arguments to function '__vlan_hwaccel_put_tag'
         include/linux/if_vlan.h:234:31: note: declared here
         drivers/s390/net/qeth_l3_main.c: In function 'qeth_l3_verify_vlan_dev':
      >> drivers/s390/net/qeth_l3_main.c:2089:3: error: too few arguments to function '__vlan_find_dev_deep'
         include/linux/if_vlan.h:88:27: note: declared here
      Reported-by: Nkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      91b1c1aa
  18. 20 4月, 2013 2 次提交
  19. 09 4月, 2013 1 次提交
  20. 19 3月, 2013 3 次提交
  21. 22 1月, 2013 1 次提交
    • S
      qeth: Support VEPA mode · 0f54761d
      Stefan Raspl 提交于
      The existing port isolation mode 'forward' will now verify that the adjacent
      switch port supports the required reflective relay (RR) mode. This patch adds
      the required error handling for the cases where enabling port isolation mode
      'forward' can now fail.
      Furthermore, once established, we never fall back from one of the port
      isolation modes to a non-isolated mode without further user-interaction.
      This includes cases where the isolation mode was enabled successfully, but
      ceases to work e.g. due to configuration changes at the switch port.
      Finally, configuring an isolation mode with the device being offline
      will make onlining the device fail permanently upon errors encountered until
      either errors are resolved or the isolation mode is changed by the user to a
      different mode.
      Signed-off-by: NStefan Raspl <raspl@linux.vnet.ibm.com>
      Signed-off-by: NFrank Blaschka <frank.blaschka@de.ibm.com>
      Reviewed-by: NUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0f54761d
  22. 05 1月, 2013 1 次提交
  23. 20 11月, 2012 2 次提交
  24. 17 10月, 2012 1 次提交
    • S
      qeth: fix deadlock between recovery and bonding driver · 2efaf5ff
      Stefan Raspl 提交于
      The recovery thread, when failing, tears down the respective interface. To do
      so, it needs to obtain the rtnl lock first, as the interface configuration is
      changed.
      If another process tries to modify an interface setting at the same time, that
      process can obtain the rtnl lock first, but the respective callback in the qeth
      driver will block until recovery has completed - which cannot happen since the
      calling process already obtained it.
      In one particular case, the bonding driver acquired the rtnl lock to modify the
      card's MAC address, while the recovery failed at the same time due to the card
      being removed. Hence qeth_l2_set_mac_address (implicitly holding the rtnl lock)
      was waiting on qeth_l2_recover, which deadlocked when waiting on the rtnl lock.
      This patch uses rtnl_trylock instead of rtnl_lock in the recovery thread. If the
      lock cannot be obtained, the interface will be left up, but the card state
      remains in CARD_STATE_RECOVER, which will prevent any further activities on the
      card.
      Signed-off-by: NStefan Raspl <raspl@linux.vnet.ibm.com>
      Signed-off-by: NFrank Blaschka <frank.blaschka@de.ibm.com>
      Reviewed-by: NUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2efaf5ff
  25. 25 9月, 2012 1 次提交
  26. 26 7月, 2012 1 次提交
  27. 20 7月, 2012 1 次提交
    • H
      s390/comments: unify copyright messages and remove file names · a53c8fab
      Heiko Carstens 提交于
      Remove the file name from the comment at top of many files. In most
      cases the file name was wrong anyway, so it's rather pointless.
      
      Also unify the IBM copyright statement. We did have a lot of sightly
      different statements and wanted to change them one after another
      whenever a file gets touched. However that never happened. Instead
      people start to take the old/"wrong" statements to use as a template
      for new files.
      So unify all of them in one go.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      a53c8fab
  28. 17 7月, 2012 1 次提交
  29. 05 7月, 2012 1 次提交
  30. 17 5月, 2012 2 次提交
  31. 16 5月, 2012 2 次提交
  32. 08 3月, 2012 1 次提交