> > --- a/drivers/char/tpm/tpm-chip.c
> > +++ b/drivers/char/tpm/tpm-chip.c
> > @@ -187,12 +187,13 @@ static int tpm_class_shutdown(struct device *dev)
> >  {
> >     struct tpm_chip *chip = container_of(dev, struct tpm_chip, dev);
> >  
> > +   down_write(&chip->ops_sem);
> >     if (chip->flags & TPM_CHIP_FLAG_TPM2) {
> > -           down_write(&chip->ops_sem);
> >             tpm2_shutdown(chip, TPM2_SU_CLEAR);
> >             chip->ops = NULL;
> > -           up_write(&chip->ops_sem);
> >     }
> > +   chip->ops = NULL;
> > +   up_write(&chip->ops_sem);
> >  
> >     return 0;
> >  }
> 
> Still can be improved -- chip->ops = NULL; is done twice, copy inside
> the if {} is redundant...

Thanks. I can update this.

/Jarkko

Reply via email to