On Fri, 27 Jul 2007 11:07:01 PDT, Andrew Morton said: > On Fri, 27 Jul 2007 09:28:09 -0400 > [EMAIL PROTECTED] wrote:
> > And we have a winner. In my bisect 'hunt' file, I ended at: > > > > fs-use-kmem_cache_zalloc-instead.patch GOOD > > # remove-kconfig-setting-config_debug_shirq.patch: Ingo worried > > remove-kconfig-setting-config_debug_shirq.patch BAD > > Thanks for working that out. Hey, it's what I'm here for. :) > > Looks like Ingo was right. :) As a cross-check, I tested a 'GOOD' kernel, > > but rebuilt with CONFIG_DEBUG_SHIRQ=y, and that *also* died. > Fernando, those patches are just too scary for me because of stuff like > this. > > Perhaps we should look at implementing this new behaviour on a per-driver > basis? Pass smoe new flag into request_irq(), perhaps? Has anybody else hit an actual problem with this, or is the borkage restricted to this one driver? And, quite frankly, given that *before*, the driver would try and reject 5 different unused IRQs and then complain when it found one in use, I'm not totally convinced that the driver wasn't on crack *before*. The only thing I've been able to prove to myself is that it's acting differently, but I'm pretty sure that *both* before and after are broken, just in different ways. I'd not fault Fernando's patch here - if I'd enabled the DEBUG_SHIRQ on previous kernels, I'd have spotted it then. I never enabled it because I didn't know I had drivers that might have bugs in that area. Kylene or somebody else who actually understands the TPM chipsets would have to provide guidance on how it's *supposed* to work, and I'm certainly willing to testbed patches. For what it's worth - I actually read the source some more, discovered the module parm 'interrupts=0' (which forces polling mode), and managed to get things at least semi-working with the libtpm-2.0 test suite: ~/src/libtpm-2.0/utils % ./tpm_demo TPM version 1.1.0.0 24 PCR registers are available PCR-00: 48 88 FD B3 F6 04 AF 54 9F 6A 53 19 96 38 4F BF 02 52 3F C7 PCR-01: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR-02: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR-03: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR-04: 7D 89 C5 0D C7 E5 2F F1 2C 56 0C C2 84 40 FD ED 06 B4 D6 B7 PCR-05: 23 E4 5B 96 79 C4 52 F7 4A EA 76 04 46 FF BB D1 02 D0 3D 27 PCR-06: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR-07: 5B 93 BB A0 A6 64 A7 10 52 59 4A 70 95 B2 07 75 77 03 45 0B PCR-08: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR-09: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR-10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR-11: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR-12: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR-13: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR-14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR-15: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR-16: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 PCR-17: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR-18: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR-19: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR-20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR-21: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR-22: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PCR-23: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 3 Key slots are available No keys are loaded Unable to read Pubek Unsure why it reports TPM 1.1 here, and 1.2 when the driver initializes. But at least I've gotten the chip to do a "Hello World!", so that's progress. :)
pgpoU9XlI6jKS.pgp
Description: PGP signature