lkml.org 
[lkml]   [2010]   [Feb]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: BNX2: Kernel crashes with 2.6.31 and 2.6.31.9
    From
    Date
    Hi Brian,

    On Fri, 2010-02-19 at 13:03 -0800, Brian Haley wrote:
    > Hi Ben,
    >
    > Benjamin Li wrote:
    > > Hi Bruno,
    > >
    > > @@ -8201,7 +8204,7 @@ bnx2_init_napi(struct bnx2 *bp)
    > > {
    > > int i;
    > >
    > > - for (i = 0; i < BNX2_MAX_MSIX_VEC; i++) {
    > > + for (i = 0; i < bp->irq_nvecs; i++) {
    > > struct bnx2_napi *bnapi = &bp->bnx2_napi[i];
    > > int (*poll)(struct napi_struct *, int);
    >
    > Would this same change need to be made in other places, like bnx2_init_chip()
    > or bnx2_clear_ring_states() ?

    The other locations in the bnx2.c driver are bnx2_init_chip(),
    bnx2_clear_ring_states(), bnx2_alloc_mem(). With the current
    implementation, the bnx2_napi structures are initialize but never used
    which should be ok. But, we can clean this up to save some cycles.

    The following are the areas in the code which iterate through all the
    vectors.

    bnx2_init_chip() - zero the last_status_idx field in the bnx2_napi
    structure
    bnx2_clear_ring_states() - zero the rings producer/consumer indexes
    bnx2_alloc_mem() - initialize the consumer pointers

    Thanks again.

    -Ben

    >
    > -Brian
    > --
    > 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: 2010-02-19 22:49    [W:3.920 / U:0.460 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site