hw/ssi/pnv_spi: Fix fifo8 memory leak on unrealize

unrealize should free the fifo8 memory that was allocated by realize.

Fixes: 17befecda8 ("hw/ssi/pnv_spi: Replace PnvXferBuffer with Fifo8 structure")

Reviewed-by: Glenn Miles <milesg@linux.ibm.com>
Reviewed-by: Chalapathi V <chalapathi.v@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Caleb Schlossin <calebs@linux.ibm.com>
Reviewed-by: Aditya Gupta <adityag@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260120145117.602960-1-calebs@linux.ibm.com
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
This commit is contained in:
Caleb Schlossin
2026-01-20 08:51:17 -06:00
committed by Harsh Prateek Bora
parent 91543bef04
commit 13a1083b42

View File

@@ -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);