hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/soc/rockchip/rockchip_thunderboot_service.c
....@@ -76,7 +76,7 @@
7676
7777 static void do_mcu_done(struct rk_tb_serv *serv)
7878 {
79
- struct rk_tb_client *client, *client_s;
79
+ struct rk_tb_client *client;
8080 struct rockchip_mbox_msg msg;
8181
8282 rockchip_mbox_read_msg(serv->mbox_rx_chan, &msg);
....@@ -97,12 +97,13 @@
9797 return;
9898 }
9999
100
- list_for_each_entry_safe(client, client_s, &clients_list, node) {
100
+ while (!list_empty(&clients_list)) {
101
+ client = list_first_entry(&clients_list, struct rk_tb_client, node);
102
+ list_del(&client->node);
101103 spin_unlock(&lock);
102104 if (client->cb)
103105 client->cb(client->data);
104106 spin_lock(&lock);
105
- list_del(&client->node);
106107 }
107108 atomic_set(&mcu_done, 1);
108109 spin_unlock(&lock);