platform/surface: aggregator: Use list_move_tail instead of list_del/list_add_tail...
authorBaokun Li <libaokun1@huawei.com>
Wed, 9 Jun 2021 07:24:48 +0000 (15:24 +0800)
committerHans de Goede <hdegoede@redhat.com>
Wed, 16 Jun 2021 15:47:54 +0000 (17:47 +0200)
Using list_move_tail() instead of list_del() + list_add_tail() in ssh_packet_layer.c.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
Link: https://lore.kernel.org/r/20210609072448.1357524-1-libaokun1@huawei.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/surface/aggregator/ssh_packet_layer.c

index 5e08049..8a4451c 100644 (file)
@@ -1567,9 +1567,7 @@ static void ssh_ptl_timeout_reap(struct work_struct *work)
                clear_bit(SSH_PACKET_SF_PENDING_BIT, &p->state);
 
                atomic_dec(&ptl->pending.count);
-               list_del(&p->pending_node);
-
-               list_add_tail(&p->pending_node, &claimed);
+               list_move_tail(&p->pending_node, &claimed);
        }
 
        spin_unlock(&ptl->pending.lock);
@@ -1957,8 +1955,7 @@ void ssh_ptl_shutdown(struct ssh_ptl *ptl)
                smp_mb__before_atomic();
                clear_bit(SSH_PACKET_SF_QUEUED_BIT, &p->state);
 
-               list_del(&p->queue_node);
-               list_add_tail(&p->queue_node, &complete_q);
+               list_move_tail(&p->queue_node, &complete_q);
        }
        spin_unlock(&ptl->queue.lock);
 
@@ -1970,8 +1967,7 @@ void ssh_ptl_shutdown(struct ssh_ptl *ptl)
                smp_mb__before_atomic();
                clear_bit(SSH_PACKET_SF_PENDING_BIT, &p->state);
 
-               list_del(&p->pending_node);
-               list_add_tail(&p->pending_node, &complete_q);
+               list_move_tail(&p->pending_node, &complete_q);
        }
        atomic_set(&ptl->pending.count, 0);
        spin_unlock(&ptl->pending.lock);