From ec3dd426258c40ee01cdf5ec627a70acd74592ca Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Thu, 27 Feb 2014 11:34:26 +0000 Subject: [PATCH] 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. MFC after: 1 week --- 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 3cfc5eb438e..a73b3919340 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);