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 <andy.grover@oracle.com>
diff --git a/net/rds/send.c b/net/rds/send.c
index 72dbe7f..b751a8e 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -551,7 +551,7 @@
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);