caif-hsi: fix possible deadlock in cfhsi_exit_module()
authorTaehee Yoo <ap420073@gmail.com>
Mon, 15 Jul 2019 05:10:17 +0000 (14:10 +0900)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 31 Oct 2019 22:15:04 +0000 (22:15 +0000)
commit fdd258d49e88a9e0b49ef04a506a796f1c768a8e upstream.

cfhsi_exit_module() calls unregister_netdev() under rtnl_lock().
but unregister_netdev() internally calls rtnl_lock().
So deadlock would occur.

Fixes: c41254006377 ("caif-hsi: Add rtnl support")
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/caif/caif_hsi.c

index b3b922adc0e4f68ed15ff34537c21e1bd7e5e81f..e10834ca88b27581b94dfcd91f7462e90cfb3d5a 100644 (file)
@@ -1467,7 +1467,7 @@ static void __exit cfhsi_exit_module(void)
        rtnl_lock();
        list_for_each_safe(list_node, n, &cfhsi_list) {
                cfhsi = list_entry(list_node, struct cfhsi, list);
-               unregister_netdev(cfhsi->ndev);
+               unregister_netdevice(cfhsi->ndev);
        }
        rtnl_unlock();
 }