net: ll_temac: platform_get_resource replaced by wrong function
authorClaus Hansen Ries <chr@terma.com>
Thu, 21 Mar 2024 13:08:59 +0000 (13:08 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 26 Mar 2024 02:46:56 +0000 (19:46 -0700)
The function platform_get_resource was replaced with
devm_platform_ioremap_resource_byname and is called using 0 as name.

This eventually ends up in platform_get_resource_byname in the call
stack, where it causes a null pointer in strcmp.

if (type == resource_type(r) && !strcmp(r->name, name))

It should have been replaced with devm_platform_ioremap_resource.

Fixes: bd69058f50d5 ("net: ll_temac: Use devm_platform_ioremap_resource_byname()")
Signed-off-by: Claus Hansen Ries <chr@terma.com>
Cc: stable@vger.kernel.org
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/cca18f9c630a41c18487729770b492bb@terma.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/xilinx/ll_temac_main.c

index 9df39cf..1072e22 100644 (file)
@@ -1443,7 +1443,7 @@ static int temac_probe(struct platform_device *pdev)
        }
 
        /* map device registers */
-       lp->regs = devm_platform_ioremap_resource_byname(pdev, 0);
+       lp->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(lp->regs)) {
                dev_err(&pdev->dev, "could not map TEMAC registers\n");
                return -ENOMEM;