[linux-users: 108903] Re: kernel : Disabling IRQ#64について

KISHIMOTO, Makoto ksmakoto @ dd.iij4u.or.jp
2012年 7月 24日 (火) 21:30:21 JST


ドライバを作っておられるということで、基本的な所はわかっておられると
思いますが、何らかの理由で変な(?)タイミングで割り込みが発生したか、
カーネルのハンドラが呼ばれるかして、「へんな割り込みが発生したから、
この割り込みを禁止にしたぞ」という意味で、カーネルがメッセージを
吐いています。

このメッセージにともなう症状としては、必ずしもリセットがかかるとは
限らないので、リセットがかかるということ自体が何らかのヒントかも
しれません。

> IRQは周辺機器の接続に割り当てられたポート番号みたいなものです。
> カーネルのその無効にする設定をオフにすれば有効(enabled)に
> なるかと思われますし、ドライバの設定を64以外の空いている番号に
> すればそれでも通るかと思われます。

> > シリアルボードのドライバを作成したところ、時々
> > kernel : Disabling IRQ#64
> > が発生して、Linuxがリブートする現象が発生しております。
> >
> > IRQ#64
> > の64は、ボードに割り当てられた割り込みです。
> >
> > マシンはHP社のGEN8を使用しています。
> > Linuxは、Red Hat Enterprise Linux 6.1を使用しています。
> >
> > /var/log/messagesを見ると
> > Disabling IRQ #64に至るまでのCall Traceが残っているのですが、
> > 最終的に、__report_bad_irqに至り、"Disabling IRQ #64"となっています。
> >
> > この "Disabling IRQ #64" は、どの様な時に発生するのでしょうか?
> > また、着眼すべきポイントを御存知でしたら御教授願います。


linux-users メーリングリストの案内