aboutsummaryrefslogtreecommitdiffstats
path: root/net/rxrpc/ar-recvmsg.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/rxrpc/ar-recvmsg.c')
-rw-r--r--net/rxrpc/ar-recvmsg.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/net/rxrpc/ar-recvmsg.c b/net/rxrpc/ar-recvmsg.c
index 64facba24a45..160f0927aa3e 100644
--- a/net/rxrpc/ar-recvmsg.c
+++ b/net/rxrpc/ar-recvmsg.c
@@ -288,7 +288,11 @@ receive_non_data_message:
288 ret = put_cmsg(msg, SOL_RXRPC, RXRPC_BUSY, 0, &abort_code); 288 ret = put_cmsg(msg, SOL_RXRPC, RXRPC_BUSY, 0, &abort_code);
289 break; 289 break;
290 case RXRPC_SKB_MARK_REMOTE_ABORT: 290 case RXRPC_SKB_MARK_REMOTE_ABORT:
291 abort_code = call->abort_code; 291 abort_code = call->remote_abort;
292 ret = put_cmsg(msg, SOL_RXRPC, RXRPC_ABORT, 4, &abort_code);
293 break;
294 case RXRPC_SKB_MARK_LOCAL_ABORT:
295 abort_code = call->local_abort;
292 ret = put_cmsg(msg, SOL_RXRPC, RXRPC_ABORT, 4, &abort_code); 296 ret = put_cmsg(msg, SOL_RXRPC, RXRPC_ABORT, 4, &abort_code);
293 break; 297 break;
294 case RXRPC_SKB_MARK_NET_ERROR: 298 case RXRPC_SKB_MARK_NET_ERROR:
@@ -303,6 +307,7 @@ receive_non_data_message:
303 &abort_code); 307 &abort_code);
304 break; 308 break;
305 default: 309 default:
310 pr_err("RxRPC: Unknown packet mark %u\n", skb->mark);
306 BUG(); 311 BUG();
307 break; 312 break;
308 } 313 }
@@ -401,9 +406,14 @@ u32 rxrpc_kernel_get_abort_code(struct sk_buff *skb)
401{ 406{
402 struct rxrpc_skb_priv *sp = rxrpc_skb(skb); 407 struct rxrpc_skb_priv *sp = rxrpc_skb(skb);
403 408
404 ASSERTCMP(skb->mark, ==, RXRPC_SKB_MARK_REMOTE_ABORT); 409 switch (skb->mark) {
405 410 case RXRPC_SKB_MARK_REMOTE_ABORT:
406 return sp->call->abort_code; 411 return sp->call->remote_abort;
412 case RXRPC_SKB_MARK_LOCAL_ABORT:
413 return sp->call->local_abort;
414 default:
415 BUG();
416 }
407} 417}
408 418
409EXPORT_SYMBOL(rxrpc_kernel_get_abort_code); 419EXPORT_SYMBOL(rxrpc_kernel_get_abort_code);