diff options
Diffstat (limited to 'net/rds/send.c')
-rw-r--r-- | net/rds/send.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/rds/send.c b/net/rds/send.c index 0a6f38b1c8a5..45e025b65d29 100644 --- a/net/rds/send.c +++ b/net/rds/send.c | |||
@@ -476,12 +476,14 @@ void rds_rdma_send_complete(struct rds_message *rm, int status) | |||
476 | struct rm_rdma_op *ro; | 476 | struct rm_rdma_op *ro; |
477 | struct rds_notifier *notifier; | 477 | struct rds_notifier *notifier; |
478 | unsigned long flags; | 478 | unsigned long flags; |
479 | unsigned int notify = 0; | ||
479 | 480 | ||
480 | spin_lock_irqsave(&rm->m_rs_lock, flags); | 481 | spin_lock_irqsave(&rm->m_rs_lock, flags); |
481 | 482 | ||
483 | notify = rm->rdma.op_notify | rm->data.op_notify; | ||
482 | ro = &rm->rdma; | 484 | ro = &rm->rdma; |
483 | if (test_bit(RDS_MSG_ON_SOCK, &rm->m_flags) && | 485 | if (test_bit(RDS_MSG_ON_SOCK, &rm->m_flags) && |
484 | ro->op_active && ro->op_notify && ro->op_notifier) { | 486 | ro->op_active && notify && ro->op_notifier) { |
485 | notifier = ro->op_notifier; | 487 | notifier = ro->op_notifier; |
486 | rs = rm->m_rs; | 488 | rs = rm->m_rs; |
487 | sock_hold(rds_rs_to_sk(rs)); | 489 | sock_hold(rds_rs_to_sk(rs)); |