Re: [tpmdd-devel] [PATCH] tpm: fix the cleanup of struct tpm_chip

From: Jarkko Sakkinen
Date: Tue Feb 09 2016 - 01:20:48 EST


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