scsi: sun_esp: fix device reference leaks
PATCH RESEND 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]>
---
No comment to this one for over a month so resending. Also added David Miller on CC.
Johan
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
Martin K. Petersen
AppliedJohan,
Quoted 2 lines
Make sure to drop the reference to the dma device taken by
of_find_device_by_node()on probe errors and on driver unbind.
Looks good to me.
Applied to 4.13/scsi-queue.
Signature · 1 line
Martin K. Petersen Oracle Linux Engineering