summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/isp_pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci/isp_pci.c')
-rw-r--r--sys/dev/pci/isp_pci.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/dev/pci/isp_pci.c b/sys/dev/pci/isp_pci.c
index 5ec22bbb6fd..f559edeb4f9 100644
--- a/sys/dev/pci/isp_pci.c
+++ b/sys/dev/pci/isp_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: isp_pci.c,v 1.61 2014/07/13 23:10:23 deraadt Exp $ */
+/* $OpenBSD: isp_pci.c,v 1.62 2014/12/13 21:05:33 doug Exp $ */
/* $FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.148 2007/06/26 23:08:57 mjacob Exp $*/
/*-
* Copyright (c) 1997-2006 by Matthew Jacob
@@ -1075,20 +1075,23 @@ isp_pci_mbxdma(struct ispsoftc *isp)
if (isp->isp_rquest_dma) /* been here before? */
return (0);
- len = isp->isp_maxcmds * sizeof (XS_T *);
- isp->isp_xflist = malloc(len, M_DEVBUF, M_NOWAIT | M_ZERO);
+ isp->isp_xflist = mallocarray(isp->isp_maxcmds, sizeof(XS_T *),
+ M_DEVBUF, M_NOWAIT | M_ZERO);
if (isp->isp_xflist == NULL) {
isp_prt(isp, ISP_LOGERR, "cannot malloc xflist array");
return (1);
}
- len = isp->isp_maxcmds * sizeof (bus_dmamap_t);
- pcs->pci_xfer_dmap = (bus_dmamap_t *) malloc(len, M_DEVBUF, M_NOWAIT);
+ len = isp->isp_maxcmds * sizeof(XS_T *);
+
+ pcs->pci_xfer_dmap = mallocarray(isp->isp_maxcmds, sizeof(bus_dmamap_t),
+ M_DEVBUF, M_NOWAIT);
if (pcs->pci_xfer_dmap == NULL) {
free(isp->isp_xflist, M_DEVBUF, 0);
isp->isp_xflist = NULL;
isp_prt(isp, ISP_LOGERR, "cannot malloc dma map array");
return (1);
}
+ len = isp->isp_maxcmds * sizeof(bus_dmamap_t);
for (i = 0; i < isp->isp_maxcmds; i++) {
if (bus_dmamap_create(dmat, MAXPHYS, (MAXPHYS / NBPG) + 1,