• Jon Hunter's avatar
    usb: common: ulpi: Fix crash in ulpi_match() · 2e3dd4a6
    Jon Hunter authored
    Commit 7495af93 ("ARM: multi_v7_defconfig: Enable drivers for
    DragonBoard 410c") enables the CONFIG_PHY_QCOM_USB_HS for the ARM
    multi_v7_defconfig. Enabling this Kconfig is causing the kernel to crash
    on the Tegra20 Ventana platform in the ulpi_match() function.
    
    The Qualcomm USB HS PHY driver that is enabled by CONFIG_PHY_QCOM_USB_HS,
    registers a ulpi_driver but this driver does not provide an 'id_table',
    so when ulpi_match() is called on the Tegra20 Ventana platform, it
    crashes when attempting to deference the id_table pointer which is not
    valid. The Qualcomm USB HS PHY driver uses device-tree for matching the
    ULPI driver with the device and so fix this crash by using device-tree
    for matching if the id_table is not valid.
    
    Fixes: ef6a7bcf ("usb: ulpi: Support device discovery via DT")
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Link: https://lore.kernel.org/r/20220117150039.44058-1-jonathanh@nvidia.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    2e3dd4a6
ulpi.c 7.22 KB