xhci: host: potential NULL dereference in xhci_generic_plat_probe()
authorDan Carpenter <error27@gmail.com>
Thu, 9 Feb 2023 13:43:45 +0000 (16:43 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Feb 2023 13:22:57 +0000 (14:22 +0100)
It's possible to exit the loop with "sysdev" set to NULL.  In that
case we should use "&pdev->dev".

Fixes: ec5499d338ec ("xhci: split out rcar/rz support from xhci-plat.c")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/Y+T4kTcJwRwxNHJq@kili
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-plat.c

index cd17cca..b9f9625 100644 (file)
@@ -368,6 +368,9 @@ static int xhci_generic_plat_probe(struct platform_device *pdev)
 #endif
        }
 
+       if (!sysdev)
+               sysdev = &pdev->dev;
+
        if (WARN_ON(!sysdev->dma_mask)) {
                /* Platform did not initialize dma_mask */
                ret = dma_coerce_mask_and_coherent(sysdev, DMA_BIT_MASK(64));