diff options
Diffstat (limited to 'net/mptcp/pm.c')
| -rw-r--r-- | net/mptcp/pm.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 696b2c4613a7..7bea318ac5f2 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -213,6 +213,8 @@ void mptcp_pm_add_addr_received(struct mptcp_sock *msk,  		mptcp_pm_add_addr_send_ack(msk);  	} else if (mptcp_pm_schedule_work(msk, MPTCP_PM_ADD_ADDR_RECEIVED)) {  		pm->remote = *addr; +	} else { +		__MPTCP_INC_STATS(sock_net((struct sock *)msk), MPTCP_MIB_ADDADDRDROP);  	}  	spin_unlock_bh(&pm->lock); @@ -253,8 +255,10 @@ void mptcp_pm_rm_addr_received(struct mptcp_sock *msk,  		mptcp_event_addr_removed(msk, rm_list->ids[i]);  	spin_lock_bh(&pm->lock); -	mptcp_pm_schedule_work(msk, MPTCP_PM_RM_ADDR_RECEIVED); -	pm->rm_list_rx = *rm_list; +	if (mptcp_pm_schedule_work(msk, MPTCP_PM_RM_ADDR_RECEIVED)) +		pm->rm_list_rx = *rm_list; +	else +		__MPTCP_INC_STATS(sock_net((struct sock *)msk), MPTCP_MIB_RMADDRDROP);  	spin_unlock_bh(&pm->lock);  }  | 
