IB/ucm: Fix deadlock in cleanup
authorMichael S. Tsirkin <mst@mellanox.co.il>
Wed, 29 Nov 2006 23:33:10 +0000 (15:33 -0800)
committerRoland Dreier <rolandd@cisco.com>
Wed, 29 Nov 2006 23:33:10 +0000 (15:33 -0800)
commitf469b2626f48829c06e40ac799c1edf62b12048e
tree425a3a94af73ed41c7eb28a0ad50d411bc545663
parente1444b5a163e81138754cab27c4fa1637b5a2239
IB/ucm: Fix deadlock in cleanup

ib_ucm_cleanup_events() holds file_mutex while calling ib_destroy_cm_id().
This can deadlock since ib_destroy_cm_id() flushes event handlers, and
ib_ucm_event_handler() needs file_mutex, too.  Therefore, drop the
file_mutex during the call to ib_destroy_cm_id().

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/core/ucm.c