納品の時期ですっかりBlogのことを忘れてた。 というわけで久しぶりに更新。 Kernel2.6.20を今まで使っていて、今回2.6.21に変更したら 担当ドライバをinsmodしたときにNULLポインタにアクセスして カーネルパニックを起こすようになっちゃった。 そんなわけで、コードの見直しを迫られたわけですが、 どうやら、request_irq近辺で落ちているらしい。 で、コンソールにデバッグ出力させたら、どうやらrequest_irqで 登録するhandlerがなぜか呼ばれていると。 このドライバでは、ユーザがinit処理を呼び出してから割り込みが 発生するという前提の下、作られていたわけで insmod時に割り込みハンドラが呼ばれたせいでinit処理していない変数を 参照したためにNULLポインタアクセスエラーになったという落ちでした。 で、request_irqの何が変わったんだ