unrealize should free the fifo8 memory that was allocated by realize.
Fixes: 17befecda85 ("hw/ssi/pnv_spi: Replace PnvXferBuffer with Fifo8
structure")
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 f40e8836b9..5db440be9a 100644
--- a/hw/ssi/pnv_spi.c
+++ b/hw/ssi/pnv_spi.c
@@ -1176,6 +1176,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)
{
@@ -1208,6 +1215,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);
device_class_set_props(dc, pnv_spi_properties);
}
--
2.47.3