1. 08 Dec, 2020 36 commits
  2. 07 Dec, 2020 4 commits
    • David S. Miller's avatar
      Merge branch 's390-qeth-next' · b1f7b098
      David S. Miller authored
      Julian Wiedmann says:
      
      ====================
      s390/qeth: updates 2020-12-07
      
      please apply the following patch series for qeth to netdev's net-next tree.
      
      Some sysfs cleanups (with the prep work in ccwgroup acked by Heiko), and
      a few improvements to the code that deals with async TX completion
      notifications for IQD devices.
      
      This also brings the missing patch from the previous net-next submission.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b1f7b098
    • Julian Wiedmann's avatar
      s390/qeth: make qeth_qdio_handle_aob() more robust · d2e46004
      Julian Wiedmann authored
      When qeth_qdio_handle_aob() frees dangling allocations in the notified
      TX buffer, there are rare tear-down cases where
      qeth_drain_output_queue() would later call qeth_clear_output_buffer()
      for the same buffer - and thus end up walking the buffer a second time
      to check for dangling kmem_cache allocations.
      
      Luckily current code previously scrubs such a buffer, so
      qeth_clear_output_buffer() would find buf->buffer->element[i].addr as
      NULL and not do anything. But this is fragile, and we can easily improve
      it by consistently clearing the ->is_header flag after freeing the
      allocation.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d2e46004
    • Julian Wiedmann's avatar
      s390/qeth: remove QETH_QDIO_BUF_HANDLED_DELAYED state · 75cf3854
      Julian Wiedmann authored
      Reuse the QETH_QDIO_BUF_EMPTY state to indicate that a TX buffer has
      been completed with a QAOB notification, and may be cleaned up by
      qeth_cleanup_handled_pending().
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      75cf3854
    • Julian Wiedmann's avatar
      s390/qeth: don't replace a fully completed async TX buffer · db4ffdce
      Julian Wiedmann authored
      For TX buffers that require an additional async notification via QAOB, the
      TX completion code can now manage all the necessary processing if the
      notification has already occurred (or is occurring concurrently).
      
      In such cases we can avoid replacing the metadata that is associated
      with the buffer's slot on the ring, and just keep using the current one.
      
      As qeth_clear_output_buffer() will also handle any kmem cache-allocated
      memory that was mapped into the TX buffer, qeth_qdio_handle_aob()
      doesn't need to worry about it.
      
      While at it, also remove the unneeded forward declaration for
      qeth_init_qdio_out_buf().
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      db4ffdce