Subject: kern/9485: more CSC interrupt problems on TI113X
To: None <gnats-bugs@gnats.netbsd.org>
From: None <rafal@mediaone.net>
List: netbsd-bugs
Date: 02/24/2000 19:27:37
>Number:         9485
>Category:       kern
>Synopsis:       Card insertion processing disables further CSC interrupts
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 24 19:27:00 2000
>Last-Modified:
>Originator:     Charlie Root
>Organization:
	Highly unlikely..
>Release:        -current of 02/24/2000
>Environment:

System: NetBSD groo-the-wanderer.waterside.net 1.4T NetBSD 1.4T (GROO) #14: Thu Feb 24 20:41:18 EST 2000 root@groo-the-wanderer.waterside.net:/usr/src/sys/arch/i386/compile/GROO i386

	DEC VP765 Laptop
	TI1131 CardBus bridge
	Best Data 56K PCMCIA modem card
	SVEC/Hakwing Technology NE-2000 compatible PCMCIA network card

>Description:
	The system in question is *again* having trouble detecting insertion 
	and/or removal of PCMCIA card (CardBus cards not yet tested this time
	around as I don't have any accessible at the moment)

	If I boot with card(s) in the slots, I never receieve any CSC interrupts
	from the occupied slot(s); functional interrupts from the cards, once 
	enabled, are generated and processed fine.

	If I boot without card(s) in the slots, I am able to generate *ONE* CSC
	interrupt for EACH SLOT that was empty at boot (that is, each card 
	insertion is noticed), but once the cards are probed, am back to the 
	same situation as above.

	I'm not sure if card insertion somehow stomps on the state of what 
	interrupts the CBB generates, or if the TI1131 CBB must be re-prog-
	rammed after each card change;  initial setup of the interrupt-specific
	registers on the 1131 was checked to DTRT.

>How-To-Repeat:
	Either follow the below procedure:
		(1) Boot laptop without cards.  
		(2) Insert card in each slot.
			Card insertion is detected and cards are probed and
			attached.
		(3) Note number of interrupts from CBB.
		(4) After both card probed & attached, attempt to remove one
		    of them:
			Card removal is *not* detected by the kernel, the 
			CBB interrupt counter has *not* changed.
		(5) Try removing the other card, same thing happens.
		(6) If card is re-inserted and you attempt to use it, Bad 
		    Things(tm) happen; basically all accesses time out.
		
	Or, the alternate procedure:
		(1) Boot laptop with cards in both slots
			Cards are probed and attached by kernel.
		(2) Note number of interrupts from CBB.
		(3) Attempt to remove one of the cards:
			Card removal is *not* detected by the kernel, the 
			CBB interrupt counter has *not* changed.
		(4) Try removing the other card, same thing happens.

		[I haven't checked if attempts to use the card here time out
		 as well, but I'm guessing the answer is 'yes' as well...]

>Fix:
	Yes, please :/

>Audit-Trail:
>Unformatted: