Date: Mon, 30 Oct 2000 21:27:18 +0900 (JST) From: sanpei@sanpei.org (MIHIRA Yoshiro) To: archie@dellroad.org Cc: freebsd-mobile@FreeBSD.ORG Subject: Re: PCMCIA card temporarily freezes system Message-ID: <200010301227.e9UCRIb08030@lavender.sanpei.org> In-Reply-To: Your message of "Sat, 28 Oct 2000 11:52:10 -0700 (PDT)". <200010281852.e9SIqAO34152@curve.dellroad.org>
next in thread | previous in thread | raw e-mail | index | archive | help
archie@dellroad.org wrote:
>> I have this PCMCIA card: PMX PE-200, which uses the "ed" driver.
>> It has worked for me before on another system, but in trying
>> on a ThinkPad A20m laptop with FreeBSD 4.1.1-REL, it seems
>> to temporarily "freeze" the system when plugged in.
>>
>> That is, if pccardd is not running, everything looks normal.
>> When pccardd is started, it detects the card and the kernel
>> spits out the probe message with the IRQ and memory address,
>> and then the system completely freezes:
>>
>> pccard: card inserted, slot 0
>> ed0 at port 0x300-0x31f iomem 0xd4000-0xd43ff irq 10 slot 0 on pccard0
>>
>> Pressing keys on the keyboard does nothing. But then if I pop out
>> the card, the system continues normally (responding to any keys
>> pressed while frozen), printing out the card's Ethernet address,
>> etc. Of course then pccard immediately detects the card has been
>> popped out and detaches the interface:
>>
>> ed0: address 00:20:e0:0f:a6:9f, type NE2000 (16 bit)
>> ed0: detached
>> pccard: card removed, slot 0
>> stray irq 10
>>
>> This can be repeeated any number of times.
>>
>> Any ideas? I've tried different interrupts, etc., to no avail.
>> This card works fine under Win98 on the same laptop. Dmesg
>> excerpts below..
Try below quick hack patch.
Some PC-Card which uses "ed" driver have hung-up with ed_get_linksys.
But we don't solve this problem....
Cheers
MIHIRA Yoshiro
--- sys/dev/ed/if_ed_pccard.c.org Mon Oct 30 21:24:34 2000
+++ sys/dev/ed/if_ed_pccard.c Mon Oct 30 21:24:48 2000
@@ -201,13 +201,17 @@
return (error);
}
+#if 0
if (ed_get_Linksys(sc) == 0) {
+#endif
pccard_get_ether(dev, ether_addr);
for (i = 0, sum = 0; i < ETHER_ADDR_LEN; i++)
sum |= ether_addr[i];
if (sum)
bcopy(ether_addr, sc->arpcom.ac_enaddr, ETHER_ADDR_LEN);
+#if 0
}
+#endif
error = ed_attach(sc, device_get_unit(dev), flags);
return (error);
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010301227.e9UCRIb08030>
