1. 16 9月, 2016 2 次提交
    • U
      qeth: do not limit number of gso segments · 243f750f
      Ursula Braun 提交于
      To reduce the need of skb_linearize() calls, gso_max_segs of qeth
      net_devices had been limited according to the maximum number of qdio SBAL
      elements. But a gso segment cannot be larger than the mtu-size, while an
      SBAL element can contain up to 4096 bytes. The gso_max_segs limitation
      limits the maximum packet size given to the qeth driver. Performance
      measurements with tso-enabled qeth network interfaces and mtu-size 1500
      showed, that the disadvantage of smaller packets is much more severe than
      the advantage of fewer skb_linearize() calls.
      This patch gets rid of the gso_max_segs limitations in the qeth driver.
      Signed-off-by: NUrsula Braun <ubraun@linux.vnet.ibm.com>
      Reviewed-by: NThomas Richter <tmricht@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      243f750f
    • H
      qeth: restore device features after recovery · e830baa9
      Hans Wippel 提交于
      After device recovery, only a basic set of network device features is
      enabled on the device. If features like checksum offloading or TSO were
      enabled by the user before the recovery, this results in a mismatch
      between the network device features, that the kernel assumes to be
      enabled on the device, and the features actually enabled on the device.
      
      This patch tries to restore previously set features, that require
      changes on the device, after the recovery of a device. In case of an
      error, the network device's features are changed to contain only the
      features that are actually turned on.
      Signed-off-by: NHans Wippel <hwippel@linux.vnet.ibm.com>
      Signed-off-by: NUrsula Braun <ubraun@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e830baa9
  2. 05 7月, 2016 1 次提交
  3. 17 6月, 2016 7 次提交
  4. 15 12月, 2015 1 次提交
  5. 07 10月, 2015 2 次提交
  6. 22 9月, 2015 2 次提交
  7. 07 8月, 2015 1 次提交
  8. 19 5月, 2015 4 次提交
  9. 26 1月, 2015 2 次提交
    • 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
    • E
      qeth: clean up error handling · efbbc1d5
      Eugene Crosser 提交于
      In the functions that are registering and unregistering MAC
      addresses in the qeth-handled hardware, remove callback functions
      that are unnesessary, as only the return code is analyzed.
      Translate hardware response codes to semi-standard 'errno'-like
      codes for readability.
      
      Add kernel-doc description to the internal API function
      qeth_send_control_data().
      Signed-off-by: NEugene Crosser <Eugene.Crosser@ru.ibm.com>
      Signed-off-by: NUrsula Braun <ursula.braun@de.ibm.com>
      Reviewed-by: NThomas-Mich Richter <tmricht@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      efbbc1d5
  10. 18 1月, 2015 1 次提交
  11. 27 10月, 2014 1 次提交
  12. 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
  13. 14 5月, 2014 1 次提交
  14. 29 4月, 2014 1 次提交
  15. 20 3月, 2014 1 次提交
  16. 26 2月, 2014 1 次提交
  17. 29 1月, 2014 1 次提交
  18. 16 1月, 2014 2 次提交
  19. 23 4月, 2013 2 次提交
  20. 20 4月, 2013 2 次提交
  21. 09 4月, 2013 1 次提交
  22. 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
  23. 20 11月, 2012 2 次提交