Use list_for_each_entry_safe() instead of list_for_each_safe() to
simplify the code.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 net/caif/chnl_net.c | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/net/caif/chnl_net.c b/net/caif/chnl_net.c
index 67a4a36..d3db77c 100644
--- a/net/caif/chnl_net.c
+++ b/net/caif/chnl_net.c
@@ -140,13 +140,10 @@ static int delete_device(struct chnl_net *dev)
 
 static void close_work(struct work_struct *work)
 {
-       struct chnl_net *dev = NULL;
-       struct list_head *list_node;
-       struct list_head *_tmp;
+       struct chnl_net *dev = NULL, *tmp;
 
        rtnl_lock();
-       list_for_each_safe(list_node, _tmp, &chnl_net_list) {
-               dev = list_entry(list_node, struct chnl_net, list_field);
+       list_for_each_entry_safe(dev, tmp, &chnl_net_list, list_field) {
                if (dev->state == CAIF_SHUTDOWN)
                        dev_close(dev->netdev);
        }
@@ -535,14 +532,11 @@ static int __init chnl_init_module(void)
 
 static void __exit chnl_exit_module(void)
 {
-       struct chnl_net *dev = NULL;
-       struct list_head *list_node;
-       struct list_head *_tmp;
+       struct chnl_net *dev = NULL, *tmp;
        rtnl_link_unregister(&ipcaif_link_ops);
        rtnl_lock();
-       list_for_each_safe(list_node, _tmp, &chnl_net_list) {
-               dev = list_entry(list_node, struct chnl_net, list_field);
-               list_del(list_node);
+       list_for_each_entry_safe(dev, tmp, &chnl_net_list, list_field) {
+               list_del(&dev->list_field);
                delete_device(dev);
        }
        rtnl_unlock();
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to