OSDN Git Service

rxrpc: Rewrite the data and ack handling code
[uclinux-h8/linux.git] / net / rxrpc / local_object.c
index a753796..782b9ad 100644 (file)
@@ -75,9 +75,8 @@ static struct rxrpc_local *rxrpc_alloc_local(const struct sockaddr_rxrpc *srx)
                atomic_set(&local->usage, 1);
                INIT_LIST_HEAD(&local->link);
                INIT_WORK(&local->processor, rxrpc_local_processor);
-               INIT_LIST_HEAD(&local->services);
+               INIT_HLIST_HEAD(&local->services);
                init_rwsem(&local->defrag_sem);
-               skb_queue_head_init(&local->accept_queue);
                skb_queue_head_init(&local->reject_queue);
                skb_queue_head_init(&local->event_queue);
                local->client_conns = RB_ROOT;
@@ -296,7 +295,7 @@ static void rxrpc_local_destroyer(struct rxrpc_local *local)
        mutex_unlock(&rxrpc_local_mutex);
 
        ASSERT(RB_EMPTY_ROOT(&local->client_conns));
-       ASSERT(list_empty(&local->services));
+       ASSERT(hlist_empty(&local->services));
 
        if (socket) {
                local->socket = NULL;
@@ -308,7 +307,6 @@ static void rxrpc_local_destroyer(struct rxrpc_local *local)
        /* At this point, there should be no more packets coming in to the
         * local endpoint.
         */
-       rxrpc_purge_queue(&local->accept_queue);
        rxrpc_purge_queue(&local->reject_queue);
        rxrpc_purge_queue(&local->event_queue);
 
@@ -332,11 +330,6 @@ static void rxrpc_local_processor(struct work_struct *work)
                if (atomic_read(&local->usage) == 0)
                        return rxrpc_local_destroyer(local);
 
-               if (!skb_queue_empty(&local->accept_queue)) {
-                       rxrpc_accept_incoming_calls(local);
-                       again = true;
-               }
-
                if (!skb_queue_empty(&local->reject_queue)) {
                        rxrpc_reject_packets(local);
                        again = true;