lkml.org 
[lkml]   [2010]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC] tpm_tis: Fix subsequent suspend failures
    From
    Date
    Sorry the ones on CC, previous message got messed up by the mail client.

    This patch fixes https://bugzilla.kernel.org/show_bug.cgi?id=16256

    Link to original post given it wasn't submitted to LKML originally:
    http://marc.info/?l=tpmdd-devel&m=127609160616162&w=2

    Acked-by: Rajiv Andrade <srajiv@linux.vnet.ibm.com>


    On Wed, 2010-06-09 at 15:11 +0200, Helmut Schaa wrote:
    > Fix subsequent suspends by issuing tpm_continue_selftest during resume.
    > Otherwise, the tpm chip seems to be not fully initialized and will reject
    > the save state command during suspend, thus preventing the whole system
    > to suspend.
    >
    > Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
    > ---
    >
    > Not sure if the platform resume method should be fixed in the same way.
    > Plase review.
    >
    > Thanks,
    > Helmut
    >
    > drivers/char/tpm/tpm_tis.c | 9 ++++++++-
    > 1 files changed, 8 insertions(+), 1 deletions(-)
    >
    > diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
    > index 24314a9..1030f84 100644
    > --- a/drivers/char/tpm/tpm_tis.c
    > +++ b/drivers/char/tpm/tpm_tis.c
    > @@ -623,7 +623,14 @@ static int tpm_tis_pnp_suspend(struct pnp_dev *dev, pm_message_t msg)
    >
    > static int tpm_tis_pnp_resume(struct pnp_dev *dev)
    > {
    > - return tpm_pm_resume(&dev->dev);
    > + struct tpm_chip *chip = pnp_get_drvdata(dev);
    > + int ret;
    > +
    > + ret = tpm_pm_resume(&dev->dev);
    > + if (!ret)
    > + tpm_continue_selftest(chip);
    > +
    > + return ret;
    > }
    >
    > static struct pnp_device_id tpm_pnp_tbl[] __devinitdata = {




    \
     
     \ /
      Last update: 2010-06-22 05:11    [W:0.030 / U:58.756 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site