Subject: Re: Printing the driver name as part of the netdev watchdog message

From: Roland Dreier <[email-masked]>
Date: Mon, 07 Jul 2008 15:45:38 -0700

> > For consistency each call through ethtool_ops should
 > > be holding rtnl mutex. And since dev_watchdog is a timer routine,
 > > it is not safe to acquire a mutex there.
 > 
 > I think "get driver info", which does nothing but copy strings out of
 > the driver software state, is a safe exception to these strict locking
 > rules.

it seems that's not universally the case, eg get_drvinfo() in
drivers/net/cxgb3/cxgb3_main.c does

	t3_get_fw_version(adapter, &fw_vers);
	t3_get_tp_version(adapter, &tp_vers);

and from reading further in the code it's not obvious that this is safe
to do without serialization (it calls into t3_read_flash(), which does a
typical "write address reg, read data reg" sequence to access flash,
without any locking).

 - R.