Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3019de12 authored by David S. Miller's avatar David S. Miller
Browse files

net: Rework netdev_drivername() to avoid warning.



This interface uses a temporary buffer, but for no real reason.
And now can generate warnings like:

net/sched/sch_generic.c: In function dev_watchdog
net/sched/sch_generic.c:254:10: warning: unused variable drivername

Just return driver->name directly or "".

Reported-by: default avatarConnor Hansen <cmdkhh@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5a079c30
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2555,7 +2555,7 @@ extern void netdev_class_remove_file(struct class_attribute *class_attr);

extern struct kobj_ns_type_operations net_ns_type_operations;

extern char *netdev_drivername(const struct net_device *dev, char *buffer, int len);
extern const char *netdev_drivername(const struct net_device *dev);

extern void linkwatch_run_queue(void);

+5 −11
Original line number Diff line number Diff line
@@ -6264,29 +6264,23 @@ err_name:
/**
 *	netdev_drivername - network driver for the device
 *	@dev: network device
 *	@buffer: buffer for resulting name
 *	@len: size of buffer
 *
 *	Determine network driver for device.
 */
char *netdev_drivername(const struct net_device *dev, char *buffer, int len)
const char *netdev_drivername(const struct net_device *dev)
{
	const struct device_driver *driver;
	const struct device *parent;

	if (len <= 0 || !buffer)
		return buffer;
	buffer[0] = 0;
	const char *empty = "";

	parent = dev->dev.parent;

	if (!parent)
		return buffer;
		return empty;

	driver = parent->driver;
	if (driver && driver->name)
		strlcpy(buffer, driver->name, len);
	return buffer;
		return driver->name;
	return empty;
}

static int __netdev_printk(const char *level, const struct net_device *dev,
+1 −2
Original line number Diff line number Diff line
@@ -251,9 +251,8 @@ static void dev_watchdog(unsigned long arg)
			}

			if (some_queue_timedout) {
				char drivername[64];
				WARN_ONCE(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): transmit queue %u timed out\n",
				       dev->name, netdev_drivername(dev, drivername, 64), i);
				       dev->name, netdev_drivername(dev), i);
				dev->netdev_ops->ndo_tx_timeout(dev);
			}
			if (!mod_timer(&dev->watchdog_timer,