[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20070711083117.46fdb9e2@freepuppy.rosehill.hemminger.net>
Date: Wed, 11 Jul 2007 08:31:17 -0700
From: Stephen Hemminger <shemminger@...ux-foundation.org>
To: Ben Dooks <ben@...ff.org>
Cc: Linux netdev <netdev@...r.kernel.org>
Subject: Re: ethtool locking
On Wed, 11 Jul 2007 11:58:08 +0100
Ben Dooks <ben@...ff.org> wrote:
> I am currently upgrading the DM9000 network driver to support
> ethtool for items such as controlling the MII interface and
> have the following question about locking with the ethtool
> interface:
>
> Most devices use an overall spinlock when changing the settings
> such as in the 8139too.c driver:
>
> static int rtl8139_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
> {
> struct rtl8139_private *np = netdev_priv(dev);
> int rc;
> spin_lock_irq(&np->lock);
> rc = mii_ethtool_sset(&np->mii, cmd);
> spin_unlock_irq(&np->lock);
> return rc;
> }
>
> In the case of the DM9000, the phy read and write code
> already has a spinlock in for hardware access.
>
> Do I need any more locking for the MII calls other than
> what is provided by the lower layer (IE, do these calls
> need locking against anything else?)
>
All network API changes are currently protected by the netlink
mutex (commonly referred to as RTNL). But your device must protect
itself from any changes in settings due to interrupts from PHY.
--
Stephen Hemminger <shemminger@...ux-foundation.org>
-
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