X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=drivers%2Fnet%2Fifb.c;h=a3bed28197d29bf9722b6c586f311827d357b501;hb=a40d3e420d50156b7a43e66d5f5b40c444ebc5da;hp=dc9f6a45515dacaa76fabb419ed82daa89d9a3d3;hpb=0ddaa974258a4cde9a06c079bfd7863644e10d31;p=cascardo%2Flinux.git diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c index dc9f6a45515d..a3bed28197d2 100644 --- a/drivers/net/ifb.c +++ b/drivers/net/ifb.c @@ -291,11 +291,17 @@ static int __init ifb_init_module(void) rtnl_lock(); err = __rtnl_link_register(&ifb_link_ops); + if (err < 0) + goto out; - for (i = 0; i < numifbs && !err; i++) + 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;