aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/hptnr/hptnr_osm_bsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/hptnr/hptnr_osm_bsd.c')
-rw-r--r--sys/dev/hptnr/hptnr_osm_bsd.c24
1 files changed, 7 insertions, 17 deletions
diff --git a/sys/dev/hptnr/hptnr_osm_bsd.c b/sys/dev/hptnr/hptnr_osm_bsd.c
index 00774bf9be4a..7426873964fb 100644
--- a/sys/dev/hptnr/hptnr_osm_bsd.c
+++ b/sys/dev/hptnr/hptnr_osm_bsd.c
@@ -143,9 +143,9 @@ static __inline void *__get_free_pages(int order)
M_DEVBUF, M_WAITOK, BUS_SPACE_MAXADDR_24BIT, BUS_SPACE_MAXADDR, PAGE_SIZE, 0);
}
-static __inline void free_pages(void *p, int order)
+static __inline void free_pages(void *p)
{
- contigfree(p, PAGE_SIZE<<order, M_DEVBUF);
+ free(p, M_DEVBUF);
}
static int hpt_alloc_mem(PVBUS_EXT vbus_ext)
@@ -165,7 +165,6 @@ static int hpt_alloc_mem(PVBUS_EXT vbus_ext)
f->tag, f->count, f->size, f->count*f->size));
for (i=0; i<f->count; i++) {
p = (void **)malloc(f->size, M_DEVBUF, M_WAITOK);
- if (!p) return (ENXIO);
*p = f->head;
f->head = p;
}
@@ -227,7 +226,7 @@ static void hpt_free_mem(PVBUS_EXT vbus_ext)
for (i=0; i<os_max_cache_pages; i++) {
p = dmapool_get_page((PVBUS)vbus_ext->vbus, &bus);
HPT_ASSERT(p);
- free_pages(p, 0);
+ free_pages(p);
}
for (f=vbus_ext->freelist_dma_head; f; f=f->next) {
@@ -241,7 +240,7 @@ static void hpt_free_mem(PVBUS_EXT vbus_ext)
while ((p=freelist_get_dma(f, &bus))) {
if (order)
- free_pages(p, order);
+ free_pages(p);
else {
/* can't free immediately since other blocks in this page may still be in the list */
if (((HPT_UPTR)p & (PAGE_SIZE-1))==0)
@@ -251,7 +250,7 @@ static void hpt_free_mem(PVBUS_EXT vbus_ext)
}
while ((p = dmapool_get_page((PVBUS)vbus_ext->vbus, &bus)))
- free_pages(p, 0);
+ free_pages(p);
}
static int hpt_init_vbus(PVBUS_EXT vbus_ext)
@@ -1389,10 +1388,6 @@ static void hpt_final_init(void *dummy)
for (i=0; i<os_max_queue_comm; i++) {
POS_CMDEXT ext = (POS_CMDEXT)malloc(sizeof(OS_CMDEXT), M_DEVBUF, M_WAITOK);
- if (!ext) {
- os_printk("Can't alloc cmdext(%d)", i);
- return ;
- }
ext->vbus_ext = vbus_ext;
ext->next = vbus_ext->cmdext_list;
vbus_ext->cmdext_list = ext;
@@ -1610,19 +1605,14 @@ static int hpt_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, stru
if (ioctl_args.nInBufferSize) {
ioctl_args.lpInBuffer = malloc(ioctl_args.nInBufferSize, M_DEVBUF, M_WAITOK);
- if (!ioctl_args.lpInBuffer)
- goto invalid;
if (copyin((void*)piop->lpInBuffer,
ioctl_args.lpInBuffer, piop->nInBufferSize))
goto invalid;
}
- if (ioctl_args.nOutBufferSize) {
+ if (ioctl_args.nOutBufferSize)
ioctl_args.lpOutBuffer = malloc(ioctl_args.nOutBufferSize, M_DEVBUF, M_WAITOK | M_ZERO);
- if (!ioctl_args.lpOutBuffer)
- goto invalid;
- }
-
+
hpt_do_ioctl(&ioctl_args);
if (ioctl_args.result==HPT_IOCTL_RESULT_OK) {