lkml.org 
[lkml]   [2007]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: 2.6.24-rc1 fails with lockup - /sbin/ifconfig / inet_ioctl() / dev_close() / rtl8169_down()
    On Fri, 26 Oct 2007 08:37:33 +0200
    Ingo Molnar <mingo@elte.hu> wrote:

    >
    > * Romano Giannetti <romanol@upcomillas.es> 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 <shemminger@linux-foundation.org>
    -
    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/

    \
     
     \ /
      Last update: 2007-10-26 18:53    [W:0.022 / U:2.088 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site