From: Andy Grover Date: Tue, 12 Jan 2010 22:19:32 +0000 (-0800) Subject: RDS: Clear up some confusing code in send_remove_from_sock X-Git-Tag: v2.6.37-rc1~147^2~499^2~94 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=a63273d4992603979ddb181b6a8f07082839b39f;p=~shefty%2Frdma-dev.git RDS: Clear up some confusing code in send_remove_from_sock The previous code was correct, but made the assumption that if r_notifier was non-NULL then either r_recverr or r_notify was true. Valid, but fragile. Changed to explicitly check r_recverr (shows up in greps for recverr now, too.) Signed-off-by: Andy Grover --- diff --git a/net/rds/send.c b/net/rds/send.c index 72dbe7fc4f5..b751a8e77c4 100644 --- a/net/rds/send.c +++ b/net/rds/send.c @@ -551,7 +551,7 @@ void rds_send_remove_from_sock(struct list_head *messages, int status) rds_send_sndbuf_remove(rs, rm); if (ro->r_active && ro->r_notifier && - (status || ro->r_notify)) { + (ro->r_notify || (ro->r_recverr && status))) { notifier = ro->r_notifier; list_add_tail(¬ifier->n_list, &rs->rs_notify_queue);