static int __init ifb_init_module(void) { int i, err = 0; ifbs = kmalloc(numifbs * sizeof(void *), GFP_KERNEL); if (!ifbs) return -ENOMEM; for (i = 0; i < numifbs && !err; i++) err = ifb_init_one(i); if (err) { while (--i >= 0) ifb_free_one(i); } return err; }
static int __init ifb_init_module(void) { int i, err; rtnl_lock(); err = __rtnl_link_register(&ifb_link_ops); for (i = 0; i < numifbs && !err; i++) err = ifb_init_one(i); if (err) __rtnl_link_unregister(&ifb_link_ops); rtnl_unlock(); return err; }
static int __init ifb_init_module(void) { int i, err; rtnl_lock(); err = __rtnl_link_register(&ifb_link_ops); if (err < 0) goto out; for (i = 0; i < numifbs && !err; i++) { err = ifb_init_one(i); cond_resched(); } if (err) __rtnl_link_unregister(&ifb_link_ops); out: rtnl_unlock(); return err; }