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>
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);