This patch fixes a reference count issue in the TPM core code. Changes in v6: - rename function tpm2_add_device() to tpm_devs_add() as requested by Jarko - add function descriptions - fix source code formatting Changes in v5: - move function tpm_add_tpm2_char_device() to tpm2-space.c and rename it to tpm2_add_device() as requested by Jarko - put "cc" tag before all other tags - ensure that the error path in tpm2_add_device() always calls the release() function of chip->devs as requested by Jason - reformat a code line as suggested by David Laight Changes in v4: - drop patch 2 (tpm: in tpm2_del_space check if ops pointer is still valid) since James Bottomley offered a cleaner solution for this - reimplement patch 1 to setup the /dev/tpmrm device only in case of TPM2 and avoid the installation of another action handler. This is based on a suggestion and basic implementation done by Jason Gunthorpe. - added tag to CC stable Changes in v3: - drop the patch that introduces the new function tpm_chip_free() - rework the commit messages for the patches (style, typos, etc.) - add fixes tag to patch 2 - add James Bottomley to cc list - add stable mailing list to cc list Changes in v2: - drop the patch that erroneously cleaned up after failed installation of an action handler in tpmm_chip_alloc() (pointed out by Jarkko Sakkinen) - make the commit message for patch 1 more detailed - add fixes tags and kernel logs Lino Sanfilippo (1): tpm: fix reference counting for struct tpm_chip drivers/char/tpm/tpm-chip.c | 48 ++++++++----------------------------- drivers/char/tpm/tpm.h | 1 + drivers/char/tpm/tpm2-space.c | 55 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 38 deletions(-) -- 2.7.4