[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <48ED5350.6010502@chelsio.com>
Date: Wed, 08 Oct 2008 17:41:52 -0700
From: Divy Le Ray <divy@...lsio.com>
To: Andrew Morton <akpm@...ux-foundation.org>
CC: jeff@...zik.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org,
Steve Wise <swise@...ngridcomputing.com>
Subject: Re: [PATCH 2.6.28 1/1] cxgb3 - fix race in EEH
Andrew Morton wrote:
> On Thu, 25 Sep 2008 17:05:28 -0700
> Divy Le Ray <divy@...lsio.com> wrote:
>
>
>> A SGE queue set timer might access registers while in EEH recovery,
>> triggering an EEH error loop. Stop all timers early in EEH process.
>>
>
> <looks>
>
> It's deeply weird that t3_reset_qset() does
>
> memset(&q->tx_reclaim_timer, 0, sizeof(q->tx_reclaim_timer));
>
> There are lots of things in the timer_list which the driver has no
> business modifying. For example, this might break the metadata in
> Thomas's debugobjects stuff, which attempts to catch things being done
> in the wrong order (I don't think it will, but still...).
>
> Rerunning init_timer() should repair the damage, but I suspect a simple
>
> q->tx_reclaim_timer.function = NULL; /* explanation goes here */
>
> would suffice here.
>
>
> t3_sge_alloc_qset() could use the newer setup_timer().
>
>
Hi Andrew,
Your suggestion is implemented in the first patch of the series I just
posted.
I apologize for the delayed reply.
Cheers,
Divy
--
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