scsi: sun_esp: fix device reference leaks
PATCH 1/1 scsi: sun_esp: fix device reference leaks
Make sure to drop the reference to the dma device taken by of_find_device_by_node() on probe errors and on driver unbind.
Fixes 334ae614772b ("sparc: Kill SBUS DVMA layer.")
Signed-off-by Johan Hovold <[email protected]>
--- drivers/scsi/sun_esp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
drivers/scsi/sun_esp.c +8 -1
@@ -566,6 +566,7 @@ static int esp_sbus_probe(struct platform_device *op)struct device_node *dp = op->dev.of_node;struct platform_device *dma_of =NULL ;int hme =0 ; +int ret; if (dp->parent && (!strcmp(dp->parent->name, "espdma") ||
@@ -580,7 +581,11 @@ static int esp_sbus_probe(struct platform_device *op)if (!dma_of)return -ENODEV ; -return esp_sbus_probe_one (op, dma_of, hme); + ret =esp_sbus_probe_one (op, dma_of, hme); +if (ret) +put_device (&dma_of->dev); + +return ret; }static int esp_sbus_remove (struct platform_device *op)
@@ -613,6 +618,8 @@ static int esp_sbus_remove(struct platform_device *op)dev_set_drvdata (&op->dev,NULL ); +put_device (&dma_of->dev); +return 0 ; }
Signature · 1 line
2.13.0