unregister_netdevice: waiting for eth0 to become free. Usage count = 3
The fix is based on the link below:
http://www.spinics.net/lists/netdev/msg150802.html
We could see the problem is gone with the kernel code fix as below:
ip_route_output_slow() in net/ipv4/route.c
Before
if (dev_out == NULL)
goto out;
/* RACE: Check return value of inet_select_addr instead. */
if (__in_dev_get_rtnl(dev_out) == NULL) {
dev_put(dev_out);
goto out; /* Wrong error code */
}
After
if (dev_out == NULL)
goto out;
/* RACE: Check return value of inet_select_addr instead. */
if (!(dev_out->flags & IFF_UP) || !__in_dev_get_rtnl(dev_out)) {
dev_put(dev_out);
err = -ENETUNREACH;
goto out; /* Wrong error code */
}
We expect this is the problem of the kernel, not of the WIFI driver.
No comments:
Post a Comment