X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=drivers%2Fnet%2Fifb.c;h=a3bed28197d29bf9722b6c586f311827d357b501;hb=f2966cd5691058b8674a20766525bedeaea9cbcf;hp=dc9f6a45515dacaa76fabb419ed82daa89d9a3d3;hpb=36a279686bc02d340eb213a9f2a0b67e50de64b4;p=~andy%2Flinux diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c index dc9f6a45515..a3bed28197d 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;