On Fri, 26 Oct 2007 08:37:33 +0200
Ingo Molnar <[EMAIL PROTECTED]> wrote:

> 
> * Romano Giannetti <[EMAIL PROTECTED]> wrote:
> 
> > > Does this help?
> > 
> > I tried this, but although I have the D-state processes, I cannot see 
> > any debug trace now. Results are at:
> > 
> > http://www.dea.icai.upcomillas.es/romano/linux/info/2624rc1_3/
> > 
> > Can I try anything more? This is quite a show-stopper for me... and 
> > before trying to bisect 11Mbyte of patches...
> 
> hm, from your log it appears that lockdep did not find anything, still 
> the hang does trigger.
> 
> it's /sbin/ifconfig and inet_ioctl() / dev_close() / rtl8169_down() that 
> seems to be hanging. I've extracted the relevant backtrace below. I've 
> Cc:-ed people who might have a better idea about what's going on.
> 
>       Ingo

Are you building with NAPI enabled or not. Looks like the following
might help the non-napi case.

--- a/drivers/net/r8169.c       2007-10-24 21:38:43.000000000 -0700
+++ b/drivers/net/r8169.c       2007-10-26 09:46:07.000000000 -0700
@@ -2989,13 +2989,16 @@ static void rtl8169_down(struct net_devi
 {
        struct rtl8169_private *tp = netdev_priv(dev);
        void __iomem *ioaddr = tp->mmio_addr;
-       unsigned int poll_locked = 0;
        unsigned int intrmask;
 
        rtl8169_delete_timer(dev);
 
        netif_stop_queue(dev);
 
+#ifdef CONFIG_R8169_NAPI
+       napi_disable(&tp->napi);
+#endif
+
 core_down:
        spin_lock_irq(&tp->lock);
 
@@ -3009,11 +3012,6 @@ core_down:
 
        synchronize_irq(dev->irq);
 
-       if (!poll_locked) {
-               napi_disable(&tp->napi);
-               poll_locked++;
-       }
-
        /* Give a racing hard_start_xmit a few cycles to complete. */
        synchronize_sched();  /* FIXME: should this be synchronize_irq()? */
 




-- 
Stephen Hemminger <[EMAIL PROTECTED]>
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to