Discussion:
[PATCH v1 1/1] maillbox: bcm-flexrm-mailbox: handle cmpl_pool dma allocation failure
(too old to reply)
Rayagonda Kokatanur
2020-03-17 04:22:16 UTC
Permalink
Handle 'cmpl_pool' dma memory allocation failure.

Signed-off-by: Rayagonda Kokatanur <***@broadcom.com>
---
drivers/mailbox/bcm-flexrm-mailbox.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/mailbox/bcm-flexrm-mailbox.c b/drivers/mailbox/bcm-flexrm-mailbox.c
index 8ee9db274802..bee33abb5308 100644
--- a/drivers/mailbox/bcm-flexrm-mailbox.c
+++ b/drivers/mailbox/bcm-flexrm-mailbox.c
@@ -1599,6 +1599,7 @@ static int flexrm_mbox_probe(struct platform_device *pdev)
1 << RING_CMPL_ALIGN_ORDER, 0);
if (!mbox->cmpl_pool) {
ret = -ENOMEM;
+ goto fail_destroy_bd_pool;
}

/* Allocate platform MSIs for each ring */
@@ -1661,6 +1662,7 @@ static int flexrm_mbox_probe(struct platform_device *pdev)
platform_msi_domain_free_irqs(dev);
fail_destroy_cmpl_pool:
dma_pool_destroy(mbox->cmpl_pool);
+fail_destroy_bd_pool:
dma_pool_destroy(mbox->bd_pool);
fail:
return ret;
--
2.17.1
Tyler Hicks
2020-03-17 19:31:25 UTC
Permalink
Post by Rayagonda Kokatanur
Handle 'cmpl_pool' dma memory allocation failure.
This looks correct to me.

Reviewed-by: Tyler Hicks <***@linux.microsoft.com>

It would be ideal if we could include this tag when applying the fix (or
sending a v2):

Fixes: a9a9da47f8e6 ("mailbox: no need to check return value of debugfs_create functions")

Thanks!

Tyler
Post by Rayagonda Kokatanur
---
drivers/mailbox/bcm-flexrm-mailbox.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/mailbox/bcm-flexrm-mailbox.c b/drivers/mailbox/bcm-flexrm-mailbox.c
index 8ee9db274802..bee33abb5308 100644
--- a/drivers/mailbox/bcm-flexrm-mailbox.c
+++ b/drivers/mailbox/bcm-flexrm-mailbox.c
@@ -1599,6 +1599,7 @@ static int flexrm_mbox_probe(struct platform_device *pdev)
1 << RING_CMPL_ALIGN_ORDER, 0);
if (!mbox->cmpl_pool) {
ret = -ENOMEM;
+ goto fail_destroy_bd_pool;
}
/* Allocate platform MSIs for each ring */
@@ -1661,6 +1662,7 @@ static int flexrm_mbox_probe(struct platform_device *pdev)
platform_msi_domain_free_irqs(dev);
dma_pool_destroy(mbox->cmpl_pool);
dma_pool_destroy(mbox->bd_pool);
return ret;
--
2.17.1
Loading...