• Paul Walmsley's avatar
    Fix hang on IBM Token Ring PCMCIA card ejection · 5bebf82f
    Paul Walmsley authored
    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: default avatarPaul Walmsley <paul@booyaka.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    5bebf82f
ibmtr_cs.c 12.5 KB