diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2008-07-21 16:31:48 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-21 16:31:48 -0400 |
commit | 6579e57b31d79d31d9b806e41ba48774e73257dc (patch) | |
tree | 03ba72024a1982ee76b8a891a443b0fdfb6d7c93 /net/core/dev.c | |
parent | 7943986ca1138ac99597b1aa4dc893012dcfdc08 (diff) |
net: Print the module name as part of the watchdog message
As suggested by Dave:
This patch adds a function to get the driver name from a struct net_device,
and consequently uses this in the watchdog timeout handler to print as
part of the message.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 1698b3998981..ad5598d2bb37 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -4686,6 +4686,26 @@ err_name: | |||
4686 | return -ENOMEM; | 4686 | return -ENOMEM; |
4687 | } | 4687 | } |
4688 | 4688 | ||
4689 | char *netdev_drivername(struct net_device *dev, char *buffer, int len) | ||
4690 | { | ||
4691 | struct device_driver *driver; | ||
4692 | struct device *parent; | ||
4693 | |||
4694 | if (len <= 0 || !buffer) | ||
4695 | return buffer; | ||
4696 | buffer[0] = 0; | ||
4697 | |||
4698 | parent = dev->dev.parent; | ||
4699 | |||
4700 | if (!parent) | ||
4701 | return buffer; | ||
4702 | |||
4703 | driver = parent->driver; | ||
4704 | if (driver && driver->name) | ||
4705 | strlcpy(buffer, driver->name, len); | ||
4706 | return buffer; | ||
4707 | } | ||
4708 | |||
4689 | static void __net_exit netdev_exit(struct net *net) | 4709 | static void __net_exit netdev_exit(struct net *net) |
4690 | { | 4710 | { |
4691 | kfree(net->dev_name_head); | 4711 | kfree(net->dev_name_head); |