diff options
author | mav <mav@FreeBSD.org> | 2014-03-06 13:24:51 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2014-03-06 13:24:51 +0000 |
commit | ccebcfd33be062df09a39f66bdcedd42460c15f4 (patch) | |
tree | 6f22c11818d39a4342d2db979ee283fb6fb982ba | |
parent | 16411e2c8037afd4bccaee5ea6892c2b98c2193e (diff) | |
download | FreeBSD-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.c | 4 |
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); |