|
@@ -1100,7 +1100,10 @@ randomize:
|
|
idr_for_each_entry(&connection->peer_devices, peer_device, vnr)
|
|
idr_for_each_entry(&connection->peer_devices, peer_device, vnr)
|
|
mutex_lock(peer_device->device->state_mutex);
|
|
mutex_lock(peer_device->device->state_mutex);
|
|
|
|
|
|
|
|
+ /* avoid a race with conn_request_state( C_DISCONNECTING ) */
|
|
|
|
+ spin_lock_irq(&connection->resource->req_lock);
|
|
set_bit(STATE_SENT, &connection->flags);
|
|
set_bit(STATE_SENT, &connection->flags);
|
|
|
|
+ spin_unlock_irq(&connection->resource->req_lock);
|
|
|
|
|
|
idr_for_each_entry(&connection->peer_devices, peer_device, vnr)
|
|
idr_for_each_entry(&connection->peer_devices, peer_device, vnr)
|
|
mutex_unlock(peer_device->device->state_mutex);
|
|
mutex_unlock(peer_device->device->state_mutex);
|