> what should the Mac driver do when it receive the error? I assume that it > will return it to userspace. because the rtnl_lock ensure only one ethtool > is executing, if the function return error, it means some bug in the mac > driver, am I right?
Yes, return it. It could be there are other use cases of loopback, which are not protected by the rtnl_lock. Andrew