kernel - More sound kmalloc adjustments.
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 29 Jan 2011 18:05:31 +0000 (10:05 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 29 Jan 2011 18:06:38 +0000 (10:06 -0800)
* All remaining kmalloc()'s switched to M_WAITOK.  None of these should be
  using M_NOWAIT.

32 files changed:
sys/dev/sound/isa/ad1816.c
sys/dev/sound/isa/ess.c
sys/dev/sound/isa/gusc.c
sys/dev/sound/isa/mss.c
sys/dev/sound/isa/sb16.c
sys/dev/sound/isa/sb8.c
sys/dev/sound/isa/sbc.c
sys/dev/sound/pci/als4000.c
sys/dev/sound/pci/atiixp.c
sys/dev/sound/pci/au88x0.c
sys/dev/sound/pci/aureal.c
sys/dev/sound/pci/cmi.c
sys/dev/sound/pci/cs4281.c
sys/dev/sound/pci/csa.c
sys/dev/sound/pci/csapcm.c
sys/dev/sound/pci/emu10k1.c
sys/dev/sound/pci/envy24.c
sys/dev/sound/pci/envy24ht.c
sys/dev/sound/pci/es137x.c
sys/dev/sound/pci/fm801.c
sys/dev/sound/pci/hda/hdac.c
sys/dev/sound/pci/maestro.c
sys/dev/sound/pci/maestro3.c
sys/dev/sound/pci/neomagic.c
sys/dev/sound/pci/solo.c
sys/dev/sound/pci/spicds.c
sys/dev/sound/pci/t4dwave.c
sys/dev/sound/pci/via8233.c
sys/dev/sound/pci/via82c686.c
sys/dev/sound/pci/vibes.c
sys/dev/sound/usb/uaudio.c
sys/dev/sound/usb/uaudio_pcm.c

index 485c1df..ba10474 100644 (file)
@@ -601,9 +601,7 @@ ad1816_attach(device_t dev)
        struct ad1816_info *ad1816;
        char status[SND_STATUSLEN], status2[SND_STATUSLEN];
 
-       ad1816 = (struct ad1816_info *)kmalloc(sizeof *ad1816, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (!ad1816) return ENXIO;
-
+       ad1816 = kmalloc(sizeof *ad1816, M_DEVBUF, M_WAITOK | M_ZERO);
        ad1816->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc");
        ad1816->io_rid = 2;
        ad1816->irq_rid = 0;
index f0a2fe5..20f484b 100644 (file)
@@ -811,10 +811,7 @@ ess_attach(device_t dev)
        char status[SND_STATUSLEN], buf[64];
        int ver;
 
-       sc = (struct ess_info *)kmalloc(sizeof *sc, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (!sc)
-               return ENXIO;
-
+       sc = kmalloc(sizeof *sc, M_DEVBUF, M_WAITOK | M_ZERO);
        sc->parent_dev = device_get_parent(dev);
        sc->bufsize = pcm_getbuffersize(dev, 4096, ESS_BUFFSIZE, 65536);
        if (ess_alloc_resources(sc, dev))
index b8f121f..1cf5855 100644 (file)
@@ -122,27 +122,24 @@ gusc_probe(device_t dev)
        switch (logical_id) {
        case LOGICALID_PCM:
                s = "Gravis UltraSound Plug & Play PCM";
-               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-               if (func == NULL)
-                       return (ENOMEM);
+               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                               M_WAITOK | M_ZERO);
                func->func = SCF_PCM;
                child = device_add_child(dev, "pcm", -1);
                device_set_ivars(child, func);
                break;
        case LOGICALID_OPL:
                s = "Gravis UltraSound Plug & Play OPL";
-               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-               if (func == NULL)
-                       return (ENOMEM);
+               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                               M_WAITOK | M_ZERO);
                func->func = SCF_SYNTH;
                child = device_add_child(dev, "midi", -1);
                device_set_ivars(child, func);
                break;
        case LOGICALID_MIDI:
                s = "Gravis UltraSound Plug & Play MIDI";
-               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-               if (func == NULL)
-                       return (ENOMEM);
+               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                               M_WAITOK | M_ZERO);
                func->func = SCF_MIDI;
                child = device_add_child(dev, "midi", -1);
                device_set_ivars(child, func);
@@ -268,17 +265,15 @@ gusisa_probe(device_t dev)
 
                /* We can support the CS4231 and MIDI devices.  */
 
-               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-               if (func == NULL)
-                       return ENOMEM;
+               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                               M_WAITOK | M_ZERO);
                func->func = SCF_MIDI;
                child = device_add_child(dev, "midi", -1);
                device_set_ivars(child, func);
 
-               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-               if (func == NULL)
-                       kprintf("xxx: gus pcm not attached, out of memory\n");
-               else {
+               func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                               M_WAITOK | M_ZERO);
+               {
                        func->func = SCF_PCM;
                        child = device_add_child(dev, "pcm", -1);
                        device_set_ivars(child, func);
index 28c6b14..51555d9 100644 (file)
@@ -1276,9 +1276,7 @@ mss_probe(device_t dev)
 
        if (isa_get_logicalid(dev)) return ENXIO; /* not yet */
 
-       mss = (struct mss_info *)kmalloc(sizeof *mss, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (!mss) return ENXIO;
-
+       mss = kmalloc(sizeof *mss, M_DEVBUF, M_WAITOK | M_ZERO);
        mss->io_rid = 0;
        mss->conf_rid = -1;
        mss->irq_rid = 0;
@@ -1776,9 +1774,7 @@ mss_attach(device_t dev)
        struct mss_info *mss;
        int flags = device_get_flags(dev);
 
-       mss = (struct mss_info *)kmalloc(sizeof *mss, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (!mss) return ENXIO;
-
+       mss = kmalloc(sizeof *mss, M_DEVBUF, M_WAITOK | M_ZERO);
        mss->io_rid = 0;
        mss->conf_rid = -1;
        mss->irq_rid = 0;
@@ -1957,10 +1953,7 @@ pnpmss_attach(device_t dev)
 {
        struct mss_info *mss;
 
-       mss = (struct mss_info *)kmalloc(sizeof *mss, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (!mss)
-           return ENXIO;
-
+       mss = kmalloc(sizeof *mss, M_DEVBUF, M_WAITOK | M_ZERO);
        mss->io_rid = 0;
        mss->conf_rid = -1;
        mss->irq_rid = 0;
@@ -2227,10 +2220,7 @@ guspcm_attach(device_t dev)
        int base, flags;
        unsigned char ctl;
 
-       mss = (struct mss_info *)kmalloc(sizeof *mss, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (mss == NULL)
-               return ENOMEM;
-
+       mss = kmalloc(sizeof *mss, M_DEVBUF, M_WAITOK | M_ZERO);
        mss->bd_flags = BD_F_MSS_OFFSET;
        mss->io_rid = 2;
        mss->conf_rid = 1;
index 1858a7e..61c62ce 100644 (file)
@@ -816,10 +816,7 @@ sb16_attach(device_t dev)
        uintptr_t ver;
        char status[SND_STATUSLEN], status2[SND_STATUSLEN];
 
-       sb = (struct sb_info *)kmalloc(sizeof *sb, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (!sb)
-               return ENXIO;
-
+       sb = kmalloc(sizeof *sb, M_DEVBUF, M_WAITOK | M_ZERO);
        sb->parent_dev = device_get_parent(dev);
        BUS_READ_IVAR(sb->parent_dev, dev, 1, &ver);
        sb->bd_id = ver & 0x0000ffff;
index ff319f9..4956ab9 100644 (file)
@@ -717,10 +717,7 @@ sb_attach(device_t dev)
        char status[SND_STATUSLEN];
        uintptr_t ver;
 
-       sb = (struct sb_info *)kmalloc(sizeof *sb, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (!sb)
-               return ENXIO;
-
+       sb = kmalloc(sizeof *sb, M_DEVBUF, M_WAITOK | M_ZERO);
        sb->parent_dev = device_get_parent(dev);
        BUS_READ_IVAR(device_get_parent(dev), dev, 1, &ver);
        sb->bd_id = ver & 0x0000ffff;
index e834a65..7ddc5ae 100644 (file)
@@ -405,22 +405,22 @@ sbc_attach(device_t dev)
        }
 
        /* PCM Audio */
-       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (func == NULL) goto bad;
+       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                       M_WAITOK | M_ZERO);
        func->func = SCF_PCM;
        scp->child_pcm = device_add_child(dev, "pcm", -1);
        device_set_ivars(scp->child_pcm, func);
 
        /* Midi Interface */
-       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (func == NULL) goto bad;
+       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                       M_WAITOK | M_ZERO);
        func->func = SCF_MIDI;
        scp->child_midi1 = device_add_child(dev, "midi", -1);
        device_set_ivars(scp->child_midi1, func);
 
        /* OPL FM Synthesizer */
-       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (func == NULL) goto bad;
+       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                       M_WAITOK | M_ZERO);
        func->func = SCF_SYNTH;
        scp->child_midi2 = device_add_child(dev, "midi", -1);
        device_set_ivars(scp->child_midi2, func);
index dfb8ec0..8073b4c 100644 (file)
@@ -798,11 +798,7 @@ als_pci_attach(device_t dev)
        u_int32_t data;
        char status[SND_STATUSLEN];
 
-       if ((sc = kmalloc(sizeof(*sc), M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       sc = kmalloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO);
        sc->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc");
        sc->dev = dev;
 
index bf070a7..a9eeadf 100644 (file)
@@ -899,11 +899,7 @@ atiixp_pci_attach(device_t dev)
        struct atiixp_info *sc;
        int i;
 
-       if ((sc = kmalloc(sizeof(*sc), M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       sc = kmalloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO);
        sc->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc");
        sc->dev = dev;
        /*
index 2ca4ce8..e3c23d8 100644 (file)
@@ -573,10 +573,7 @@ au88x0_pci_attach(device_t dev)
        uint32_t config;
        int error;
 
-       if ((aui = kmalloc(sizeof *aui, M_DEVBUF, M_NOWAIT|M_ZERO)) == NULL) {
-               device_printf(dev, "failed to allocate softc\n");
-               return (ENXIO);
-       }
+       aui = kmalloc(sizeof *aui, M_DEVBUF, M_WAITOK | M_ZERO);
        aui->aui_dev = dev;
 
        /* Model-specific parameters */
index c836324..88b2b26 100644 (file)
@@ -561,11 +561,7 @@ au_pci_attach(device_t dev)
        struct ac97_info *codec;
        char            status[SND_STATUSLEN];
 
-       if ((au = kmalloc(sizeof(*au), M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       au = kmalloc(sizeof(*au), M_DEVBUF, M_WAITOK | M_ZERO);
        au->unit = device_get_unit(dev);
 
        data = pci_read_config(dev, PCIR_COMMAND, 2);
index e5cff80..a795c71 100644 (file)
@@ -834,12 +834,7 @@ cmi_attach(device_t dev)
        u_int32_t               data;
        char                    status[SND_STATUSLEN];
 
-       sc = kmalloc(sizeof(struct sc_info), M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (sc == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       sc = kmalloc(sizeof(struct sc_info), M_DEVBUF, M_WAITOK | M_ZERO);
        sc->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc");
        data = pci_read_config(dev, PCIR_COMMAND, 2);
        data |= (PCIM_CMD_PORTEN|PCIM_CMD_BUSMASTEREN);
index 550d1e3..cef8d7d 100644 (file)
@@ -753,11 +753,7 @@ cs4281_pci_attach(device_t dev)
     u_int32_t data;
     char status[SND_STATUSLEN];
 
-    if ((sc = kmalloc(sizeof(*sc), M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-       device_printf(dev, "cannot allocate softc\n");
-       return ENXIO;
-    }
-
+    sc = kmalloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO);
     sc->dev = dev;
     sc->type = pci_get_devid(dev);
 
index c670c0b..c3c6719 100644 (file)
@@ -297,22 +297,16 @@ csa_attach(device_t dev)
        /* Attach the children. */
 
        /* PCM Audio */
-       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (func == NULL) {
-               error = ENOMEM;
-               goto err_teardown;
-       }
+       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                       M_WAITOK | M_ZERO);
        func->varinfo = &scp->binfo;
        func->func = SCF_PCM;
        scp->pcm = device_add_child(dev, "pcm", -1);
        device_set_ivars(scp->pcm, func);
 
        /* Midi Interface */
-       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (func == NULL) {
-               error = ENOMEM;
-               goto err_teardown;
-       }
+       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF,
+                       M_WAITOK | M_ZERO);
        func->varinfo = &scp->binfo;
        func->func = SCF_MIDI;
        scp->midi = device_add_child(dev, "midi", -1);
index 7441848..7571064 100644 (file)
@@ -778,9 +778,7 @@ pcmcsa_attach(device_t dev)
        struct ac97_info *codec;
        struct sndcard_func *func;
 
-       csa = kmalloc(sizeof(*csa), M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (csa == NULL)
-               return (ENOMEM);
+       csa = kmalloc(sizeof(*csa), M_DEVBUF, M_WAITOK | M_ZERO);
        unit = device_get_unit(dev);
        func = device_get_ivars(dev);
        csa->binfo = func->varinfo;
index b90af92..c1ac732 100644 (file)
@@ -1205,9 +1205,7 @@ emu_memalloc(struct sc_info *sc, u_int32_t sz, bus_addr_t *addr)
        }
        if (!found)
                return NULL;
-       blk = kmalloc(sizeof(*blk), M_DEVBUF, M_NOWAIT);
-       if (blk == NULL)
-               return NULL;
+       blk = kmalloc(sizeof(*blk), M_DEVBUF, M_WAITOK);
        buf = emu_malloc(sc, sz, &blk->buf_addr);
        *addr = blk->buf_addr;
        if (buf == NULL) {
index 28821ed..6193db0 100644 (file)
@@ -545,13 +545,7 @@ envy24_rom2cfg(struct sc_info *sc)
 #endif
                return NULL;
        }
-       buff = kmalloc(sizeof(*buff), M_ENVY24, M_NOWAIT);
-       if (buff == NULL) {
-#if(0)
-               device_printf(sc->dev, "envy24_rom2cfg(): malloc()\n");
-#endif
-               return NULL;
-       }
+       buff = kmalloc(sizeof(*buff), M_ENVY24, M_WAITOK);
        buff->free = 1;
 
        buff->subvendor = envy24_rdrom(sc, ENVY24_E2PROM_SUBVENDOR) << 8;
@@ -889,9 +883,7 @@ envy24_delta_ak4524_create(device_t dev, void *info, int dir, int num)
        device_printf(sc->dev, "envy24_delta_ak4524_create(dev, sc, %d, %d)\n", dir, num);
 #endif
        
-       buff = kmalloc(sizeof(*buff), M_ENVY24, M_NOWAIT);
-       if (buff == NULL)
-               return NULL;
+       buff = kmalloc(sizeof(*buff), M_ENVY24, M_WAITOK);
 
        if (dir == PCMDIR_REC && sc->adc[num] != NULL)
                buff->info = ((struct envy24_delta_ak4524_codec *)sc->adc[num])->info;
@@ -1541,12 +1533,8 @@ envy24chan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channe
 
        ch = &sc->chan[num];
        ch->size = 8 * ENVY24_SAMPLE_NUM;
-       ch->data = kmalloc(ch->size, M_ENVY24, M_NOWAIT);
-       if (ch->data == NULL) {
-               ch->size = 0;
-               ch = NULL;
-       }
-       else {
+       ch->data = kmalloc(ch->size, M_ENVY24, M_WAITOK);
+       {
                ch->buffer = b;
                ch->channel = c;
                ch->parent = sc;
@@ -2505,11 +2493,7 @@ envy24_pci_attach(device_t dev)
        device_printf(dev, "envy24_pci_attach()\n");
 #endif
        /* get sc_info data area */
-       if ((sc = kmalloc(sizeof(*sc), M_ENVY24, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       sc = kmalloc(sizeof(*sc), M_ENVY24, M_WAITOK | M_ZERO);
        sc->lock = snd_mtxcreate(device_get_nameunit(dev), "snd_envy24 softc");
        sc->dev = dev;
 
index df584da..ce7e472 100644 (file)
@@ -616,13 +616,7 @@ envy24ht_rom2cfg(struct sc_info *sc)
 #if(0)
                device_printf(sc->dev, "envy24ht_rom2cfg(): ENVY24HT_E2PROM_SIZE-->%d\n", size);
 #endif
-        buff = kmalloc(sizeof(*buff), M_ENVY24HT, M_NOWAIT);
-        if (buff == NULL) {
-#if(0)
-                device_printf(sc->dev, "envy24ht_rom2cfg(): kmalloc()\n");
-#endif
-                return NULL;
-        }
+        buff = kmalloc(sizeof(*buff), M_ENVY24HT, M_WAITOK);
         buff->free = 1;
 
        /* no valid e2prom, using default values */
@@ -656,13 +650,7 @@ i++)
                return NULL;
 #endif
        }
-       buff = kmalloc(sizeof(*buff), M_ENVY24HT, M_NOWAIT);
-       if (buff == NULL) {
-#if(0)
-               device_printf(sc->dev, "envy24ht_rom2cfg(): kmalloc()\n");
-#endif
-               return NULL;
-       }
+       buff = kmalloc(sizeof(*buff), M_ENVY24HT, M_WAITOK);
        buff->free = 1;
 
        buff->subvendor = envy24ht_rdrom(sc, ENVY24HT_E2PROM_SUBVENDOR) << 8;
@@ -910,9 +898,7 @@ envy24ht_spi_create(device_t dev, void *info, int dir, int num)
        device_printf(sc->dev, "envy24ht_spi_create(dev, sc, %d, %d)\n", dir, num);
 #endif
        
-       buff = kmalloc(sizeof(*buff), M_ENVY24HT, M_NOWAIT);
-       if (buff == NULL)
-               return NULL;
+       buff = kmalloc(sizeof(*buff), M_ENVY24HT, M_WAITOK);
 
        if (dir == PCMDIR_REC && sc->adc[num] != NULL)
                buff->info = ((struct envy24ht_spi_codec *)sc->adc[num])->info;
@@ -1488,12 +1474,8 @@ envy24htchan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_chan
 
        ch = &sc->chan[num];
        ch->size = 8 * ENVY24HT_SAMPLE_NUM;
-       ch->data = kmalloc(ch->size, M_ENVY24HT, M_NOWAIT);
-       if (ch->data == NULL) {
-               ch->size = 0;
-               ch = NULL;
-       }
-       else {
+       ch->data = kmalloc(ch->size, M_ENVY24HT, M_WAITOK);
+       {
                ch->buffer = b;
                ch->channel = c;
                ch->parent = sc;
@@ -2461,13 +2443,9 @@ envy24ht_pci_attach(device_t dev)
        device_printf(dev, "envy24ht_pci_attach()\n");
 #endif
        /* get sc_info data area */
-       if ((sc = kmalloc(sizeof(*sc), M_ENVY24HT, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       sc = kmalloc(sizeof(*sc), M_ENVY24HT, M_WAITOK | M_ZERO);
        sc->lock = snd_mtxcreate(device_get_nameunit(dev),
-           "snd_envy24ht softc");
+                                "snd_envy24ht softc");
        sc->dev = dev;
 
        /* initialize PCI interface */
index e5f4908..b604701 100644 (file)
@@ -1426,10 +1426,7 @@ es_pci_attach(device_t dev)
        kobj_class_t    ct = NULL;
        uint32_t devid;
 
-       if ((es = kmalloc(sizeof *es, M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
+       es = kmalloc(sizeof *es, M_DEVBUF, M_WAITOK | M_ZERO);
        es->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc");
        es->dev = dev;
        es->escfg = 0;
index a4e9800..6f322c0 100644 (file)
@@ -578,11 +578,7 @@ fm801_pci_attach(device_t dev)
        int                     mapped = 0;
        char                    status[SND_STATUSLEN];
 
-       if ((fm801 = (struct fm801_info *)kmalloc(sizeof(*fm801), M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       fm801 = kmalloc(sizeof(*fm801), M_DEVBUF, M_WAITOK | M_ZERO);
        fm801->type = pci_get_devid(dev);
 
        data = pci_read_config(dev, PCIR_COMMAND, 2);
index 1f9dbf9..ae48ca5 100644 (file)
@@ -1792,13 +1792,8 @@ hdac_scan_codecs(struct hdac_softc *sc, int num)
        for (i = num; i < HDAC_CODEC_MAX; i++) {
                if (HDAC_STATESTS_SDIWAKE(statests, i)) {
                        /* We have found a codec. */
-                       codec = (struct hdac_codec *)kmalloc(sizeof(*codec),
-                           M_HDAC, M_ZERO | M_NOWAIT);
-                       if (codec == NULL) {
-                               device_printf(sc->dev,
-                                   "Unable to allocate memory for codec\n");
-                               continue;
-                       }
+                       codec = kmalloc(sizeof(*codec), M_HDAC,
+                                       M_ZERO | M_WAITOK);
                        codec->commands = NULL;
                        codec->responses_received = 0;
                        codec->verbs_sent = 0;
@@ -1891,14 +1886,7 @@ hdac_probe_function(struct hdac_codec *codec, nid_t nid)
        if (fctgrptype != HDA_PARAM_FCT_GRP_TYPE_NODE_TYPE_AUDIO)
                return (NULL);
 
-       devinfo = (struct hdac_devinfo *)kmalloc(sizeof(*devinfo), M_HDAC,
-           M_NOWAIT | M_ZERO);
-       if (devinfo == NULL) {
-               device_printf(sc->dev, "%s: Unable to allocate ivar\n",
-                   __func__);
-               return (NULL);
-       }
-
+       devinfo = kmalloc(sizeof(*devinfo), M_HDAC, M_WAITOK | M_ZERO);
        devinfo->nid = nid;
        devinfo->node_type = fctgrptype;
        devinfo->codec = codec;
@@ -4015,9 +4003,9 @@ hdac_audio_parse(struct hdac_devinfo *devinfo)
        devinfo->function.audio.inamp_cap = res;
 
        if (devinfo->nodecnt > 0)
-               devinfo->widget = (struct hdac_widget *)kmalloc(
-                   sizeof(*(devinfo->widget)) * devinfo->nodecnt, M_HDAC,
-                   M_NOWAIT | M_ZERO);
+               devinfo->widget = kmalloc(
+                   sizeof(*(devinfo->widget)) * devinfo->nodecnt,
+                   M_HDAC, M_WAITOK | M_ZERO);
        else
                devinfo->widget = NULL;
 
@@ -4086,16 +4074,7 @@ hdac_audio_ctl_parse(struct hdac_devinfo *devinfo)
        if (max < 1)
                return;
 
-       ctls = (struct hdac_audio_ctl *)kmalloc(
-           sizeof(*ctls) * max, M_HDAC, M_ZERO | M_NOWAIT);
-
-       if (ctls == NULL) {
-               /* Blekh! */
-               device_printf(sc->dev, "unable to allocate ctls!\n");
-               devinfo->function.audio.ctlcnt = 0;
-               return;
-       }
-
+       ctls = kmalloc(sizeof(*ctls) * max, M_HDAC, M_ZERO | M_WAITOK);
        cnt = 0;
        for (i = devinfo->startnode; cnt < max && i < devinfo->endnode; i++) {
                if (cnt >= max) {
index a2dccc4..136213a 100644 (file)
@@ -1772,11 +1772,7 @@ agg_attach(device_t dev)
        char    status[SND_STATUSLEN];
        int     ret = 0;
 
-       if ((ess = kmalloc(sizeof *ess, M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               ret = ENOMEM;
-               goto bad;
-       }
+       ess = kmalloc(sizeof *ess, M_DEVBUF, M_WAITOK | M_ZERO);
        ess->dev = dev;
 
 #ifdef USING_MUTEX
index 4954505..214acd5 100644 (file)
@@ -1259,11 +1259,7 @@ m3_pci_attach(device_t dev)
 
        M3_DEBUG(CALL, ("m3_pci_attach\n"));
 
-       if ((sc = kmalloc(sizeof(*sc), M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       sc = kmalloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO);
        sc->dev = dev;
        sc->type = pci_get_devid(dev);
        sc->sc_lock = snd_mtxcreate(device_get_nameunit(dev),
@@ -1399,11 +1395,7 @@ m3_pci_attach(device_t dev)
        /* Create the buffer for saving the card state during suspend */
        len = sizeof(u_int16_t) * (REV_B_CODE_MEMORY_LENGTH +
            REV_B_DATA_MEMORY_LENGTH);
-       sc->savemem = (u_int16_t*)kmalloc(len, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (sc->savemem == NULL) {
-               device_printf(dev, "Failed to create suspend buffer\n");
-               goto bad;
-       }
+       sc->savemem = kmalloc(len, M_DEVBUF, M_WAITOK | M_ZERO);
 
        return 0;
 
index f61478e..a0c3d27 100644 (file)
@@ -610,11 +610,7 @@ nm_pci_probe(device_t dev)
                /* Try to catch other non-ac97 cards */
 
                if (i == NUM_BADCARDS) {
-                       if (!(sc = kmalloc(sizeof(*sc), M_DEVBUF, M_NOWAIT | M_ZERO))) {
-                               device_printf(dev, "cannot allocate softc\n");
-                               return ENXIO;
-                       }
-
+                       sc = kmalloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO);
                        data = pci_read_config(dev, PCIR_COMMAND, 2);
                        pci_write_config(dev, PCIR_COMMAND, data |
                                         PCIM_CMD_PORTEN | PCIM_CMD_MEMEN |
@@ -674,11 +670,7 @@ nm_pci_attach(device_t dev)
        struct ac97_info *codec = 0;
        char            status[SND_STATUSLEN];
 
-       if ((sc = kmalloc(sizeof(*sc), M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       sc = kmalloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO);
        sc->dev = dev;
        sc->type = pci_get_devid(dev);
 
index 9e46348..2aecb2f 100644 (file)
@@ -987,10 +987,7 @@ ess_attach(device_t dev)
        u_int16_t ddma;
        u_int32_t data;
 
-       sc = (struct ess_info *)kmalloc(sizeof *sc, M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (!sc)
-               return ENXIO;
-
+       sc = kmalloc(sizeof *sc, M_DEVBUF, M_WAITOK | M_ZERO);
        data = pci_read_config(dev, PCIR_COMMAND, 2);
        data |= PCIM_CMD_PORTEN | PCIM_CMD_BUSMASTEREN;
        pci_write_config(dev, PCIR_COMMAND, data, 2);
index 14264f7..a8b881e 100644 (file)
@@ -141,9 +141,7 @@ spicds_create(device_t dev, void *devinfo, int num, spicds_ctrl ctrl)
 #if(0)
        device_printf(dev, "spicds_create(dev, devinfo, %d, ctrl)\n", num);
 #endif
-       codec = (struct spicds_info *)kmalloc(sizeof *codec, M_SPICDS, M_NOWAIT);
-       if (codec == NULL)
-               return NULL;
+       codec = kmalloc(sizeof *codec, M_SPICDS, M_WAITOK);
 
        ksnprintf(codec->name, SPICDS_NAMELEN, "%s:spicds%d", device_get_nameunit(dev), num);
        codec->lock = snd_mtxcreate(codec->name, codec->name);
index f830eaf..6ef38b6 100644 (file)
@@ -817,11 +817,7 @@ tr_pci_attach(device_t dev)
        int             i, dacn;
        char            status[SND_STATUSLEN];
 
-       if ((tr = kmalloc(sizeof(*tr), M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
-
+       tr = kmalloc(sizeof(*tr), M_DEVBUF, M_WAITOK | M_ZERO);
        tr->type = pci_get_devid(dev);
        tr->rev = pci_get_revid(dev);
        tr->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc");
index e6e137d..199abf4 100644 (file)
@@ -875,10 +875,7 @@ via_attach(device_t dev)
        int i, via_dxs_disabled, via_dxs_src, via_dxs_chnum, via_sgd_chnum;
        uint32_t revid;
 
-       if ((via = kmalloc(sizeof *via, M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
+       via = kmalloc(sizeof *via, M_DEVBUF, M_WAITOK | M_ZERO);
        via->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc");
 
        pci_set_powerstate(dev, PCI_POWERSTATE_D0);
index c0dd482..8bdb38d 100644 (file)
@@ -480,10 +480,7 @@ via_attach(device_t dev)
        char status[SND_STATUSLEN];
        u_int32_t data, cnt;
 
-       if ((via = kmalloc(sizeof *via, M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
-               device_printf(dev, "cannot allocate softc\n");
-               return ENXIO;
-       }
+       via = kmalloc(sizeof *via, M_DEVBUF, M_WAITOK | M_ZERO);
        via->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc");
 
        /* Get resources */
index 62b8e85..0053ca9 100644 (file)
@@ -720,11 +720,7 @@ sv_attach(device_t dev) {
        char            status[SND_STATUSLEN];
        u_long          midi_start, games_start, count, sdmaa, sdmac, ml, mu;
 
-       sc = kmalloc(sizeof(struct sc_info), M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (sc == NULL) {
-               device_printf(dev, "cannot allocate softc");
-               return ENXIO;
-       }
+       sc = kmalloc(sizeof(struct sc_info), M_DEVBUF, M_WAITOK | M_ZERO);
        sc->dev = dev;
 
        data = pci_read_config(dev, PCIR_COMMAND, 2);
index 30cc2bb..f9b82d5 100644 (file)
@@ -509,11 +509,8 @@ uaudio_mixer_add_ctl(struct uaudio_softc *sc, struct mixerctl *mc)
        }
 
        len = sizeof(*mc) * (sc->sc_nctls + 1);
-       nmc = kmalloc(len, M_USBDEV, M_NOWAIT);
-       if (nmc == NULL) {
-               kprintf("uaudio_mixer_add_ctl: no memory\n");
-               return;
-       }
+       nmc = kmalloc(len, M_USBDEV, M_WAITOK);
+
        /* Copy old data, if there was any */
        if (sc->sc_nctls != 0) {
                memcpy(nmc, sc->sc_ctls, sizeof(*mc) * (sc->sc_nctls));
@@ -1205,11 +1202,7 @@ uaudio_merge_terminal_list(const struct io_terminal *iot)
                if (iot->inputs[i] != NULL)
                        len += iot->inputs[i]->size;
        }
-       tml = kmalloc(TERMINAL_LIST_SIZE(len), M_TEMP, M_NOWAIT);
-       if (tml == NULL) {
-               kprintf("uaudio_merge_terminal_list: no memory\n");
-               return NULL;
-       }
+       tml = kmalloc(TERMINAL_LIST_SIZE(len), M_TEMP, M_WAITOK);
        tml->size = 0;
        ptm = tml->terminals;
        for (i = 0; i < iot->inputs_size; i++) {
@@ -1240,11 +1233,7 @@ uaudio_io_terminaltype(int outtype, struct io_terminal *iot, int id)
                        if (it->output->terminals[i] == outtype)
                                return uaudio_merge_terminal_list(it);
                tml = kmalloc(TERMINAL_LIST_SIZE(it->output->size + 1),
-                            M_TEMP, M_NOWAIT);
-               if (tml == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       return uaudio_merge_terminal_list(it);
-               }
+                            M_TEMP, M_WAITOK);
                memcpy(tml, it->output, TERMINAL_LIST_SIZE(it->output->size));
                tml->terminals[it->output->size] = outtype;
                tml->size++;
@@ -1261,11 +1250,7 @@ uaudio_io_terminaltype(int outtype, struct io_terminal *iot, int id)
        } else {                /* end `iot[id] != NULL' */
                it->inputs_size = 0;
                it->inputs = NULL;
-               it->output = kmalloc(TERMINAL_LIST_SIZE(1), M_TEMP, M_NOWAIT);
-               if (it->output == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       return NULL;
-               }
+               it->output = kmalloc(TERMINAL_LIST_SIZE(1), M_TEMP, M_WAITOK);
                it->output->terminals[0] = outtype;
                it->output->size = 1;
                it->direct = FALSE;
@@ -1273,18 +1258,9 @@ uaudio_io_terminaltype(int outtype, struct io_terminal *iot, int id)
 
        switch (it->d.desc->bDescriptorSubtype) {
        case UDESCSUB_AC_INPUT:
-               it->inputs = kmalloc(sizeof(struct terminal_list *), M_TEMP, M_NOWAIT);
-               if (it->inputs == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       return NULL;
-               }
-               tml = kmalloc(TERMINAL_LIST_SIZE(1), M_TEMP, M_NOWAIT);
-               if (tml == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       kfree(it->inputs, M_TEMP);
-                       it->inputs = NULL;
-                       return NULL;
-               }
+               it->inputs = kmalloc(sizeof(struct terminal_list *),
+                                    M_TEMP, M_WAITOK);
+               tml = kmalloc(TERMINAL_LIST_SIZE(1), M_TEMP, M_WAITOK);
                it->inputs[0] = tml;
                tml->terminals[0] = UGETW(it->d.it->wTerminalType);
                tml->size = 1;
@@ -1292,20 +1268,14 @@ uaudio_io_terminaltype(int outtype, struct io_terminal *iot, int id)
                return uaudio_merge_terminal_list(it);
        case UDESCSUB_AC_FEATURE:
                src_id = it->d.fu->bSourceId;
-               it->inputs = kmalloc(sizeof(struct terminal_list *), M_TEMP, M_NOWAIT);
-               if (it->inputs == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       return uaudio_io_terminaltype(outtype, iot, src_id);
-               }
+               it->inputs = kmalloc(sizeof(struct terminal_list *),
+                                    M_TEMP, M_WAITOK);
                it->inputs[0] = uaudio_io_terminaltype(outtype, iot, src_id);
                it->inputs_size = 1;
                return uaudio_merge_terminal_list(it);
        case UDESCSUB_AC_OUTPUT:
-               it->inputs = kmalloc(sizeof(struct terminal_list *), M_TEMP, M_NOWAIT);
-               if (it->inputs == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       return NULL;
-               }
+               it->inputs = kmalloc(sizeof(struct terminal_list *),
+                                    M_TEMP, M_WAITOK);
                src_id = it->d.ot->bSourceId;
                it->inputs[0] = uaudio_io_terminaltype(outtype, iot, src_id);
                it->inputs_size = 1;
@@ -1313,12 +1283,8 @@ uaudio_io_terminaltype(int outtype, struct io_terminal *iot, int id)
                return NULL;
        case UDESCSUB_AC_MIXER:
                it->inputs_size = 0;
-               it->inputs = kmalloc(sizeof(struct terminal_list *)
-                                   * it->d.mu->bNrInPins, M_TEMP, M_NOWAIT);
-               if (it->inputs == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       return NULL;
-               }
+               it->inputs = kmalloc(sizeof(struct terminal_list *) *
+                                    it->d.mu->bNrInPins, M_TEMP, M_WAITOK);
                for (i = 0; i < it->d.mu->bNrInPins; i++) {
                        src_id = it->d.mu->baSourceId[i];
                        it->inputs[i] = uaudio_io_terminaltype(outtype, iot,
@@ -1328,12 +1294,8 @@ uaudio_io_terminaltype(int outtype, struct io_terminal *iot, int id)
                return uaudio_merge_terminal_list(it);
        case UDESCSUB_AC_SELECTOR:
                it->inputs_size = 0;
-               it->inputs = kmalloc(sizeof(struct terminal_list *)
-                                   * it->d.su->bNrInPins, M_TEMP, M_NOWAIT);
-               if (it->inputs == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       return NULL;
-               }
+               it->inputs = kmalloc(sizeof(struct terminal_list *) *
+                                    it->d.su->bNrInPins, M_TEMP, M_WAITOK);
                for (i = 0; i < it->d.su->bNrInPins; i++) {
                        src_id = it->d.su->baSourceId[i];
                        it->inputs[i] = uaudio_io_terminaltype(outtype, iot,
@@ -1343,12 +1305,8 @@ uaudio_io_terminaltype(int outtype, struct io_terminal *iot, int id)
                return uaudio_merge_terminal_list(it);
        case UDESCSUB_AC_PROCESSING:
                it->inputs_size = 0;
-               it->inputs = kmalloc(sizeof(struct terminal_list *)
-                                   * it->d.pu->bNrInPins, M_TEMP, M_NOWAIT);
-               if (it->inputs == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       return NULL;
-               }
+               it->inputs = kmalloc(sizeof(struct terminal_list *) *
+                                    it->d.pu->bNrInPins, M_TEMP, M_WAITOK);
                for (i = 0; i < it->d.pu->bNrInPins; i++) {
                        src_id = it->d.pu->baSourceId[i];
                        it->inputs[i] = uaudio_io_terminaltype(outtype, iot,
@@ -1358,12 +1316,8 @@ uaudio_io_terminaltype(int outtype, struct io_terminal *iot, int id)
                return uaudio_merge_terminal_list(it);
        case UDESCSUB_AC_EXTENSION:
                it->inputs_size = 0;
-               it->inputs = kmalloc(sizeof(struct terminal_list *)
-                                   * it->d.eu->bNrInPins, M_TEMP, M_NOWAIT);
-               if (it->inputs == NULL) {
-                       kprintf("uaudio_io_terminaltype: no memory\n");
-                       return NULL;
-               }
+               it->inputs = kmalloc(sizeof(struct terminal_list *) *
+                                    it->d.eu->bNrInPins, M_TEMP, M_WAITOK);
                for (i = 0; i < it->d.eu->bNrInPins; i++) {
                        src_id = it->d.eu->baSourceId[i];
                        it->inputs[i] = uaudio_io_terminaltype(outtype, iot,
@@ -1395,11 +1349,8 @@ uaudio_add_alt(struct uaudio_softc *sc, const struct as_info *ai)
        struct as_info *nai;
 
        len = sizeof(*ai) * (sc->sc_nalts + 1);
-       nai = kmalloc(len, M_USBDEV, M_NOWAIT);
-       if (nai == NULL) {
-               kprintf("uaudio_add_alt: no memory\n");
-               return;
-       }
+       nai = kmalloc(len, M_USBDEV, M_WAITOK);
+
        /* Copy old data, if there was any */
        if (sc->sc_nalts != 0) {
                memcpy(nai, sc->sc_alts, sizeof(*ai) * (sc->sc_nalts));
@@ -1759,11 +1710,8 @@ uaudio_identify_ac(struct uaudio_softc *sc, const usb_config_descriptor_t *cdesc
        ibufend = ibuf + aclen;
        dp = (const usb_descriptor_t *)ibuf;
        ndps = 0;
-       iot = kmalloc(sizeof(struct io_terminal) * 256, M_TEMP, M_NOWAIT | M_ZERO);
-       if (iot == NULL) {
-               kprintf("%s: no memory\n", __func__);
-               return USBD_NOMEM;
-       }
+       iot = kmalloc(sizeof(struct io_terminal) * 256,
+                     M_TEMP, M_WAITOK | M_ZERO);
        for (;;) {
                ibuf += dp->bLength;
                if (ibuf >= ibufend)
@@ -3183,9 +3131,7 @@ audio_attach_mi(device_t dev)
 
        /* Attach the children. */
        /* PCM Audio */
-       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (func == NULL)
-               return (ENOMEM);
+       func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, M_WAITOK | M_ZERO);
        func->func = SCF_PCM;
        child = device_add_child(dev, "pcm", -1);
        device_set_ivars(child, func);
index bd79cbc..ea02b10 100644 (file)
@@ -75,9 +75,7 @@ ua_chan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *
 
        pa_dev = device_get_parent(sc->sc_dev);
 
-       ch->buf = kmalloc(sc->bufsz, M_DEVBUF, M_NOWAIT);
-       if (ch->buf == NULL)
-               return NULL;
+       ch->buf = kmalloc(sc->bufsz, M_DEVBUF, M_WAITOK);
        if (sndbuf_setup(b, ch->buf, sc->bufsz) != 0) {
                kfree(ch->buf, M_DEVBUF);
                return NULL;
@@ -327,9 +325,7 @@ ua_attach(device_t dev)
        u_int32_t nplay, nrec;
        int i;
 
-       ua = (struct ua_info *)kmalloc(sizeof *ua, M_DEVBUF, M_ZERO | M_NOWAIT);
-       if (ua == NULL)
-               return ENXIO;
+       ua = kmalloc(sizeof *ua, M_DEVBUF, M_ZERO | M_WAITOK);
 
        ua->sc_dev = dev;