[Bt848x-ja-users 8] Re: panic が発生しました。

Back to archive index

SAWADA Keiji card_capto****@users*****
2005年 9月 30日 (金) 08:22:32 JST


澤田です。
報告ありがとうございます。
逝ってしまわれましたか…

On Thu, 29 Sep 2005 21:47:03 +0900
Kazuyuki Sato <kazus****@sunfi*****> wrote:

>   ( ・ω・)∩ sdlview 立ち上げて、gtk-v4lctl で channel を変更する
>        ボタンを押した瞬間にpanic きたー
> 
>  dmesg の panic message つけておきます。
>  ちなみに、v4l2ctrl もつけときます。

調べてみました。チューナの周波数を設定する処理の途中で

> Sep 29 21:05:10 enguage unix: [ID 839527 kern.notice] gtk-v4lctl:
> Sep 29 21:05:10 enguage unix: [ID 123557 kern.notice] alignment error:
> Sep 29 21:05:10 enguage unix: [ID 381800 kern.notice] addr=0x30003c85464

とありますが、32ビット値で周波数を渡しているのに、
間違えて64ビットモードでlong値(64ビット値)として取出してしまってました。

SPARC版、かつ64ビットカーネルでだけ発生するはずです。
一応こんなパッチで直ると思いますが、他にもないか見直してみます。
なおCVSにはもう入ってます。

######################################################################
diff -u -r1.14 tuner.c
--- i2c/tuner.c 23 Sep 2005 03:19:38 -0000      1.14
+++ i2c/tuner.c 29 Sep 2005 22:55:55 -0000
@@ -977,7 +977,7 @@
        }
        case VIDIOCSFREQ:
        {
-               unsigned long *v = arg;
+               uint32_t *v = arg;

                if (t->radio) {
                        d_print("radio freq set to %d.%02d\n",
######################################################################



さて、

> --
> # ./v4l2ctrl -mmap1
> v4l2ctrl: buf[0]: offset=0, total=3538944
> v4l2ctrl: buf[1]: offset=884736, total=3538944
> v4l2ctrl: buf[2]: offset=1769472, total=3538944
> v4l2ctrl: buf[3]: offset=2654208, total=3538944
> ioctl(VIDIOCSYNC): I/O error

> # ./v4l2ctrl -read
> v4l2ctrl: read(2) returns 0, errno=22

まだ正常なビデオ信号が入力されてないなら、
これらのエラーは意図どおりです。ただ、

> # ./v4l2ctrl -mmap
> v4l2ctrl: requested 1 buffers, got 1
> ioctl(VIDIOC_QUERYBUF),mmap: Invalid argument

はバッファの確保は成功してるのに変ですね。
今朝はちょっと時間切れですので、後で調べてみます。

---
ksw / SAWADA Keiji
<card_capto****@users*****>



Bt848x-ja-users メーリングリストの案内
Back to archive index