• Lukasz Majczak's avatar
    tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality() · d53a6adf
    Lukasz Majczak authored
    This is shown with Samsung Chromebook Pro (Caroline) with TPM 1.2
    (SLB 9670):
    
    [    4.324298] TPM returned invalid status
    [    4.324806] WARNING: CPU: 2 PID: 1 at drivers/char/tpm/tpm_tis_core.c:275 tpm_tis_status+0x86/0x8f
    
    Background
    ==========
    
    TCG PC Client Platform TPM Profile (PTP) Specification, paragraph 6.1 FIFO
    Interface Locality Usage per Register, Table 39 Register Behavior Based on
    Locality Setting for FIFO - a read attempt to TPM_STS_x Registers returns
    0xFF in case of lack of locality.
    
    The fix
    =======
    
    Decorate tpm_tis_gen_interrupt() with request_locality() and
    release_locality().
    
    Cc: Laurent Bigonville <bigon@debian.org>
    Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: stable@vger.kernel.org
    Fixes: a3fbfae8 ("tpm: take TPM chip power gating out of tpm_transmit()")
    Signed-off-by: default avatarLukasz Majczak <lma@semihalf.com>
    Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
    d53a6adf
tpm_tis_core.c 27.5 KB