This should be fine (and comes from an earlier set of changes to fix
deadlocks): ib_umad_close() does a downgrade_write() before calling
ib_unregister_mad_agent(), so it only holds the mutex with a read
lock, which means that queue_packet() should be able to take another
read lock.

I'll see if I can reproduce and get more info. I thought the mutex was contributing to the hang, but you're right.

Unless there's something that prevents one thread from taking a read
lock twice?  What kernel are you seeing these problems with?

I'm running 2.6.24-rc3.

I'm out on vacation through the end of the year, so I'm not sure if I'll be able to debug this further for a couple of weeks.

- Sean
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to