On Fri, Feb 08, 2019 at 03:32:32PM -0500, Stefan Berger wrote: > On 2/8/19 3:23 PM, Jarkko Sakkinen wrote: > > On Fri, Feb 08, 2019 at 02:27:31PM -0500, Stefan Berger wrote: > > > On 2/8/19 2:17 PM, Jarkko Sakkinen wrote: > > > > */ > > > > if (rc > 0) { > > > > dev_warn(&chip->dev, > > > > "%s: send(): invalid value %d\n", __func__, rc); > > > > rc = 0; > > > > } > > > > > > > > Should be fairly safe play now. > > > Unfortuantely it isn't. You seemed to have lost the > > > EXPORT_SYMBOL_GPL(tpm_chip_start/stop) and the tpm_chip_start/stop around > > > the tpm2_shutdown()... > > OK, now those fixes are back. In tpm_pm_shutdown() case you need also > > take the lock. > > tpm_del_char_device also needs the start/stop! Done and updated the commit message to have all the call sites: * tpm_chip_register() * tpm_class_shutdown() * tpm_del_char_device() * tpm_pm_suspend() * tpm_try_get_ops() and tpm_put_ops() * tpm2_del_space() /Jarkko