Bug 32536

Summary: Dell Portables pcmcia error RC2 qa0319
Product: [Retired] Red Hat Linux Reporter: Rogelio Noriega <rogelio_noriega>
Component: kernelAssignee: Michael K. Johnson <johnsonm>
Status: CLOSED WONTFIX QA Contact: Brock Organ <borgan>
Severity: high Docs Contact:
Priority: high    
Version: 7.1CC: notting
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-04-10 16:37:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rogelio Noriega 2001-03-21 15:39:52 UTC
Funny to say, the machine hangs completely if I remove one pcmcia
  card when the pcmcia services ARE STOPPED (that is, first issuing
  "service pcmcia stop" and then removing/swapping one card)
  This last behaviour is hard to understand, it seems there is some
  fake interrupt going around... in principle with the service stopped
  the kernel should not care at all about cards. 

hot swapping works IF AND ONLY IF:
    a) I "eject" the cards with cardctl
    b) I eject them abruptly by hand

Comment 1 Mick Tantasirikorn 2001-03-23 15:37:31 UTC
still exist in qa0322.

Comment 2 Arjan van de Ven 2001-03-23 18:45:25 UTC
Is this cardbus or pcmcia ?


Comment 3 Mick Tantasirikorn 2001-03-26 20:01:41 UTC
This is a cardbus system but it will support pcmcia

Comment 4 Bill Nottingham 2001-03-27 21:43:51 UTC
I was able to reproduce this with both a PCMCIA and a Cardbus card (on a C600).

Comment 5 Bill Nottingham 2001-03-28 21:22:26 UTC
This is a problem with the IRQ being shared betwen PCMCIA and
USB; with the usb-uhci driver unloaded it works OK.

Comment 6 Mick Tantasirikorn 2001-03-29 15:36:25 UTC
how about doing what one of our engineer (Andy Jordan) figured out:

*****
1)The problem only occurred when the card was actively passing data (i.e. 
connected to the network) os in most cases, stopping the network service first 
seemed to do the trick.
2)I checked /etc/rc.d/init.d/pcmcia for the stop section which I have pasted 
below and found that it is only killing cardmgr. I got the same results when I 
tried to send SIGTERM to the PID manually so I know that is the process that is 
hanging. I was also able to verify that the config gets reloaded when cardmgr 
receives SIGHUP -at least that part seems to be working.
3)If I inserted " cardctl eject " somewhere before the kill signal is sent, it 
worked fine. Which seemed to correspond with your findings that a hot eject 
worked fine. So maybe as a workaround, I added the line in red below

stop()
{
	echo -n $"Shutting down PCMCIA card services:"
	if [ -s /var/run/cardmgr.pid ] ; then
		PID= 'cat /var/run/cardmgr.pid'
		/sbin/cardctl eject
		kill $PID
		echo -n $" cardmgr"
		$Give cardmgr a few seconds to handle the signal
		kill -0 $PID 2>/dev/null && sleep 2 && \
		kill -0 $PID 2>/dev/null && sleep 2 && \
		kill -0 $PID 2>/dev/null && sleep 2 && \
		kill -0 $PID 2>/dev/null 
	fi
	etcetera...etcetera...

As far as I can tell, cardmgr is supposed to unload the drivers using insmod -
or modprobe if insmod fails- when it receives SIGTERM. I can only assume that 
the issue is in cardmgr, insmod or the fact that the sockets are now handled as 
yenta -which I think is new in the 2.4 kernel.
******


Comment 7 Matt Wilson 2001-04-03 13:57:31 UTC
oh, we've already fixed this one - it was a kernel bug where yenta_socket didn't
turn off event notification on unload.  When hw events happened it stormed the
machine and froze it.

Should be fine in the 2.4.2-0.1.40 and above kernels.


Comment 8 Mick Tantasirikorn 2001-04-03 19:55:39 UTC
still occurring with a PSION gold card Modem. in 2.4.2-0.1.49

Comment 9 Mick Tantasirikorn 2001-04-06 19:37:17 UTC
when I have the PSION Gold card Modem connected, I type in the command

service pcmcia stop
I eject the card

Then the system hangs.  This does not happen on the 3Com 3c575 Network card any 
more.

Comment 10 Bill Nottingham 2001-04-10 01:55:20 UTC
Hm, I tried this on a gold card here with the C600 and it works OK;
was this the C600 or the i8000 (or something else)?

Comment 11 Mick Tantasirikorn 2001-04-10 16:37:15 UTC
I tried it with a Gold card on 2 different C600 systems.

Can you please try it with 2 cards in the systems (one network and one goldcard 
modem)?  stop the pcmcia service and then eject the cards one at a time.

I can get it to hang consistently.
Thanks.