[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 11 Nov 2014 18:39:29 +0100
From: Rafał Miłecki <zajec5@...il.com>
To: Network Development <netdev@...r.kernel.org>
Subject: Tracking errors in netdevice (and other?) notifiers
Hi,
During development of wireless driver I got this poor meaning error:
# ifconfig wlan0_1 up
ifconfig: SIOCSIFFLAGS: Device or resource busy
I've quickly tracked it down to the __dev_open [0]. Then it became worse.
In my case call_netdevice_notifiers returned 32785 which was
translated by notifier_to_errno to the -16 (-EBUSY).
Unfortunately I couldn't track call_netdevice_notifiers. It iterates
over a chain (list) of nameless notifiers (struct notifier_block). I
didn't have a chance to e.g. print a name of notifier that returned an
error.
Is there some trick to do that? To track notifiers and find a code
responsible for the chain error?
In my case it wasn't too hard, because there are only few places in
the kernel registering for NETDEV_PRE_UP. So I checked all of them and
found the guilty one. But I still would like to know if there is some
smart way.
[0] http://lxr.free-electrons.com/source/net/core/dev.c?v=3.17#L1268
--
Rafał
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists