From a839b7fb24f2b778708b74b17ca29d9954557ce2 Mon Sep 17 00:00:00 2001 From: mav Date: Thu, 6 Mar 2014 13:24:51 +0000 Subject: [PATCH] MFC r262553: Pass proper pointer to bus_dmamem_free() in mps_iocfacts_free(). Passing there pointer into the middle of allocated area caused kernel panic during reinit, for example, after firmware upgrade. git-svn-id: svn://svn.freebsd.org/base/stable/10@262850 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/dev/mps/mps.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/mps/mps.c b/sys/dev/mps/mps.c index 3cfc5eb43..a73b39193 100644 --- a/sys/dev/mps/mps.c +++ b/sys/dev/mps/mps.c @@ -617,8 +617,8 @@ mps_iocfacts_free(struct mps_softc *sc) if (sc->post_busaddr != 0) bus_dmamap_unload(sc->queues_dmat, sc->queues_map); - if (sc->post_queue != NULL) - bus_dmamem_free(sc->queues_dmat, sc->post_queue, + if (sc->free_queue != NULL) + bus_dmamem_free(sc->queues_dmat, sc->free_queue, sc->queues_map); if (sc->queues_dmat != NULL) bus_dma_tag_destroy(sc->queues_dmat); -- 2.45.0