Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / net / rxrpc / connection.c
index a978007..0e0a455 100644 (file)
@@ -30,6 +30,8 @@ LIST_HEAD(rxrpc_conns);
 DECLARE_RWSEM(rxrpc_conns_sem);
 unsigned long rxrpc_conn_timeout = 60 * 60;
 
+static void rxrpc_conn_do_timeout(struct rxrpc_connection *conn);
+
 static void __rxrpc_conn_timeout(rxrpc_timer_t *timer)
 {
        struct rxrpc_connection *conn =
@@ -218,6 +220,7 @@ int rxrpc_connection_lookup(struct rxrpc_peer *peer,
 {
        struct rxrpc_connection *conn, *candidate = NULL;
        struct list_head *_p;
+       struct sk_buff *pkt = msg->pkt;
        int ret, fresh = 0;
        __be32 x_epoch, x_connid;
        __be16 x_port, x_servid;
@@ -227,10 +230,10 @@ int rxrpc_connection_lookup(struct rxrpc_peer *peer,
        _enter("%p{{%hu}},%u,%hu",
               peer,
               peer->trans->port,
-              ntohs(msg->pkt->h.uh->source),
+              ntohs(pkt->h.uh->source),
               ntohs(msg->hdr.serviceId));
 
-       x_port          = msg->pkt->h.uh->source;
+       x_port          = pkt->h.uh->source;
        x_epoch         = msg->hdr.epoch;
        x_clflag        = msg->hdr.flags & RXRPC_CLIENT_INITIATED;
        x_connid        = htonl(ntohl(msg->hdr.cid) & RXRPC_CIDMASK);
@@ -265,7 +268,7 @@ int rxrpc_connection_lookup(struct rxrpc_peer *peer,
                /* fill in the specifics */
                candidate->addr.sin_family      = AF_INET;
                candidate->addr.sin_port        = x_port;
-               candidate->addr.sin_addr.s_addr = msg->pkt->nh.iph->saddr;
+               candidate->addr.sin_addr.s_addr = pkt->nh.iph->saddr;
                candidate->in_epoch             = x_epoch;
                candidate->out_epoch            = x_epoch;
                candidate->in_clientflag        = RXRPC_CLIENT_INITIATED;
@@ -415,7 +418,7 @@ void rxrpc_put_connection(struct rxrpc_connection *conn)
 /*
  * free a connection record
  */
-void rxrpc_conn_do_timeout(struct rxrpc_connection *conn)
+static void rxrpc_conn_do_timeout(struct rxrpc_connection *conn)
 {
        struct rxrpc_peer *peer;
 
@@ -520,7 +523,7 @@ int rxrpc_conn_newmsg(struct rxrpc_connection *conn,
                      uint8_t type,
                      int dcount,
                      struct kvec diov[],
-                     int alloc_flags,
+                     gfp_t alloc_flags,
                      struct rxrpc_message **_msg)
 {
        struct rxrpc_message *msg;
@@ -673,6 +676,7 @@ int rxrpc_conn_receive_call_packet(struct rxrpc_connection *conn,
                                   struct rxrpc_message *msg)
 {
        struct rxrpc_message *pmsg;
+       struct dst_entry *dst;
        struct list_head *_p;
        unsigned cix, seq;
        int ret = 0;
@@ -708,10 +712,10 @@ int rxrpc_conn_receive_call_packet(struct rxrpc_connection *conn,
 
        call->pkt_rcv_count++;
 
-       if (msg->pkt->dst && msg->pkt->dst->dev)
+       dst = msg->pkt->dst;
+       if (dst && dst->dev)
                conn->peer->if_mtu =
-                       msg->pkt->dst->dev->mtu -
-                       msg->pkt->dst->dev->hard_header_len;
+                       dst->dev->mtu - dst->dev->hard_header_len;
 
        /* queue on the call in seq order */
        rxrpc_get_message(msg);