lkml.org 
[lkml]   [2020]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 128/132] usb: typec: ucsi: acpi: Check the _DEP dependencies
    Date
    From: Heikki Krogerus <heikki.krogerus@linux.intel.com>

    commit 1f3546ff3f0a1000971daef58406954bad3f7061 upstream.

    Failing probe with -EPROBE_DEFER until all dependencies
    listed in the _DEP (Operation Region Dependencies) object
    have been met.

    This will fix an issue where on some platforms UCSI ACPI
    driver fails to probe because the address space handler for
    the operation region that the UCSI ACPI interface uses has
    not been loaded yet.

    Fixes: 8243edf44152 ("usb: typec: ucsi: Add ACPI driver")
    Cc: stable@vger.kernel.org
    Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    Link: https://lore.kernel.org/r/20200904110918.51546-1-heikki.krogerus@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/usb/typec/ucsi/ucsi_acpi.c | 4 ++++
    1 file changed, 4 insertions(+)

    --- a/drivers/usb/typec/ucsi/ucsi_acpi.c
    +++ b/drivers/usb/typec/ucsi/ucsi_acpi.c
    @@ -64,11 +64,15 @@ static void ucsi_acpi_notify(acpi_handle

    static int ucsi_acpi_probe(struct platform_device *pdev)
    {
    + struct acpi_device *adev = ACPI_COMPANION(&pdev->dev);
    struct ucsi_acpi *ua;
    struct resource *res;
    acpi_status status;
    int ret;

    + if (adev->dep_unmet)
    + return -EPROBE_DEFER;
    +
    ua = devm_kzalloc(&pdev->dev, sizeof(*ua), GFP_KERNEL);
    if (!ua)
    return -ENOMEM;

    \
     
     \ /
      Last update: 2020-09-16 01:53    [W:4.441 / U:0.156 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site