lkml.org 
[lkml]   [2009]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 1/6] firewire: core: reduce stack usage in bus reset tasklet
    On 6 Sep 2009 at 18:48, Stefan Richter wrote:

    > Index: linux-2.6.31-rc9/drivers/firewire/core-card.c
    > ===================================================================
    > --- linux-2.6.31-rc9.orig/drivers/firewire/core-card.c
    > +++ linux-2.6.31-rc9/drivers/firewire/core-card.c
    > @@ -38,16 +38,21 @@
    >
    > #include "core.h"
    >
    > -int fw_compute_block_crc(u32 *block)
    > +int fw_compute_block_crc(u32 *block, gfp_t flags)
    > {
    > - __be32 be32_block[256];
    > - int i, length;
    > + static __be32 *be32_block;
    ^^^^^^

    did you actually mean that to be static? if so, then you might as well allocate the
    buffer statically and not worry about a runtime allocation failure.

    > + int i, length = (*block >> 16) & 0xff;
    > +
    > + be32_block = kmalloc(length * 4, flags);
    > + if (WARN_ON(!be32_block))
    > + goto out;
    >
    > - length = (*block >> 16) & 0xff;
    > for (i = 0; i < length; i++)
    > be32_block[i] = cpu_to_be32(block[i + 1]);
    > *block |= crc_itu_t(0, (u8 *) be32_block, length * 4);
    >
    > + kfree(be32_block);
    > + out:
    > return length;
    > }





    \
     
     \ /
      Last update: 2009-09-07 22:01    [W:0.027 / U:1.664 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site