lkml.org 
[lkml]   [2011]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] tpm: fix panic caused by "tpm: Autodetect itpm devices"
    Date
    commit 3f0d3d016d89a5efb8b926d4707eb21fa13f3d27 adds a check for
    PNP device id to the common tpm_tis_init() function, which in some
    cases (force=1) will be called without the device being a member of
    a pnp_dev. Oopsing and panics ensue.

    Move the test up to before the call to tpm_tis_init(), since it
    just modifies a global variable anyway.

    Signed-off-by: Olof Johansson <olof@lixom.net>
    Cc: Matthew Garrett <mjg@redhat.com>
    Cc: stable@kernel.org [2.6.37+]
    ---
    drivers/char/tpm/tpm_tis.c | 6 +++---
    1 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
    index c17a305..dd21df5 100644
    --- a/drivers/char/tpm/tpm_tis.c
    +++ b/drivers/char/tpm/tpm_tis.c
    @@ -493,9 +493,6 @@ static int tpm_tis_init(struct device *dev, resource_size_t start,
    "1.2 TPM (device-id 0x%X, rev-id %d)\n",
    vendor >> 16, ioread8(chip->vendor.iobase + TPM_RID(0)));

    - if (is_itpm(to_pnp_dev(dev)))
    - itpm = 1;
    -
    if (itpm)
    dev_info(dev, "Intel iTPM workaround enabled\n");

    @@ -637,6 +634,9 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev,
    else
    interrupts = 0;

    + if (is_itpm(pnp_dev))
    + itpm = 1;
    +
    return tpm_tis_init(&pnp_dev->dev, start, len, irq);
    }

    --
    1.7.3.GIT


    \
     
     \ /
      Last update: 2011-01-07 04:27    [W:0.026 / U:1.328 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site