mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 18:39:59 +00:00
batman-adv: use list_for_each_entry_safe
Use list_for_each_entry_safe() instead of list_for_each_safe() to simplify the code. Signed-off-by: Geliang Tang <geliangtang@163.com> Acked-by: Antonio Quartulli <a@unstable.cc> Reviewed-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <a@unstable.cc>
This commit is contained in:
parent
925a6f3790
commit
fb1f23eab6
1 changed files with 9 additions and 13 deletions
|
@ -104,25 +104,21 @@ static int batadv_socket_open(struct inode *inode, struct file *file)
|
|||
|
||||
static int batadv_socket_release(struct inode *inode, struct file *file)
|
||||
{
|
||||
struct batadv_socket_client *socket_client = file->private_data;
|
||||
struct batadv_socket_packet *socket_packet;
|
||||
struct list_head *list_pos, *list_pos_tmp;
|
||||
struct batadv_socket_client *client = file->private_data;
|
||||
struct batadv_socket_packet *packet, *tmp;
|
||||
|
||||
spin_lock_bh(&socket_client->lock);
|
||||
spin_lock_bh(&client->lock);
|
||||
|
||||
/* for all packets in the queue ... */
|
||||
list_for_each_safe(list_pos, list_pos_tmp, &socket_client->queue_list) {
|
||||
socket_packet = list_entry(list_pos,
|
||||
struct batadv_socket_packet, list);
|
||||
|
||||
list_del(list_pos);
|
||||
kfree(socket_packet);
|
||||
list_for_each_entry_safe(packet, tmp, &client->queue_list, list) {
|
||||
list_del(&packet->list);
|
||||
kfree(packet);
|
||||
}
|
||||
|
||||
batadv_socket_client_hash[socket_client->index] = NULL;
|
||||
spin_unlock_bh(&socket_client->lock);
|
||||
batadv_socket_client_hash[client->index] = NULL;
|
||||
spin_unlock_bh(&client->lock);
|
||||
|
||||
kfree(socket_client);
|
||||
kfree(client);
|
||||
module_put(THIS_MODULE);
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue