Whenever a client is started, it registers with each device present on the system. Every client is always registered exactly once (RFC part here - so far no client registers itself twice but should we care for such a scenario happening in future?), hence there is one context per client and ib_unregister_client() can break on matching that client.
diff -ruNp a/core/device.c b/core/device.c
--- a/core/device.c 2006-05-04 10:49:03.000000000 +0530
+++ b/core/device.c 2006-05-04 10:51:50.000000000 +0530
@@ -349,6 +349,7 @@ void ib_unregister_client(struct ib_clie
if (context->client == client) {
list_del(&context->list);
kfree(context);
+ break;
}
spin_unlock_irqrestore(&device->client_data_lock, flags);
}
Thanks,
- KK
unregister_client.patch
Description: Binary data
_______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
