[ARM] uengine: fix memset size error
authorLi Zefan <lizf@cn.fujitsu.com>
Wed, 21 Nov 2007 22:51:50 +0000 (14:51 -0800)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 26 Nov 2007 19:43:40 +0000 (19:43 +0000)
The size passing to memset is wrong.  And here we can replace kmalloc with
kzalloc.

Signed-off-by Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/common/uengine.c

index 95c8508..117cab3 100644 (file)
@@ -374,8 +374,8 @@ static int set_initial_registers(int uengine, struct ixp2000_uengine_code *c)
        u8 *ucode;
        int i;
 
-       gpr_a = kmalloc(128 * sizeof(u32), GFP_KERNEL);
-       gpr_b = kmalloc(128 * sizeof(u32), GFP_KERNEL);
+       gpr_a = kzalloc(128 * sizeof(u32), GFP_KERNEL);
+       gpr_b = kzalloc(128 * sizeof(u32), GFP_KERNEL);
        ucode = kmalloc(513 * 5, GFP_KERNEL);
        if (gpr_a == NULL || gpr_b == NULL || ucode == NULL) {
                kfree(ucode);
@@ -388,8 +388,6 @@ static int set_initial_registers(int uengine, struct ixp2000_uengine_code *c)
        if (c->uengine_parameters & IXP2000_UENGINE_4_CONTEXTS)
                per_ctx_regs = 32;
 
-       memset(gpr_a, 0, sizeof(gpr_a));
-       memset(gpr_b, 0, sizeof(gpr_b));
        for (i = 0; i < 256; i++) {
                struct ixp2000_reg_value *r = c->initial_reg_values + i;
                u32 *bank;