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*****>