From: Wink Saville <wink@saville.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Arjan van de Ven <arjan@infradead.org>,
Matthias Hentges <oe@hentges.net>,
linux-kernel@vger.kernel.org,
linux-fbdev-devel@lists.sourceforge.net
Subject: Re: Hang in fb_notifier_call_chain with nvidia framebuffer
Date: Sun, 08 Oct 2006 01:14:47 -0700 [thread overview]
Message-ID: <4528B377.2050104@saville.com> (raw)
In-Reply-To: <20061007230129.323ac807.akpm@osdl.org>
Andrew Morton wrote:
> On Wed, 04 Oct 2006 09:26:04 -0700
> Wink Saville <wink@saville.com> wrote:
>
>> Attached in the zip file is:
>>
>> log-hang1.txt -> log showing hang
>> cfg-hang1 -> config file for hang condition
>> cfg-ok -> config file that works
>> fbmem.c -> Modifications to register_framebuffer
>>
>> To possibly assist I turned on debugging in nvidia.c and found that it
>> hung in the call to register_framebuffer. I then added some additional
>> debug in that routine and it appears the hang occurs in the call to
>> fb_notifier_call_chain.
>>
>> Please let me know what else maybe needed.
>
> Please:
>
> - get sysrq working:
>
> set CONFIG_MAGIC_SYSRQ=y, rebuild, reboot
> echo 1 > /proc/sys/kernel/sysrq
> dmesg -n 8
>
> - make it hang
>
> - Hit alt-sysrq-T
>
> - Send us the resulting output
>
> Thanks.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
Andrew,
Thank you for the reply, I believe I've found the reason frame buffer doesn't
work on my system, there is a divide by zero occurring at line 157 of
nvGetClocks in ./drivers/video/nvidia/nv_hw.c.
(Note: The screwy output below is due to hacking drivers/serial/8250.c to add two
routines serial_putchar and serial_putchars so that I could make progress looking
for the bug, as printk stopped working at acquire_console_sem called from bind_con_driver.)
Last portion of the output:
@[ 97.643286] take_over_console: call bind_con_driver csw=ffffffff805d8600 first=0, last=62, deflt=1
@[ 97.652521] bind_con_driver: E
@[ 97.655774] bind_con_driver: acquire_console_sem
@1[ 97.660604] acquire_console_sem: drivers/char/vt.c:bind_con_driver:2752
@!2345689abABCDEF<fb_con_init>abcdefghij<nvidiafb_set_par>abcd<nvidia_calc_regs>bdjkl<NVCalcStateExt>acei<nv30UpdateArbitrationSettings>a<nv
GetClocks>N=83 NB=0 freq=27000 M=3 MB=0 P=0
From the above output we see MB=0 and hence death at line 157:
*MClk = ((N * NB * par->CrystalFreqKHz) / (M * MB)) >> P;
It would seem that my hardware (7600 GT K0) is not supported by the driver?
It should also be noted that there are quite a number of divisions
in the nv_hw.c that have no protection against divide by zeros.
WARNING: multiple messages have this Message-ID (diff)
From: Wink Saville <wink@saville.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Arjan van de Ven <arjan@infradead.org>,
Matthias Hentges <oe@hentges.net>,
linux-kernel@vger.kernel.org,
linux-fbdev-devel@lists.sourceforge.net
Subject: Re: Hang in fb_notifier_call_chain with nvidia framebuffer
Date: Sun, 08 Oct 2006 01:14:47 -0700 [thread overview]
Message-ID: <4528B377.2050104@saville.com> (raw)
In-Reply-To: <20061007230129.323ac807.akpm@osdl.org>
Andrew Morton wrote:
> On Wed, 04 Oct 2006 09:26:04 -0700
> Wink Saville <wink@saville.com> wrote:
>
>> Attached in the zip file is:
>>
>> log-hang1.txt -> log showing hang
>> cfg-hang1 -> config file for hang condition
>> cfg-ok -> config file that works
>> fbmem.c -> Modifications to register_framebuffer
>>
>> To possibly assist I turned on debugging in nvidia.c and found that it
>> hung in the call to register_framebuffer. I then added some additional
>> debug in that routine and it appears the hang occurs in the call to
>> fb_notifier_call_chain.
>>
>> Please let me know what else maybe needed.
>
> Please:
>
> - get sysrq working:
>
> set CONFIG_MAGIC_SYSRQ=y, rebuild, reboot
> echo 1 > /proc/sys/kernel/sysrq
> dmesg -n 8
>
> - make it hang
>
> - Hit alt-sysrq-T
>
> - Send us the resulting output
>
> Thanks.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
Andrew,
Thank you for the reply, I believe I've found the reason frame buffer doesn't
work on my system, there is a divide by zero occurring at line 157 of
nvGetClocks in ./drivers/video/nvidia/nv_hw.c.
(Note: The screwy output below is due to hacking drivers/serial/8250.c to add two
routines serial_putchar and serial_putchars so that I could make progress looking
for the bug, as printk stopped working at acquire_console_sem called from bind_con_driver.)
Last portion of the output:
@[ 97.643286] take_over_console: call bind_con_driver csw=ffffffff805d8600 first=0, last=62, deflt=1
@[ 97.652521] bind_con_driver: E
@[ 97.655774] bind_con_driver: acquire_console_sem
@1[ 97.660604] acquire_console_sem: drivers/char/vt.c:bind_con_driver:2752
@!2345689abABCDEF<fb_con_init>abcdefghij<nvidiafb_set_par>abcd<nvidia_calc_regs>bdjkl<NVCalcStateExt>acei<nv30UpdateArbitrationSettings>a<nv
GetClocks>N=83 NB=0 freq=27000 M=3 MB=0 P=0
>From the above output we see MB=0 and hence death at line 157:
*MClk = ((N * NB * par->CrystalFreqKHz) / (M * MB)) >> P;
It would seem that my hardware (7600 GT K0) is not supported by the driver?
It should also be noted that there are quite a number of divisions
in the nv_hw.c that have no protection against divide by zeros.
next prev parent reply other threads:[~2006-10-08 8:14 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-02 1:12 PCI: BIOS Bug: MCFG area at f0000000 is not E820-reserved with 2.6.18 kernel Wink Saville
2006-10-02 9:54 ` Andi Kleen
2006-10-02 15:10 ` Wink Saville
2006-10-02 15:22 ` Andi Kleen
2006-10-02 16:08 ` Wink Saville
2006-10-02 17:00 ` Matthias Hentges
2006-10-03 4:12 ` Wink Saville
2006-10-03 12:23 ` Matthias Hentges
2006-10-03 16:33 ` Wink Saville
2006-10-03 13:30 ` Arjan van de Ven
2006-10-03 16:37 ` Wink Saville
2006-10-04 16:26 ` Hang in fb_notifier_call_chain with nvidia framebuffer Wink Saville
2006-10-08 6:01 ` Andrew Morton
2006-10-08 6:01 ` Andrew Morton
2006-10-08 8:14 ` Wink Saville [this message]
2006-10-08 8:14 ` Wink Saville
2006-10-08 9:07 ` Andrew Morton
2006-10-08 9:07 ` Andrew Morton
2006-10-08 18:06 ` Wink Saville
2006-10-05 6:28 ` 2.6.18 Hang in fb_notifier_call_chain while booting " Wink Saville
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4528B377.2050104@saville.com \
--to=wink@saville.com \
--cc=akpm@osdl.org \
--cc=arjan@infradead.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=oe@hentges.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.