> + list_for_each_entry_rcu(client, &client_list, list) > + if (client->get_net_device_by_port_pkey_ip) { > + ret = client->get_net_device_by_port_pkey_ip(dev, port, > + pkey, > + > addr); Considering the patch that introduced the rwsem, this doesn't look right. We can't call a client call back on a device that is unregistered, we can't call a client call back on a client that is unregistering. So the ordering of the list_del/add vs call back calls in device.c is not right, please audit everything with an eye toward maintaing sane invarients. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html