On Mon, Feb 08, 2016 at 10:26:55PM -0700, Jason Gunthorpe wrote: > On Tue, Feb 09, 2016 at 05:30:30AM +0200, Jarkko Sakkinen wrote: > > If the initialization fails before tpm_chip_register(), put_device() > > will be not called, which causes release callback not to be called. > > This patch fixes the issue by adding put_device() to devres list of > > the parent device. > > Erm, if you do this, then shouldn't the device_unregister change to > device_del to keep the kref balanced?
Yes, it should. Weird, I added pr_info() (temporarily) to tpm_dev_release() and did occur only once and no crashes whatsoever. Anyway, you're right. > Jason /Jarkko