summaryrefslogtreecommitdiffstats
path: root/net/rds
diff options
context:
space:
mode:
authorAndy Grover <andy.grover@oracle.com>2010-01-12 14:19:32 -0800
committerAndy Grover <andy.grover@oracle.com>2010-09-08 18:11:40 -0700
commita63273d4992603979ddb181b6a8f07082839b39f (patch)
tree2132efc5d723b02df281dc308d4e892aca295be7 /net/rds
parentf4dd96f7b27743e568cec519eff0f951c56833c6 (diff)
downloadlinux-a63273d4992603979ddb181b6a8f07082839b39f.tar.gz
linux-a63273d4992603979ddb181b6a8f07082839b39f.tar.bz2
linux-a63273d4992603979ddb181b6a8f07082839b39f.zip
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>
Diffstat (limited to 'net/rds')
-rw-r--r--net/rds/send.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/rds/send.c b/net/rds/send.c
index 72dbe7fc4f54..b751a8e77c41 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(&notifier->n_list,
&rs->rs_notify_queue);