summaryrefslogtreecommitdiffstats
path: root/net/rxrpc/conn_object.c
diff options
context:
space:
mode:
authorDavid Howells2016-08-23 16:27:24 +0200
committerDavid Howells2016-08-23 16:27:24 +0200
commit01a90a459850ed1f1573f06f00f7b9d466339df0 (patch)
tree41a4aa08b699f82b2e401ffc83759ebbe3545693 /net/rxrpc/conn_object.c
parentrxrpc: When clearing a socket, clear the call sets in the right order (diff)
downloadkernel-qcow2-linux-01a90a459850ed1f1573f06f00f7b9d466339df0.tar.gz
kernel-qcow2-linux-01a90a459850ed1f1573f06f00f7b9d466339df0.tar.xz
kernel-qcow2-linux-01a90a459850ed1f1573f06f00f7b9d466339df0.zip
rxrpc: Drop channel number field from rxrpc_call struct
Drop the channel number (channel) field from the rxrpc_call struct to reduce the size of the call struct. The field is redundant: if the call is attached to a connection, the channel can be obtained from there by AND'ing with RXRPC_CHANNELMASK. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/conn_object.c')
-rw-r--r--net/rxrpc/conn_object.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/rxrpc/conn_object.c b/net/rxrpc/conn_object.c
index 896d84493a05..6a5a17efc538 100644
--- a/net/rxrpc/conn_object.c
+++ b/net/rxrpc/conn_object.c
@@ -156,9 +156,10 @@ not_found:
void __rxrpc_disconnect_call(struct rxrpc_call *call)
{
struct rxrpc_connection *conn = call->conn;
- struct rxrpc_channel *chan = &conn->channels[call->channel];
+ struct rxrpc_channel *chan =
+ &conn->channels[call->cid & RXRPC_CHANNELMASK];
- _enter("%d,%d", conn->debug_id, call->channel);
+ _enter("%d,%x", conn->debug_id, call->cid);
if (rcu_access_pointer(chan->call) == call) {
/* Save the result of the call so that we can repeat it if necessary