General bus malloc() flags cleanup, M_NOWAIT -> M_INTWAIT. Note: leave
authorMatthew Dillon <dillon@dragonflybsd.org>
Wed, 7 Apr 2004 05:54:41 +0000 (05:54 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Wed, 7 Apr 2004 05:54:41 +0000 (05:54 +0000)
isa dmabuf bouncebuffer code as is (it uses malloc() M_NOWAIT and then
falls back to contigmalloc).

sys/bus/firewire/firewire.c
sys/bus/firewire/fwdev.c
sys/bus/firewire/fwohci.c
sys/bus/isa/i386/isa.c
sys/bus/isa/isa_common.c
sys/bus/isa/pnp.c
sys/bus/isa/pnpparse.c
sys/bus/mca/mca_bus.c
sys/bus/ppbus/ppbconf.c

index c30be3f..5320f24 100644 (file)
@@ -32,7 +32,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  * 
  * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.68 2004/01/08 14:58:09 simokawa Exp $
- * $DragonFly: src/sys/bus/firewire/firewire.c,v 1.6 2004/02/05 17:51:43 joerg Exp $
+ * $DragonFly: src/sys/bus/firewire/firewire.c,v 1.7 2004/04/07 05:54:27 dillon Exp $
  *
  */
 
@@ -685,7 +685,7 @@ fw_busreset(struct firewire_comm *fc)
                free(devlistp, M_TEMP);
        }
 
-       newrom = malloc(CROMSIZE, M_FW, M_NOWAIT | M_ZERO);
+       newrom = malloc(CROMSIZE, M_FW, M_WAITOK | M_ZERO);
        src = &fc->crom_src_buf->src;
        crom_load(src, (u_int32_t *)newrom, CROMSIZE);
        if (bcmp(newrom, fc->config_rom, CROMSIZE) != 0) {
@@ -760,12 +760,10 @@ void fw_init(struct firewire_comm *fc)
                fc->it[i]->maxq = FWMAXQUEUE;
        }
 /* Initialize csr registers */
-       fc->topology_map = (struct fw_topology_map *)malloc(
-                               sizeof(struct fw_topology_map),
-                               M_FW, M_NOWAIT | M_ZERO);
-       fc->speed_map = (struct fw_speed_map *)malloc(
-                               sizeof(struct fw_speed_map),
-                               M_FW, M_NOWAIT | M_ZERO);
+       fc->topology_map = malloc(sizeof(struct fw_topology_map),
+                                   M_FW, M_WAITOK | M_ZERO);
+       fc->speed_map = malloc(sizeof(struct fw_speed_map),
+                                   M_FW, M_WAITOK | M_ZERO);
        CSRARC(fc, TOPO_MAP) = 0x3f1 << 16;
        CSRARC(fc, TOPO_MAP + 4) = 1;
        CSRARC(fc, SPED_MAP) = 0x3f1 << 16;
@@ -777,7 +775,7 @@ void fw_init(struct firewire_comm *fc)
        SLIST_INIT(&fc->ongocsr);
        SLIST_INIT(&fc->csrfree);
        for( i = 0 ; i < FWMAXCSRDIR ; i++){
-               csrd = (struct csrdir *) malloc(sizeof(struct csrdir), M_FW,M_NOWAIT);
+               csrd = malloc(sizeof(struct csrdir), M_FW, M_WAITOK);
                if(csrd == NULL) break;
                SLIST_INSERT_HEAD(&fc->csrfree, csrd, link);
        }
@@ -809,10 +807,7 @@ void fw_init(struct firewire_comm *fc)
        xfer = fw_xfer_alloc();
        if(xfer == NULL) return;
 
-       fwb = (struct fw_bind *)malloc(sizeof (struct fw_bind), M_FW, M_NOWAIT);
-       if(fwb == NULL){
-               fw_xfer_free(xfer);
-       }
+       fwb = malloc(sizeof (struct fw_bind), M_FW, M_WAITOK);
        xfer->act.hand = fw_vmaccess;
        xfer->fc = fc;
        xfer->sc = NULL;
@@ -972,10 +967,7 @@ fw_xfer_alloc(struct malloc_type *type)
 {
        struct fw_xfer *xfer;
 
-       xfer = malloc(sizeof(struct fw_xfer), type, M_NOWAIT | M_ZERO);
-       if (xfer == NULL)
-               return xfer;
-
+       xfer = malloc(sizeof(struct fw_xfer), type, M_INTWAIT | M_ZERO);
        xfer->malloc = type;
 
        return xfer;
@@ -992,14 +984,14 @@ fw_xfer_alloc_buf(struct malloc_type *type, int send_len, int recv_len)
        if (xfer == NULL)
                return(NULL);
        if (send_len > 0) {
-               xfer->send.payload = malloc(send_len, type, M_NOWAIT | M_ZERO);
+               xfer->send.payload = malloc(send_len, type, M_INTWAIT | M_ZERO);
                if (xfer->send.payload == NULL) {
                        fw_xfer_free(xfer);
                        return(NULL);
                }
        }
        if (recv_len > 0) {
-               xfer->recv.payload = malloc(recv_len, type, M_NOWAIT);
+               xfer->recv.payload = malloc(recv_len, type, M_INTWAIT);
                if (xfer->recv.payload == NULL) {
                        if (xfer->send.payload != NULL)
                                free(xfer->send.payload, type);
@@ -1347,9 +1339,7 @@ loop:
                        goto dorequest;
                }
                fwdev = malloc(sizeof(struct fw_device), M_FW,
-                                                       M_NOWAIT | M_ZERO);
-               if(fwdev == NULL)
-                       return;
+                               M_WAITOK | M_ZERO);
                fwdev->fc = fc;
                fwdev->rommax = 0;
                fwdev->dst = fc->ongonode;
@@ -1695,11 +1685,7 @@ fw_get_tlabel(struct firewire_comm *fc, struct fw_xfer *xfer)
                                break;
                }
                if(tmptl == NULL) {
-                       tl = malloc(sizeof(struct tlabel),M_FW,M_NOWAIT);
-                       if (tl == NULL) {
-                               splx(s);
-                               return (-1);
-                       }
+                       tl = malloc(sizeof(struct tlabel), M_FW, M_WAITOK);
                        tl->xfer = xfer;
                        STAILQ_INSERT_TAIL(&fc->tlabels[label], tl, link);
                        splx(s);
@@ -2098,7 +2084,7 @@ fw_vmaccess(struct fw_xfer *xfer){
        switch(rfp->mode.hdr.tcode){
                /* XXX need fix for 64bit arch */
                case FWTCODE_WREQB:
-                       xfer->send.buf = malloc(12, M_FW, M_NOWAIT);
+                       xfer->send.buf = malloc(12, M_FW, M_WAITOK);
                        xfer->send.len = 12;
                        sfp = (struct fw_pkt *)xfer->send.buf;
                        bcopy(rfp->mode.wreqb.payload,
@@ -2107,14 +2093,14 @@ fw_vmaccess(struct fw_xfer *xfer){
                        sfp->mode.wres.rtcode = 0;
                        break;
                case FWTCODE_WREQQ:
-                       xfer->send.buf = malloc(12, M_FW, M_NOWAIT);
+                       xfer->send.buf = malloc(12, M_FW, M_WAITOK);
                        xfer->send.len = 12;
                        sfp->mode.wres.tcode = FWTCODE_WRES;
                        *((u_int32_t *)(ntohl(rfp->mode.wreqb.dest_lo))) = rfp->mode.wreqq.data;
                        sfp->mode.wres.rtcode = 0;
                        break;
                case FWTCODE_RREQB:
-                       xfer->send.buf = malloc(16 + rfp->mode.rreqb.len, M_FW, M_NOWAIT);
+                       xfer->send.buf = malloc(16 + rfp->mode.rreqb.len, M_FW, M_WAITOK);
                        xfer->send.len = 16 + ntohs(rfp->mode.rreqb.len);
                        sfp = (struct fw_pkt *)xfer->send.buf;
                        bcopy((caddr_t)ntohl(rfp->mode.rreqb.dest_lo),
@@ -2125,7 +2111,7 @@ fw_vmaccess(struct fw_xfer *xfer){
                        sfp->mode.rresb.extcode = 0;
                        break;
                case FWTCODE_RREQQ:
-                       xfer->send.buf = malloc(16, M_FW, M_NOWAIT);
+                       xfer->send.buf = malloc(16, M_FW, M_WAITOK);
                        xfer->send.len = 16;
                        sfp = (struct fw_pkt *)xfer->send.buf;
                        sfp->mode.rresq.data = *(u_int32_t *)(ntohl(rfp->mode.rreqq.dest_lo));
index cb37bdc..c2beebd 100644 (file)
@@ -32,7 +32,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  * 
  * $FreeBSD: src/sys/dev/firewire/fwdev.c,v 1.36 2004/01/22 14:41:17 simokawa Exp $
- * $DragonFly: src/sys/bus/firewire/fwdev.c,v 1.7 2004/02/05 17:51:43 joerg Exp $
+ * $DragonFly: src/sys/bus/firewire/fwdev.c,v 1.8 2004/04/07 05:54:27 dillon Exp $
  *
  */
 
@@ -629,11 +629,7 @@ out:
                        err = EINVAL;
                        break;
                }
-               fwb = (struct fw_bind *)malloc(sizeof (struct fw_bind), M_FW, M_NOWAIT);
-               if(fwb == NULL){
-                       err = ENOMEM;
-                       break;
-               }
+               fwb = malloc(sizeof (struct fw_bind), M_FW, M_WAITOK);
                fwb->start = ((u_int64_t)bindreq->start.hi << 32) |
                    bindreq->start.lo;
                fwb->end = fwb->start +  bindreq->len;
index 77cfba6..d69fe7e 100644 (file)
@@ -33,7 +33,7 @@
  * 
  * $FreeBSD: src/sys/dev/firewire/fwohci.c,v 1.72 2004/01/22 14:41:17 simokawa Exp $
  * $FreeBSD: src/sys/dev/firewire/fwohci.c,v 1.1.2.19 2003/05/01 06:24:37 simokawa Exp $
- * $DragonFly: src/sys/bus/firewire/fwohci.c,v 1.6 2004/02/05 17:51:44 joerg Exp $
+ * $DragonFly: src/sys/bus/firewire/fwohci.c,v 1.7 2004/04/07 05:54:27 dillon Exp $
  */
 
 #define ATRQ_CH 0
@@ -1931,7 +1931,7 @@ busresetout:
                        goto sidout;
                }
                plen -= 4; /* chop control info */
-               buf = (u_int32_t *)malloc(OHCI_SIDSIZE, M_FW, M_NOWAIT);
+               buf = (u_int32_t *)malloc(OHCI_SIDSIZE, M_FW, M_INTWAIT);
                if (buf == NULL) {
                        device_printf(fc->dev, "malloc failed\n");
                        goto sidout;
index 36c818b..dd7ea63 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/i386/isa/isa.c,v 1.132.2.5 2002/03/03 05:42:50 nyan Exp $
- * $DragonFly: src/sys/bus/isa/i386/isa.c,v 1.4 2004/02/24 18:10:04 joerg Exp $
+ * $DragonFly: src/sys/bus/isa/i386/isa.c,v 1.5 2004/04/07 05:54:35 dillon Exp $
  */
 
 /*
@@ -170,11 +170,7 @@ isa_alloc_resourcev(device_t child, int type, int *rid,
        if (re == NULL)
                return NULL;
 
-       bsre = malloc(sizeof (struct resource *) * ressz, M_DEVBUF, M_NOWAIT);
-       if (bsre == NULL) {
-               resource_list_release(rl, bus, child, type, *rid, re);
-               return NULL;
-       }
+       bsre = malloc(sizeof(struct resource *) * ressz, M_DEVBUF, M_INTWAIT);
        bsre[0] = re;
 
        for (i = linear_cnt, k = 1; i < count; i = j, k++) {
index b940bdb..8020839 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/isa/isa_common.c,v 1.16.2.1 2000/09/16 15:49:52 roger Exp $
- * $DragonFly: src/sys/bus/isa/isa_common.c,v 1.4 2003/08/27 11:42:34 rob Exp $
+ * $DragonFly: src/sys/bus/isa/isa_common.c,v 1.5 2004/04/07 05:54:32 dillon Exp $
  */
 /*
  * Modifications for Intel architecture by Garrett A. Wollman.
@@ -524,10 +524,7 @@ isa_add_child(device_t dev, int order, const char *name, int unit)
        device_t child;
        struct  isa_device *idev;
 
-       idev = malloc(sizeof(struct isa_device), M_ISADEV, M_NOWAIT);
-       if (!idev)
-               return 0;
-       bzero(idev, sizeof *idev);
+       idev = malloc(sizeof(struct isa_device), M_ISADEV, M_WAITOK | M_ZERO);
 
        resource_list_init(&idev->id_resources);
        TAILQ_INIT(&idev->id_configs);
@@ -946,10 +943,7 @@ isa_add_config(device_t dev, device_t child,
        struct isa_device* idev = DEVTOISA(child);
        struct isa_config_entry *newice, *ice;
 
-       newice = malloc(sizeof *ice, M_DEVBUF, M_NOWAIT);
-       if (!newice)
-               return ENOMEM;
-
+       newice = malloc(sizeof *ice, M_DEVBUF, M_WAITOK);
        newice->ice_priority = priority;
        newice->ice_config = *config;
        
index af8e380..fd928f5 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  *     $FreeBSD: src/sys/isa/pnp.c,v 1.5.2.1 2002/10/14 09:31:09 nyan Exp $
- *     $DragonFly: src/sys/bus/isa/pnp.c,v 1.4 2003/11/08 02:55:16 dillon Exp $
+ *     $DragonFly: src/sys/bus/isa/pnp.c,v 1.5 2004/04/07 05:54:32 dillon Exp $
  *      from: pnp.c,v 1.11 1999/05/06 22:11:19 peter Exp
  */
 
@@ -537,13 +537,7 @@ pnp_create_devices(device_t parent, pnp_id *p, int csn,
                        isa_set_vendorid(dev, p->vendor_id);
                        isa_set_serial(dev, p->serial);
                        isa_set_logicalid(dev, logical_id);
-                       csnldn = malloc(sizeof *csnldn, M_DEVBUF, M_NOWAIT);
-                       if (!csnldn) {
-                               device_printf(parent,
-                                             "out of memory\n");
-                               scanning = 0;
-                               break;
-                       }
+                       csnldn = malloc(sizeof *csnldn, M_DEVBUF, M_WAITOK);
                        csnldn->csn = csn;
                        csnldn->ldn = ldn;
                        ISA_SET_CONFIG_CALLBACK(parent, dev,
@@ -593,18 +587,14 @@ pnp_read_bytes(int amount, u_char **resourcesp, int *spacep, int *lenp)
 
        if (space == 0) {
                space = 1024;
-               resources = malloc(space, M_TEMP, M_NOWAIT);
-               if (!resources)
-                       return ENOMEM;
+               resources = malloc(space, M_TEMP, M_WAITOK);
        }
        
        if (len + amount > space) {
                int extra = 1024;
                while (len + amount > space + extra)
                        extra += 1024;
-               newres = malloc(space + extra, M_TEMP, M_NOWAIT);
-               if (!newres)
-                       return ENOMEM;
+               newres = malloc(space + extra, M_TEMP, M_WAITOK);
                bcopy(resources, newres, len);
                free(resources, M_TEMP);
                resources = newres;
index 3ed6071..bf5cef4 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/isa/pnpparse.c,v 1.14 2003/06/11 00:32:45 obrien Exp $
- * $DragonFly: src/sys/bus/isa/pnpparse.c,v 1.5 2003/11/09 02:22:33 dillon Exp $
+ * $DragonFly: src/sys/bus/isa/pnpparse.c,v 1.6 2004/04/07 05:54:32 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -422,12 +422,8 @@ pnp_parse_resources(device_t dev, u_char *resources, int len, int ldn)
        parent = device_get_parent(dev);
        id = isa_get_logicalid(dev);
 
-       configs = (struct isa_config *)malloc(sizeof(*configs)*(1 + MAXDEP),
-                                             M_DEVBUF, M_NOWAIT | M_ZERO);
-       if (configs == NULL) {
-               device_printf(parent, "No memory to parse PNP data\n");
-               return;
-       }
+       configs = malloc(sizeof(*configs)*(1 + MAXDEP),
+                         M_DEVBUF, M_WAITOK | M_ZERO);
        config = &configs[0];
        priorities[0] = 0;
        ncfgs = 1;
index 4730a9c..fe43c94 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/mca/mca_bus.c,v 1.7.2.1 2000/03/17 23:55:48 peter Exp $
- * $DragonFly: src/sys/bus/mca/Attic/mca_bus.c,v 1.4 2004/02/21 06:37:05 dillon Exp $
+ * $DragonFly: src/sys/bus/mca/Attic/mca_bus.c,v 1.5 2004/04/07 05:54:39 dillon Exp $
  */
 
 /*
@@ -266,14 +266,8 @@ mca_probe (device_t dev)
 
        for (slot = 0; slot < MCA_MAX_SLOTS; slot++) {
 
-               if (!m_dev) {
-                       m_dev = (struct mca_device *)malloc(sizeof(*m_dev),
-                                                           M_DEVBUF, M_NOWAIT);
-                       if (!m_dev) {
-                               device_printf(dev, "cannot malloc mca_device");
-                               break;
-                       }
-               }
+               if (m_dev == NULL)
+                       m_dev = malloc(sizeof(*m_dev), M_DEVBUF, M_WAITOK);
                bzero(m_dev, sizeof(*m_dev));
 
                /* Select adapter setup regs */
index 3b11039..133fd33 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/ppbus/ppbconf.c,v 1.17.2.1 2000/05/24 00:20:57 n_hibma Exp $
- * $DragonFly: src/sys/bus/ppbus/ppbconf.c,v 1.4 2003/08/07 21:16:47 dillon Exp $
+ * $DragonFly: src/sys/bus/ppbus/ppbconf.c,v 1.5 2004/04/07 05:54:41 dillon Exp $
  *
  */
 #include "opt_ppb_1284.h"
@@ -87,10 +87,7 @@ ppbus_add_child(device_t dev, int order, const char *name, int unit)
        device_t child;
         
        /* allocate ivars for the new ppbus child */
-       ppbdev = malloc(sizeof(struct ppb_device), M_PPBUSDEV, M_NOWAIT);
-       if (!ppbdev)
-               return NULL;
-       bzero(ppbdev, sizeof *ppbdev);
+       ppbdev = malloc(sizeof(struct ppb_device), M_PPBUSDEV, M_WAITOK | M_ZERO);
 
        /* initialize the ivars */
        ppbdev->name = name;