On Tue, Apr 12, 2016 at 03:10:01PM +0200, Oliver Neukum wrote: > 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? Good catch. Thanks. > > +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? I'll change the order. Thanks, -- heikki -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html