diff options
Diffstat (limited to 'sys/dev/atkbdc')
-rw-r--r-- | sys/dev/atkbdc/atkbd.c | 15 | ||||
-rw-r--r-- | sys/dev/atkbdc/atkbdc.c | 3 | ||||
-rw-r--r-- | sys/dev/atkbdc/atkbdc_isa.c | 4 | ||||
-rw-r--r-- | sys/dev/atkbdc/atkbdc_subr.c | 4 |
4 files changed, 11 insertions, 15 deletions
diff --git a/sys/dev/atkbdc/atkbd.c b/sys/dev/atkbdc/atkbd.c index de5d17f..b14cfdb 100644 --- a/sys/dev/atkbdc/atkbd.c +++ b/sys/dev/atkbdc/atkbd.c @@ -356,17 +356,14 @@ atkbd_init(int unit, keyboard_t **kbdp, void *arg, int flags) fkeymap_size = sizeof(default_fkeytab)/sizeof(default_fkeytab[0]); } else if (*kbdp == NULL) { - *kbdp = kbd = malloc(sizeof(*kbd), M_DEVBUF, M_NOWAIT); - if (kbd == NULL) - return ENOMEM; - bzero(kbd, sizeof(*kbd)); - state = malloc(sizeof(*state), M_DEVBUF, M_NOWAIT); + *kbdp = kbd = malloc(sizeof(*kbd), M_DEVBUF, M_NOWAIT | M_ZERO); + state = malloc(sizeof(*state), M_DEVBUF, M_NOWAIT | M_ZERO); keymap = malloc(sizeof(key_map), M_DEVBUF, M_NOWAIT); accmap = malloc(sizeof(accent_map), M_DEVBUF, M_NOWAIT); fkeymap = malloc(sizeof(fkey_tab), M_DEVBUF, M_NOWAIT); fkeymap_size = sizeof(fkey_tab)/sizeof(fkey_tab[0]); - if ((state == NULL) || (keymap == NULL) || (accmap == NULL) - || (fkeymap == NULL)) { + if ((kbd == NULL) || (state == NULL) || (keymap == NULL) + || (accmap == NULL) || (fkeymap == NULL)) { if (state != NULL) free(state, M_DEVBUF); if (keymap != NULL) @@ -375,10 +372,10 @@ atkbd_init(int unit, keyboard_t **kbdp, void *arg, int flags) free(accmap, M_DEVBUF); if (fkeymap != NULL) free(fkeymap, M_DEVBUF); - free(kbd, M_DEVBUF); + if (kbd == NULL) + free(kbd, M_DEVBUF); return ENOMEM; } - bzero(state, sizeof(*state)); } else if (KBD_IS_INITIALIZED(*kbdp) && KBD_IS_CONFIGURED(*kbdp)) { return 0; } else { diff --git a/sys/dev/atkbdc/atkbdc.c b/sys/dev/atkbdc/atkbdc.c index 7db3d8d..fdf5bf8 100644 --- a/sys/dev/atkbdc/atkbdc.c +++ b/sys/dev/atkbdc/atkbdc.c @@ -111,10 +111,9 @@ atkbdc_softc_t sc = atkbdc_softc[unit]; if (sc == NULL) { sc = atkbdc_softc[unit] - = malloc(sizeof(*sc), M_DEVBUF, M_NOWAIT); + = malloc(sizeof(*sc), M_DEVBUF, M_NOWAIT | M_ZERO); if (sc == NULL) return NULL; - bzero(sc, sizeof(*sc)); } return sc; } diff --git a/sys/dev/atkbdc/atkbdc_isa.c b/sys/dev/atkbdc/atkbdc_isa.c index e8c3e4c..d99b648 100644 --- a/sys/dev/atkbdc/atkbdc_isa.c +++ b/sys/dev/atkbdc/atkbdc_isa.c @@ -146,10 +146,10 @@ atkbdc_add_device(device_t dev, const char *name, int unit) if (resource_int_value(name, unit, "disabled", &t) == 0 && t != 0) return; - kdev = malloc(sizeof(struct atkbdc_device), M_ATKBDDEV, M_NOWAIT); + kdev = malloc(sizeof(struct atkbdc_device), M_ATKBDDEV, + M_NOWAIT | M_ZERO); if (!kdev) return; - bzero(kdev, sizeof *kdev); if (resource_int_value(name, unit, "irq", &t) == 0) kdev->irq = t; diff --git a/sys/dev/atkbdc/atkbdc_subr.c b/sys/dev/atkbdc/atkbdc_subr.c index e8c3e4c..d99b648 100644 --- a/sys/dev/atkbdc/atkbdc_subr.c +++ b/sys/dev/atkbdc/atkbdc_subr.c @@ -146,10 +146,10 @@ atkbdc_add_device(device_t dev, const char *name, int unit) if (resource_int_value(name, unit, "disabled", &t) == 0 && t != 0) return; - kdev = malloc(sizeof(struct atkbdc_device), M_ATKBDDEV, M_NOWAIT); + kdev = malloc(sizeof(struct atkbdc_device), M_ATKBDDEV, + M_NOWAIT | M_ZERO); if (!kdev) return; - bzero(kdev, sizeof *kdev); if (resource_int_value(name, unit, "irq", &t) == 0) kdev->irq = t; |