Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030268AbXBQWN4 (ORCPT ); Sat, 17 Feb 2007 17:13:56 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030269AbXBQWN4 (ORCPT ); Sat, 17 Feb 2007 17:13:56 -0500 Received: from electric-eye.fr.zoreil.com ([213.41.134.224]:41855 "EHLO fr.zoreil.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030270AbXBQWNz (ORCPT ); Sat, 17 Feb 2007 17:13:55 -0500 Date: Sat, 17 Feb 2007 23:12:52 +0100 From: Francois Romieu To: Michal Piotrowski Cc: LKML , netdev@vger.kernel.org Subject: Re: 2.6.20-git14 rtl8139 possible circular locking dependency detected Message-ID: <20070217221252.GA16954@electric-eye.fr.zoreil.com> References: <45D7569F.9030502@googlemail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45D7569F.9030502@googlemail.com> User-Agent: Mutt/1.4.2.1i X-Organisation: Land of Sunshine Inc. Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2022 Lines: 57 Michal Piotrowski : [...] Did you enable RTL8139_DEBUG ? If so you can try the patch below. diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index 35ad5cf..da61368 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c @@ -634,7 +634,6 @@ static int rtl8139_close (struct net_dev static int netdev_ioctl (struct net_device *dev, struct ifreq *rq, int cmd); static struct net_device_stats *rtl8139_get_stats (struct net_device *dev); static void rtl8139_set_rx_mode (struct net_device *dev); -static void __set_rx_mode (struct net_device *dev); static void rtl8139_hw_start (struct net_device *dev); static void rtl8139_thread (struct work_struct *work); static void rtl8139_tx_timeout_task(struct work_struct *work); @@ -2497,10 +2496,11 @@ static struct net_device_stats *rtl8139_ return &tp->stats; } -/* Set or clear the multicast filter for this adaptor. - This routine is not state sensitive and need not be SMP locked. */ - -static void __set_rx_mode (struct net_device *dev) +/* + * Set or clear the multicast filter for this adaptor. + * This routine is not state sensitive and need not be SMP locked. + */ +static void rtl8139_set_rx_mode (struct net_device *dev) { struct rtl8139_private *tp = netdev_priv(dev); void __iomem *ioaddr = tp->mmio_addr; @@ -2545,16 +2545,6 @@ static void __set_rx_mode (struct net_de RTL_W32_F (MAR0 + 4, mc_filter[1]); } -static void rtl8139_set_rx_mode (struct net_device *dev) -{ - unsigned long flags; - struct rtl8139_private *tp = netdev_priv(dev); - - spin_lock_irqsave (&tp->lock, flags); - __set_rx_mode(dev); - spin_unlock_irqrestore (&tp->lock, flags); -} - #ifdef CONFIG_PM static int rtl8139_suspend (struct pci_dev *pdev, pm_message_t state) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/