From: Jurij S. <ju...@wo...> - 2012-01-06 22:22:22
|
On Thu, Jan 05, 2012 at 06:44:05AM -0500, Stefan Berger wrote: > On 01/05/2012 06:11 AM, Jurij Smakov wrote: > >[Resending from a subscribed address, original message stuck in > >moderation queue.] > > > >Hello, > > > >A number of users reported an occasional hang during boot due to stuck > >modprobe process (invoked by udev) with 3.1.x kernels in Debian. Below > >is the debugging information I've sent to Debian bug (obtained on my > >Thinkpad X220), which can be viewed at > > > >http://bugs.debian.org/649033 > > Can you recompile the Debian kernel and apply the following patch? > The problem is likely related to the particular TPM in the X220. Let > me know if this patch improves things. Thanks. Hi Stefan, With this patch I was able to perform 500 tpm_tis.ko module insert/remove cycles without ever experiencing a hang. Without the patch it's sufficient to do 5-10 cycles before modprobe hangs on module insertion for a while. Thus, it looks like it is an improvement, so please push it upstream. Feel free to add: Tested-by: Jurij Smakov <ju...@wo...> Thanks. > Stefan > > > Signed-off-by: Stefan Berger<st...@li...> > > --- > drivers/char/tpm/tpm_tis.c | 3 +++ > 1 file changed, 3 insertions(+) > > Index: linux-2.6/drivers/char/tpm/tpm_tis.c > =================================================================== > --- linux-2.6.orig/drivers/char/tpm/tpm_tis.c > +++ linux-2.6/drivers/char/tpm/tpm_tis.c > @@ -432,6 +432,9 @@ static int probe_itpm(struct tpm_chip *c > out: > itpm = rem_itpm; > tpm_tis_ready(chip); > + /* some TPMs need a break here otherwise they will not work > + * correctly on the immediately subsequent command */ > + msleep(chip->vendor.timeout_b); > release_locality(chip, chip->vendor.locality, 0); > > return rc; > > > -- Jurij Smakov ju...@wo... Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC |