lkml.org 
[lkml]   [2008]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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@chelsio.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


\
 
 \ /
  Last update: 2008-10-09 02:47    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site