ntb_netdev: Fix module_init problem
authorGeoff Levand <geoff@infradead.org>
Fri, 30 Jun 2023 21:58:46 +0000 (21:58 +0000)
committerJon Mason <jdmason@kudzu.us>
Sat, 8 Jul 2023 15:03:53 +0000 (11:03 -0400)
With both the ntb_transport_init and the ntb_netdev_init_module routines in the
module_init init group, the ntb_netdev_init_module routine can be called before
the ntb_transport_init routine that it depends on is called.  To assure the
proper initialization order put ntb_netdev_init_module in the late_initcall
group.

Fixes runtime errors where the ntb_netdev_init_module call fails with ENODEV.

Signed-off-by: Geoff Levand <geoff@infradead.org>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/net/ntb_netdev.c

index 85dbe7f..536bd65 100644 (file)
@@ -493,7 +493,7 @@ static int __init ntb_netdev_init_module(void)
 
        return 0;
 }
-module_init(ntb_netdev_init_module);
+late_initcall(ntb_netdev_init_module);
 
 static void __exit ntb_netdev_exit_module(void)
 {