#30 ToPIC97 - freeze at shutdown

closed-accepted
nobody
None
5
2002-04-25
2002-04-24
No

I have ToPIC97 (can be switched to ToPIC95-B) PCMCIA controller and 3Com Cardbus 3C575CT
card. The card is not very important, but it uses in my computer IO range 0x200-0x27f.

Problem: The "/etc/rc.d/init.d/pcmcia stop" freezes sometimes.

I tracked the problem to incorrect sequence of statements while turning off IO range mapping.
When PCMCIA system works: BASE=0x200, LIMIT=0x27f
When PCMCIA system is going down, the state after the first "pci_writel" is: BASE=0x0,
LIMIT=0x27f
That suggests that my CardBus card is completely blocking important IO addresses in range
0x0-0x1ff.
The solution presented below tries to turn off the "LIMIT" first.

Tested on ToPIC95-B, ToPIC97.
Tested on kernel 2.0.38, 2.4.18.
I don't know, how it behaves on other controllers that are i82365/CardBus compatible.
I don't know if the same problem can occure on MEM ranges.
Piotr Kasprzyk

diff -r -u pcmcia-cs-3.1.33/modules/i82365.c pcmcia-cs-3.1.33_new/modules/i82365.c
--- pcmcia-cs-3.1.33/modules/i82365.c Tue Feb 26 05:50:28 2002
+++ pcmcia-cs-3.1.33_new/modules/i82365.c Tue Apr 23 21:14:39 2002
@@ -2261,8 +2261,8 @@
pci_writel(s, CB_MEM_BASE(map), m->start);
pci_writel(s, CB_MEM_LIMIT(map), m->stop);
} else {
- pci_writel(s, CB_MEM_BASE(map), 0);
pci_writel(s, CB_MEM_LIMIT(map), 0);
+ pci_writel(s, CB_MEM_BASE(map), 0);
}
return 0;
}

Discussion

  • David Hinds

    David Hinds - 2002-04-25
    • status: open --> closed-accepted
     
  • David Hinds

    David Hinds - 2002-04-25

    Logged In: YES
    user_id=7760

    Thanks, great work.

    -- Dave

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks