linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / s390 / net / fsm.c
index 2c1db80..6caf5fa 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include "fsm.h"
+#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/timer.h>
 
@@ -20,34 +21,38 @@ init_fsm(char *name, const char **state_names, const char **event_names, int nr_
        fsm_function_t *m;
        fsm *f;
 
-       this = kzalloc(sizeof(fsm_instance), order);
+       this = (fsm_instance *)kmalloc(sizeof(fsm_instance), order);
        if (this == NULL) {
                printk(KERN_WARNING
                        "fsm(%s): init_fsm: Couldn't alloc instance\n", name);
                return NULL;
        }
+       memset(this, 0, sizeof(fsm_instance));
        strlcpy(this->name, name, sizeof(this->name));
 
-       f = kzalloc(sizeof(fsm), order);
+       f = (fsm *)kmalloc(sizeof(fsm), order);
        if (f == NULL) {
                printk(KERN_WARNING
                        "fsm(%s): init_fsm: Couldn't alloc fsm\n", name);
                kfree_fsm(this);
                return NULL;
        }
+       memset(f, 0, sizeof(fsm));
        f->nr_events = nr_events;
        f->nr_states = nr_states;
        f->event_names = event_names;
        f->state_names = state_names;
        this->f = f;
 
-       m = kcalloc(nr_states*nr_events, sizeof(fsm_function_t), order);
+       m = (fsm_function_t *)kmalloc(
+                       sizeof(fsm_function_t) * nr_states * nr_events, order);
        if (m == NULL) {
                printk(KERN_WARNING
                        "fsm(%s): init_fsm: Couldn't alloc jumptable\n", name);
                kfree_fsm(this);
                return NULL;
        }
+       memset(m, 0, sizeof(fsm_function_t) * f->nr_states * f->nr_events);
        f->jumpmatrix = m;
 
        for (i = 0; i < tmpl_len; i++) {