On Tue, 2016-04-12 at 14:43 +0300, Heikki Krogerus wrote:

> +static int ucsi_init(struct ucsi *ucsi)
> +{
> +     struct ucsi_connector *con;
> +     struct ucsi_control ctrl;
> +     int ret;
> +     int i;
> +
> +     atomic_set(&ucsi->event_pending, 0);
> +     init_completion(&ucsi->complete);
> +     mutex_init(&ucsi->ppm_lock);
> +
> +     mutex_lock(&ucsi->ppm_lock);
> +
> +     /* Reset */
> +     ret = ucsi_acpi_cmd(ucsi, UCSI_PPM_RESET);
> +     if (ret)
> +             return ret;

With a lock held?


> +static int ucsi_acpi_remove(struct platform_device *pdev)
> +{
> +     struct ucsi *ucsi = platform_get_drvdata(pdev);
> +
> +     acpi_remove_notify_handler(ACPI_HANDLE(&pdev->dev),
> +                                ACPI_ALL_NOTIFY, ucsi_acpi_notify);
> +
> +     /* Disable all notifications */
> +     ucsi_acpi_cmd(ucsi, UCSI_SET_NOTIFICATION_ENABLE);

You remove the handler before you disable notifications?

        Regards
                Oliver


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to