diff --git a/sys/dev/sound/pci/hdsp-pcm.c b/sys/dev/sound/pci/hdsp-pcm.c --- a/sys/dev/sound/pci/hdsp-pcm.c +++ b/sys/dev/sound/pci/hdsp-pcm.c @@ -725,7 +725,8 @@ SND_FORMAT(AFMT_S32_LE, hdsp_port_slot_count(ch->ports, 192000), 0); ch->cap_fmts[3] = 0; - ch->caps = malloc(sizeof(struct pcmchan_caps), M_HDSP, M_NOWAIT); + ch->caps = malloc(sizeof(struct pcmchan_caps), M_HDSP, + M_WAITOK | M_ZERO); *(ch->caps) = (struct pcmchan_caps) {32000, 192000, ch->cap_fmts, 0}; /* HDSP 9652 does not support quad speed sample rates. */ @@ -736,7 +737,7 @@ /* Allocate maximum buffer size. */ ch->size = HDSP_CHANBUF_SIZE * hdsp_port_slot_count_max(ch->ports); - ch->data = malloc(ch->size, M_HDSP, M_NOWAIT); + ch->data = malloc(ch->size, M_HDSP, M_WAITOK | M_ZERO); ch->position = 0; ch->buffer = b; diff --git a/sys/dev/sound/pci/hdspe-pcm.c b/sys/dev/sound/pci/hdspe-pcm.c --- a/sys/dev/sound/pci/hdspe-pcm.c +++ b/sys/dev/sound/pci/hdspe-pcm.c @@ -715,12 +715,13 @@ ch->cap_fmts[2] = SND_FORMAT(AFMT_S32_LE, hdspe_channel_count(ch->ports, 8), 0); ch->cap_fmts[3] = 0; - ch->caps = malloc(sizeof(struct pcmchan_caps), M_HDSPE, M_NOWAIT); + ch->caps = malloc(sizeof(struct pcmchan_caps), M_HDSPE, + M_WAITOK | M_ZERO); *(ch->caps) = (struct pcmchan_caps) {32000, 192000, ch->cap_fmts, 0}; /* Allocate maximum buffer size. */ ch->size = HDSPE_CHANBUF_SIZE * hdspe_channel_count(ch->ports, 8); - ch->data = malloc(ch->size, M_HDSPE, M_NOWAIT); + ch->data = malloc(ch->size, M_HDSPE, M_WAITOK | M_ZERO); ch->position = 0; ch->buffer = b;