Subject: Re: [PATCH 5/6] bond: Implement a basic set of rtnl link ops

From: Patrick McHardy <[email-masked]>
Date: Fri, 30 Oct 2009 11:08:09 +0100

Eric W. Biederman wrote:
> Patrick McHardy <[email-masked]> writes:
> 
>>> As for rtnl_link_register it always succeeds so let's just
>>> remove the return code and call it good.
>> You need unroll anyways for the other failure conditions, so
>> why not simply add an err1/2 and be safe for future changes?
> 
> Not a real problem.  I was just thinking of things like the
> dummy driver that have this same issue and the fact that since
> rtnl_link_register never fails we never test the error path.
> So it would be much less error prone and less code to remove
> the possibility of rtnl_link_register failing.

Mhh good point, I think I added the broken dummy code myself :)

The main reason for not returning void from rtnl_link_register()
was so new drivers that are written with rtnl_link in mind from
the beginning (and thus usually don't do anything like default
device creation, sysfs registrations etc.) can simply do
"return rtnl_link_register(&ops)" in their init function. But
that's admittedly not a very strong argument :)