Device kind gives more information than only arbitrary device name. Signed-off-by: Konstantin Khlebnikov <khlebni...@yandex-team.ru> --- net/core/dev.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c index 71b18e80389f..c84561634afd 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -9651,17 +9651,14 @@ static int __net_init netdev_init(struct net *net) */ const char *netdev_drivername(const struct net_device *dev) { - const struct device_driver *driver; const struct device *parent; const char *empty = ""; parent = dev->dev.parent; - if (!parent) - return empty; - - driver = parent->driver; - if (driver && driver->name) - return driver->name; + if (parent) + return dev_driver_string(parent); + if (dev->rtnl_link_ops) + return dev->rtnl_link_ops->kind; return empty; } @@ -9677,8 +9674,8 @@ static void __netdev_printk(const char *level, const struct net_device *dev, netdev_name(dev), netdev_reg_state(dev), vaf); } else if (dev) { - printk("%s%s%s: %pV", - level, netdev_name(dev), netdev_reg_state(dev), vaf); + printk("%s%s %s%s: %pV", level, netdev_drivername(dev), + netdev_name(dev), netdev_reg_state(dev), vaf); } else { printk("%s(NULL net_device): %pV", level, vaf); }