[NET]: Fix hotplug race during device registration.
From: Thomas de Grenier de Latour <degrenier@easyconnect.fr> On Sun, 9 Apr 2006 21:56:59 +0400, Sergey Vlasov <vsu@altlinux.ru> wrote: > However, show_address() does not output anything unless > dev->reg_state == NETREG_REGISTERED - and this state is set by > netdev_run_todo() only after netdev_register_sysfs() returns, so in > the meantime (while netdev_register_sysfs() is busy adding the > "statistics" attribute group) some process may see an empty "address" > attribute. I've tried the attached patch, suggested by Sergey Vlasov on hotplug-devel@, and as far as i can test it works just fine. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
30aaa154fc
commit
9469d458b9
|
@ -3042,11 +3042,11 @@ void netdev_run_todo(void)
|
|||
|
||||
switch(dev->reg_state) {
|
||||
case NETREG_REGISTERING:
|
||||
dev->reg_state = NETREG_REGISTERED;
|
||||
err = netdev_register_sysfs(dev);
|
||||
if (err)
|
||||
printk(KERN_ERR "%s: failed sysfs registration (%d)\n",
|
||||
dev->name, err);
|
||||
dev->reg_state = NETREG_REGISTERED;
|
||||
break;
|
||||
|
||||
case NETREG_UNREGISTERING:
|
||||
|
|
Loading…
Reference in New Issue