• Andy Grover's avatar
    RDS: Rewrite connection cleanup, fixing oops on rmmod · 745cbcca
    Andy Grover authored
    This fixes a bug where a connection was unexpectedly
    not on *any* list while being destroyed. It also
    cleans up some code duplication and regularizes some
    function names.
    
    * Grab appropriate lock in conn_free() and explain in comment
    * Ensure via locking that a conn is never not on either
      a dev's list or the nodev list
    * Add rds_xx_remove_conn() to match rds_xx_add_conn()
    * Make rds_xx_add_conn() return void
    * Rename remove_{,nodev_}conns() to
      destroy_{,nodev_}conns() and unify their implementation
      in a helper function
    * Document lock ordering as nodev conn_lock before
      dev_conn_lock
    Reported-by: default avatarYosef Etigin <yosefe@voltaire.com>
    Signed-off-by: default avatarAndy Grover <andy.grover@oracle.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    745cbcca
ib.c 8.72 KB