OSDN Git Service

platform/surface: aggregator: Use list_move_tail instead of list_del/list_add_tail...
authorBaokun Li <libaokun1@huawei.com>
Wed, 9 Jun 2021 07:26:38 +0000 (15:26 +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_request_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/20210609072638.1358174-1-libaokun1@huawei.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/surface/aggregator/ssh_request_layer.c

index bfe1aaf..790f7f0 100644 (file)
@@ -863,9 +863,7 @@ static void ssh_rtl_timeout_reap(struct work_struct *work)
                clear_bit(SSH_REQUEST_SF_PENDING_BIT, &r->state);
 
                atomic_dec(&rtl->pending.count);
-               list_del(&r->node);
-
-               list_add_tail(&r->node, &claimed);
+               list_move_tail(&r->node, &claimed);
        }
        spin_unlock(&rtl->pending.lock);
 
@@ -1204,8 +1202,7 @@ void ssh_rtl_shutdown(struct ssh_rtl *rtl)
                smp_mb__before_atomic();
                clear_bit(SSH_REQUEST_SF_QUEUED_BIT, &r->state);
 
-               list_del(&r->node);
-               list_add_tail(&r->node, &claimed);
+               list_move_tail(&r->node, &claimed);
        }
        spin_unlock(&rtl->queue.lock);
 
@@ -1238,8 +1235,7 @@ void ssh_rtl_shutdown(struct ssh_rtl *rtl)
                        smp_mb__before_atomic();
                        clear_bit(SSH_REQUEST_SF_PENDING_BIT, &r->state);
 
-                       list_del(&r->node);
-                       list_add_tail(&r->node, &claimed);
+                       list_move_tail(&r->node, &claimed);
                }
                spin_unlock(&rtl->pending.lock);
        }