Bug 29794

Summary: [f: 4.4] Laptop warm reboot hangs if any pcmcia card are installed
Product: Base System Reporter: Tony Maher <tonym>
Component: kernAssignee: Warner Losh <imp>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description Tony Maher 2001-08-17 07:10:00 UTC
	A warm reboot hangs if there are any pcmcia card inserted.
	This appears to have started after Warner did the
	"pcic pci attachments merged from current" (Wed Aug 15 14:37:59 2001)
	but I cannot be sure.

	When I reboot (and I think halt and press key for reboot) the system
	shuts down normally but as it comes back up the BIOS prints something
	like:

	----------------------------------------------------------------------
	Phoenix Bios 4.0 Release 6.0
	Copyright 1985-1998 Phoenix Technolgies Ltd
	All rights reserved

	Inspiron 3500 A400GT BIOS Rev A11
	----------------------------------------------------------------------

	then it hangs.  Normally the next thing in a warm reboot is something
	about "Mouse initialized" but it does not get to there.

	If I remove both cards then the reboot works normally.

	So I assume that ejecting cards does something to controller that
	reboot/halt does not and leaves them in a strange state.

Fix: 

Eject cards before rebooting :-(
How-To-Repeat:     Type reboot (or halt then press a key) with a pcmcia card inserted.
Comment 1 Warner Losh freebsd_committer freebsd_triage 2001-08-17 17:28:40 UTC
Responsible Changed
From-To: freebsd-bugs->imp

I'll fix it.
Comment 2 Tony Maher 2001-08-22 06:31:27 UTC
Some minor additional info for when Warner gets a chance to look at
this:

Just updated and did a make world cycle.  Everything still works fine
:-)
but now a warm boot does not show *any* bios message and just hangs with
blank screen and ethernet dongle leds remain powered up.

thanks
tonym
Comment 3 Tony Maher 2001-08-25 23:16:38 UTC
Folowing change to src/sys/pccard pcic_pci.c (1.54.2.9) I have cvsup'ed
and just rebuilt the kernel
(I didn't do world as it didn't look like any userland stuff was
touched).

Mostly good news.

Laptop (Dell 3500 - http://www.freebsd.org/cgi/query-pr.cgi?pr=29794)
now does a warm reboot well at least to a certain point.
Actually it will succeed fully depending on card combination.

Normally I have in slot 0: ed0: D-Link (/DE-6[56]0/)
                   slot 1:  "Psion Dacom" ("Gold Card Global 56K+Fax")

THis combination will boot to 
...
pccard: card inserted slot 0
pccard: card inserted slot 1

Then hangs. If I ejected either one it will continue to boot normally
and I can reinsert the card almost immediately without any problems.

Booting with just one of the card works perfectly.

I also tried booting with the above cards in combination with an
Adaptec 1460D.  IN this case both combinations of Adaptec 1460
plus D-Link or Gold card boot perfectly.

It is only the combination of D-Link and Gold card that hangs.

I also tried rearranging cards in slots but that make no difference.

One other thing I note is with two card inserted I see
pccard: card inserted slot 0
pccard: card inserted slot 1
pccard: card inserted slot 0
pccard: card inserted slot 1

and with the "bad" combination I see
pccard: card inserted slot 0
pccard: card inserted slot 1
                                    <- eject card in slot 1
pccard: card removed, slot 1
pccard: card inserted slot 0

ALso note: at reboot the leds on ethernet dongle now power off as
expected.

Dont know if pir output is useful in my case but here it is:

$PIR table at 0x2811af80 version 1.0
PCI interrupt router at 0:3.8 vendor 0x8086 device 0x122e
PCI-only interrupts [                                     ]
entry bus slot device
 00:  00   00    07  INTA  00  [      3 4 5 6 7   9 10 11 12    14 15]
                     INTB  00  [      3 4 5 6 7   9 10 11 12    14 15]
                     INTC  00  [      3 4 5 6 7   9 10 11 12    14 15]
                     INTD  63  [                    10               ]
 01:  00   00    01  INTA  00  [      3 4 5 6 7   9 10 11 12    14 15]
                     INTB  61  [                       11            ]
                     INTC  00  [      3 4 5 6 7   9 10 11 12    14 15]
                     INTD  00  [      3 4 5 6 7   9 10 11 12    14 15]
 02:  00   00    04  INTA  60  [                       11            ]
                     INTB  61  [                       11            ]
                     INTC  00  [      3 4 5 6 7   9 10 11 12    14 15]
                     INTD  00  [      3 4 5 6 7   9 10 11 12    14 15]
 03:  255   00    00  INTA  00  [      3 4 5 6 7   9 10 11 12    14 15]
                     INTB  61  [                       11            ]
                     INTC  00  [      3 4 5 6 7   9 10 11 12    14 15]
                     INTD  00  [      3 4 5 6 7   9 10 11 12    14 15]


Its sooo close!

thanks!
tonym
Comment 4 Tony Maher 2001-08-28 06:15:24 UTC
After latest round of pcic changes - laptop still locks up at same point 
with my network card and modem card - however it does now print out 
some extra informational when the modem card is inserted

"sio4: unable to activate interrupt in fast mode - using normal mode"

Aug 28 14:47:26 dt pccardd[1245]: Card "Psion Dacom"("Gold Card Global
56K+Fax") [56K+Fax] [V8.25] matched "Psion Dacom" ("Gold Card Global
56K+Fax") [(null)] [(null)] 
sio4 at port 0x2f8-0x2ff irq 11 slot 1 on pccard1
sio4: type 16550A
sio4: unable to activate interrupt in fast mode - using normal mode
Aug 28 14:47:31 dt pccardd[1245]: sio4: Psion Dacom (Gold Card Global
56K+Fax) inserted.
Comment 5 Tony Maher 2001-09-19 00:28:38 UTC
This PR can be closed.

thanks
--
  Tony Maher
Comment 6 Warner Losh freebsd_committer freebsd_triage 2001-09-19 01:04:50 UTC
State Changed
From-To: open->closed

Several reports are that this can be closed.