Fix hang on IBM Token Ring PCMCIA card ejection
authorPaul Walmsley <paul@booyaka.com>
Wed, 9 May 2007 16:47:16 +0000 (10:47 -0600)
committerJeff Garzik <jeff@garzik.org>
Wed, 9 May 2007 23:25:15 +0000 (19:25 -0400)
commit5bebf82fff53a96f330c0879ffe870bdf3aaeab6
treed5ddfcb318dbb008acb6618e80fccbacd3f5cebf
parent5b982c5bb7db5cfbc15236d9d45cec32e5472ed5
Fix hang on IBM Token Ring PCMCIA card ejection

Ejecting a PCMCIA IBM Token Ring card that has not had its dev->open()
called will reliably trigger an uninitialized spinlock oops when
spinlock debugging is enabled. The system then hangs, occasionally
softlockup oopsing.  Apparently ibmtr.c:tok_interrupt() doesn't expect
to be called before tok_open(), but tok_interrupt() gets called anyway
when the card is ejected.  So, set an already-existing flag which
causes tok_interrupt() to bail out early upon card ejection. Tested by
inserting and removing the PCMCIA card several times.

Signed-off-by: Paul Walmsley <paul@booyaka.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/pcmcia/ibmtr_cs.c