summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2014-03-06 13:24:51 +0000
committermav <mav@FreeBSD.org>2014-03-06 13:24:51 +0000
commitccebcfd33be062df09a39f66bdcedd42460c15f4 (patch)
tree6f22c11818d39a4342d2db979ee283fb6fb982ba
parent16411e2c8037afd4bccaee5ea6892c2b98c2193e (diff)
downloadFreeBSD-src-ccebcfd33be062df09a39f66bdcedd42460c15f4.zip
FreeBSD-src-ccebcfd33be062df09a39f66bdcedd42460c15f4.tar.gz
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.
-rw-r--r--sys/dev/mps/mps.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/mps/mps.c b/sys/dev/mps/mps.c
index 3cfc5eb..a73b391 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);
OpenPOWER on IntegriCloud