aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mana/gdma_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mana/gdma_main.c')
-rw-r--r--sys/dev/mana/gdma_main.c34
1 files changed, 9 insertions, 25 deletions
diff --git a/sys/dev/mana/gdma_main.c b/sys/dev/mana/gdma_main.c
index 13f8a30762b1..b339badad925 100644
--- a/sys/dev/mana/gdma_main.c
+++ b/sys/dev/mana/gdma_main.c
@@ -221,7 +221,7 @@ mana_gd_alloc_memory(struct gdma_context *gc, unsigned int length,
if (!gc || !gmi)
return EINVAL;
- if (length < PAGE_SIZE || (length != roundup_pow_of_two(length)))
+ if (length < PAGE_SIZE || !powerof2(length))
return EINVAL;
err = bus_dma_tag_create(bus_get_dma_tag(gc->dev), /* parent */
@@ -868,9 +868,6 @@ int mana_gd_create_hwc_queue(struct gdma_dev *gd,
int err;
queue = malloc(sizeof(*queue), M_DEVBUF, M_WAITOK | M_ZERO);
- if (!queue)
- return ENOMEM;
-
gmi = &queue->mem_info;
err = mana_gd_alloc_memory(gc, spec->queue_size, gmi);
if (err)
@@ -942,7 +939,7 @@ mana_gd_create_dma_region(struct gdma_dev *gd,
int err;
int i;
- if (length < PAGE_SIZE || !is_power_of_2(length)) {
+ if (length < PAGE_SIZE || !powerof2(length)) {
mana_err(NULL, "gmi size incorrect: %u\n", length);
return EINVAL;
}
@@ -962,9 +959,6 @@ mana_gd_create_dma_region(struct gdma_dev *gd,
}
req = malloc(req_msg_size, M_DEVBUF, M_WAITOK | M_ZERO);
- if (!req)
- return ENOMEM;
-
mana_gd_init_req_hdr(&req->hdr, GDMA_CREATE_DMA_REGION,
req_msg_size, sizeof(resp));
req->length = length;
@@ -1008,9 +1002,6 @@ mana_gd_create_mana_eq(struct gdma_dev *gd,
return EINVAL;
queue = malloc(sizeof(*queue), M_DEVBUF, M_WAITOK | M_ZERO);
- if (!queue)
- return ENOMEM;
-
gmi = &queue->mem_info;
err = mana_gd_alloc_memory(gc, spec->queue_size, gmi);
if (err)
@@ -1056,9 +1047,6 @@ int mana_gd_create_mana_wq_cq(struct gdma_dev *gd,
return EINVAL;
queue = malloc(sizeof(*queue), M_DEVBUF, M_WAITOK | M_ZERO);
- if (!queue)
- return ENOMEM;
-
gmi = &queue->mem_info;
err = mana_gd_alloc_memory(gc, spec->queue_size, gmi);
if (err)
@@ -1480,9 +1468,6 @@ mana_gd_alloc_res_map(uint32_t res_avail,
r->map =
malloc(n * sizeof(unsigned long), M_DEVBUF, M_WAITOK | M_ZERO);
- if (!r->map)
- return ENOMEM;
-
r->size = res_avail;
mtx_init(&r->lock_spin, lock_name, NULL, MTX_SPIN);
@@ -1616,10 +1601,6 @@ mana_gd_setup_irqs(device_t dev)
gc->irq_contexts = malloc(nvec * sizeof(struct gdma_irq_context),
M_DEVBUF, M_WAITOK | M_ZERO);
- if (!gc->irq_contexts) {
- rc = ENOMEM;
- goto err_setup_irq_release;
- }
for (i = 0; i < nvec; i++) {
gic = &gc->irq_contexts[i];
@@ -1750,7 +1731,6 @@ static int
mana_gd_probe(device_t dev)
{
mana_vendor_id_t *ent;
- char adapter_name[60];
uint16_t pci_vendor_id = 0;
uint16_t pci_device_id = 0;
@@ -1764,8 +1744,7 @@ mana_gd_probe(device_t dev)
mana_dbg(NULL, "vendor=%x device=%x\n",
pci_vendor_id, pci_device_id);
- sprintf(adapter_name, DEVICE_DESC);
- device_set_desc_copy(dev, adapter_name);
+ device_set_desc(dev, DEVICE_DESC);
return (BUS_PROBE_DEFAULT);
}
@@ -1900,6 +1879,11 @@ static int
mana_gd_detach(device_t dev)
{
struct gdma_context *gc = device_get_softc(dev);
+ int error;
+
+ error = bus_generic_detach(dev);
+ if (error != 0)
+ return (error);
mana_remove(&gc->mana);
@@ -1911,7 +1895,7 @@ mana_gd_detach(device_t dev)
pci_disable_busmaster(dev);
- return (bus_generic_detach(dev));
+ return (0);
}