[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 13 Aug 2008 09:21:47 +0800
From: Jie Yang <Jie.Yang@...eros.com>
To: Matthew Wilcox <matthew@....cx>,
Xiong Huang <Xiong.Huang@...eros.com>
CC: Jeff Garzik <jeff@...zik.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: RE: [PATCH] Don't take the mdio_lock in atl1e_probe
On Tuesday, August 12, 2008 9:13 PM
Matthew Wilcox <matthew@....cx> wrote
> Lockdep warns about the mdio_lock taken with interrupts
> enabled then later taken from interrupt context. Initially,
> I considered changing these to spin_lock_irq/spin_unlock_irq,
> but then I looked at atl1e_phy_init() and saw that it calls
> msleep(). Sleeping while holding a spinlock is not allowed either.
>
> In the probe path, we haven't registered the interrupt
> handler, so it can't poke at this card yet. It's before we
> call register_netdev(), so I don't think any other threads
> can reach this card either. If I'm right, we don't need a
> spinlock at all.
>
> Signed-off-by: Matthew Wilcox <willy@...ux.intel.com>
>
> diff --git a/drivers/net/atl1e/atl1e_main.c
> b/drivers/net/atl1e/atl1e_main.c index 82d7be1..ba22a51 100644
> --- a/drivers/net/atl1e/atl1e_main.c
> +++ b/drivers/net/atl1e/atl1e_main.c
> @@ -2389,9 +2389,7 @@ static int __devinit atl1e_probe(struct
> pci_dev *pdev,
> }
>
> /* Init GPHY as early as possible due to power saving
> issue */
> - spin_lock(&adapter->mdio_lock);
> atl1e_phy_init(&adapter->hw);
> - spin_unlock(&adapter->mdio_lock);
> /* reset the controller to
> * put the device in a known good starting state */
> err = atl1e_reset_hw(&adapter->hw);
>
Ok.
Thanks Matthew Wilcox
Acked-by: Jie Yang <jie.yang@...eros.com>
--
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