Skip to content

Commit 6899b4f

Browse files
FDESTMJassiBrar
authored andcommitted
mailbox: mailbox-test: fix null pointer if no mmio
Fix null pointer issue if resource_size is called with no ioresource. Signed-off-by: Ludovic Barre <ludovic.barre@st.com> Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
1 parent 10cfc5a commit 6899b4f

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

drivers/mailbox/mailbox-test.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -363,22 +363,24 @@ static int mbox_test_probe(struct platform_device *pdev)
363363

364364
/* It's okay for MMIO to be NULL */
365365
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
366-
size = resource_size(res);
367366
tdev->tx_mmio = devm_ioremap_resource(&pdev->dev, res);
368-
if (PTR_ERR(tdev->tx_mmio) == -EBUSY)
367+
if (PTR_ERR(tdev->tx_mmio) == -EBUSY) {
369368
/* if reserved area in SRAM, try just ioremap */
369+
size = resource_size(res);
370370
tdev->tx_mmio = devm_ioremap(&pdev->dev, res->start, size);
371-
else if (IS_ERR(tdev->tx_mmio))
371+
} else if (IS_ERR(tdev->tx_mmio)) {
372372
tdev->tx_mmio = NULL;
373+
}
373374

374375
/* If specified, second reg entry is Rx MMIO */
375376
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
376-
size = resource_size(res);
377377
tdev->rx_mmio = devm_ioremap_resource(&pdev->dev, res);
378-
if (PTR_ERR(tdev->rx_mmio) == -EBUSY)
378+
if (PTR_ERR(tdev->rx_mmio) == -EBUSY) {
379+
size = resource_size(res);
379380
tdev->rx_mmio = devm_ioremap(&pdev->dev, res->start, size);
380-
else if (IS_ERR(tdev->rx_mmio))
381+
} else if (IS_ERR(tdev->rx_mmio)) {
381382
tdev->rx_mmio = tdev->tx_mmio;
383+
}
382384

383385
tdev->tx_channel = mbox_test_request_channel(pdev, "tx");
384386
tdev->rx_channel = mbox_test_request_channel(pdev, "rx");

0 commit comments

Comments
 (0)