diff options
Diffstat (limited to 'drivers/staging/echo/fir.h')
-rw-r--r-- | drivers/staging/echo/fir.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/staging/echo/fir.h b/drivers/staging/echo/fir.h index 277d20e43f1..c29e1e245c6 100644 --- a/drivers/staging/echo/fir.h +++ b/drivers/staging/echo/fir.h @@ -117,11 +117,9 @@ static __inline__ const int16_t *fir16_create(fir16_state_t *fir, fir->curr_pos = taps - 1; fir->coeffs = coeffs; #if defined(USE_MMX) || defined(USE_SSE2) || defined(__bfin__) - if ((fir->history = malloc(2*taps*sizeof(int16_t)))) - memset(fir->history, 0, 2*taps*sizeof(int16_t)); + fir->history = kcalloc(2*taps, sizeof(int16_t), GFP_KERNEL); #else - if ((fir->history = (int16_t *) malloc(taps*sizeof(int16_t)))) - memset(fir->history, 0, taps*sizeof(int16_t)); + fir->history = kcalloc(taps, sizeof(int16_t), GFP_KERNEL); #endif return fir->history; } @@ -139,7 +137,7 @@ static __inline__ void fir16_flush(fir16_state_t *fir) static __inline__ void fir16_free(fir16_state_t *fir) { - free(fir->history); + kfree(fir->history); } /*- End of function --------------------------------------------------------*/ @@ -275,9 +273,7 @@ static __inline__ const int16_t *fir32_create(fir32_state_t *fir, fir->taps = taps; fir->curr_pos = taps - 1; fir->coeffs = coeffs; - fir->history = (int16_t *) malloc(taps*sizeof(int16_t)); - if (fir->history) - memset(fir->history, '\0', taps*sizeof(int16_t)); + fir->history = kcalloc(taps, sizeof(int16_t), GFP_KERNEL); return fir->history; } /*- End of function --------------------------------------------------------*/ @@ -290,7 +286,7 @@ static __inline__ void fir32_flush(fir32_state_t *fir) static __inline__ void fir32_free(fir32_state_t *fir) { - free(fir->history); + kfree(fir->history); } /*- End of function --------------------------------------------------------*/ |