unrealize should free the fifo8 memory that was allocated by realize.
Fixes: 17befecda85 ("hw/ssi/pnv_spi: Replace PnvXferBuffer with Fifo8
structure")
Reviewed-by: Glenn Miles <[email protected]>
Reviewed-by: Chalapathi V<[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Signed-off-by: Caleb Schlossin <[email protected]>
---
hw/ssi/pnv_spi.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/hw/ssi/pnv_spi.c b/hw/ssi/pnv_spi.c
index 76304d26fc..f3add8cab9 100644
--- a/hw/ssi/pnv_spi.c
+++ b/hw/ssi/pnv_spi.c
@@ -1177,6 +1177,13 @@ static void pnv_spi_realize(DeviceState *dev, Error
**errp)
s, "xscom-spi", PNV10_XSCOM_PIB_SPIC_SIZE);
}
+static void pnv_spi_unrealize(DeviceState *dev)
+{
+ PnvSpi *s = PNV_SPI(dev);
+ fifo8_destroy(&s->tx_fifo);
+ fifo8_destroy(&s->rx_fifo);
+}
+
static int pnv_spi_dt_xscom(PnvXScomInterface *dev, void *fdt,
int offset)
{
@@ -1234,6 +1241,7 @@ static void pnv_spi_class_init(ObjectClass *klass, const
void *data)
dc->desc = "PowerNV SPI";
dc->realize = pnv_spi_realize;
+ dc->unrealize = pnv_spi_unrealize;
device_class_set_legacy_reset(dc, do_reset);
dc->vmsd = &pnv_spi_vmstate;
device_class_set_props(dc, pnv_spi_properties);
--
2.47.3