[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bsd-nomads:15506] Re: PALDIO 611S




>>>>> "鈴木" == SUZUKI Koichi <koich@cac.co.jp> writes:
>> > Panicなどのメッセージもなにも出ません。> pccardc power してから抜けば固
>> まりません。こちらも同じです。kernel debugger を組み込んでいますが、
>> debugger に落せませんし、何もできません。
鈴木> 私も DDB を組み込んでみましたが、Debugger に落ちませんでした。

たぶん、普通の状態だとDDBには落ちないと思います。

確認していませんが、割り込み処理部分で無限ループしている可能性が高いと思いま
す。

最初からPC Cardのようにデバイスがいきなりなくなる場合があることを前提として
driverが書かれていればいいのですが、昔からあるデバイス用のdriverにはデバイス
がなくなるなんて想定していないコードがあります。

PC Cardが抜かれてしまったけどまだdetachされていない場合、PC Cardのレジスタを
読み出すと0xFF(0xFFFF)が返ってくると思います。
割り込み処理のなかでステータスレジスタの値を見て、フラグが0になるまでループ
している場合、0xFFが返ってきてしまうと無限ループになる可能性があります。

で、無限ループしているのが割り込み処理の中だったりすると、リセットをかける以
外に手がなくなります ;_;
#ただの無限ループですから、DDBにも落ちない :-)

上記のことが起っているとすると、問題となっているdriverで、

1) PC Cardのレジスタを読み出している
2) 読み出した値が特定の条件を満たすまで「無限ループしている」

部分をチェックしていけばいいんじゃないかと思います。
----
山本 茂	<shigeru@iij.ad.jp>				I hate UNICODE :-)