1. 25 Sep, 2019 3 commits
    • David S. Miller's avatar
      Merge branch 'ibmvnic-serialization-fixes' · 8875cf9c
      David S. Miller authored
      Juliet Kim says:
      
      ====================
      net/ibmvnic: serialization fixes
      
      This series includes two fixes. The first improves reset code to allow
      linkwatch_event to proceed during reset. The second ensures that no more
      than one thread runs in reset at a time.
      
      v2:
      - Separate change param reset from do_reset()
      - Return IBMVNIC_OPEN_FAILED if __ibmvnic_open fails
      - Remove setting wait_for_reset to false from __ibmvnic_reset(), this
        is done in wait_for_reset()
      - Move the check for force_reset_recovery from patch 1 to patch 2
      
      v3:
      - Restore reset’s successful return in open failure case
      
      v4:
      - Change resetting flag access to atomic
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8875cf9c
    • Juliet Kim's avatar
      net/ibmvnic: prevent more than one thread from running in reset · 7ed5b31f
      Juliet Kim authored
      The current code allows more than one thread to run in reset. This can
      corrupt struct adapter data. Check adapter->resetting before performing
      a reset, if there is another reset running delay (100 msec) before trying
      again.
      Signed-off-by: default avatarJuliet Kim <julietk@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7ed5b31f
    • Juliet Kim's avatar
      net/ibmvnic: unlock rtnl_lock in reset so linkwatch_event can run · b27507bb
      Juliet Kim authored
      Commit a5681e20 ("net/ibmnvic: Fix deadlock problem in reset")
      made the change to hold the RTNL lock during a reset to avoid deadlock
      but linkwatch_event is fired during the reset and needs the RTNL lock.
      That keeps linkwatch_event process from proceeding until the reset
      is complete. The reset process cannot tolerate the linkwatch_event
      processing after reset completes, so release the RTNL lock during the
      process to allow a chance for linkwatch_event to run during reset.
      This does not guarantee that the linkwatch_event will be processed as
      soon as link state changes, but is an improvement over the current code
      where linkwatch_event processing is always delayed, which prevents
      transmissions on the device from being deactivated leading transmit
      watchdog timer to time-out.
      
      Release the RTNL lock before link state change and re-acquire after
      the link state change to allow linkwatch_event to grab the RTNL lock
      and run during the reset.
      
      Fixes: a5681e20 ("net/ibmnvic: Fix deadlock problem in reset")
      Signed-off-by: default avatarJuliet Kim <julietk@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b27507bb
  2. 24 Sep, 2019 9 commits
  3. 22 Sep, 2019 12 commits
  4. 21 Sep, 2019 10 commits
  5. 20 Sep, 2019 4 commits
  6. 19 Sep, 2019 2 commits