mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
10cfc5a92e
commit
6899b4f7c9
|
@ -363,22 +363,24 @@ static int mbox_test_probe(struct platform_device *pdev)
|
|||
|
||||
/* It's okay for MMIO to be NULL */
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
size = resource_size(res);
|
||||
tdev->tx_mmio = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (PTR_ERR(tdev->tx_mmio) == -EBUSY)
|
||||
if (PTR_ERR(tdev->tx_mmio) == -EBUSY) {
|
||||
/* if reserved area in SRAM, try just ioremap */
|
||||
size = resource_size(res);
|
||||
tdev->tx_mmio = devm_ioremap(&pdev->dev, res->start, size);
|
||||
else if (IS_ERR(tdev->tx_mmio))
|
||||
} else if (IS_ERR(tdev->tx_mmio)) {
|
||||
tdev->tx_mmio = NULL;
|
||||
}
|
||||
|
||||
/* If specified, second reg entry is Rx MMIO */
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||
size = resource_size(res);
|
||||
tdev->rx_mmio = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (PTR_ERR(tdev->rx_mmio) == -EBUSY)
|
||||
if (PTR_ERR(tdev->rx_mmio) == -EBUSY) {
|
||||
size = resource_size(res);
|
||||
tdev->rx_mmio = devm_ioremap(&pdev->dev, res->start, size);
|
||||
else if (IS_ERR(tdev->rx_mmio))
|
||||
} else if (IS_ERR(tdev->rx_mmio)) {
|
||||
tdev->rx_mmio = tdev->tx_mmio;
|
||||
}
|
||||
|
||||
tdev->tx_channel = mbox_test_request_channel(pdev, "tx");
|
||||
tdev->rx_channel = mbox_test_request_channel(pdev, "rx");
|
||||
|
|
Loading…
Reference in New Issue