This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Oops when modprobing ivtv outside of dom0

To: David Muench <davemuench@xxxxxxxxx>
Subject: Re: [Xen-devel] Oops when modprobing ivtv outside of dom0
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Tue, 05 Jul 2005 07:46:54 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 05 Jul 2005 06:45:42 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: Your message of "Mon, 04 Jul 2005 17:03:00 EDT." <bc0c36d305070414032a5c2ef5@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> On 7/4/05, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote:
> > That's weird. It's crashing somewhere in ivtv_probe(), yet one of the
> > first things that function does is print a line of debug output. But
> > that output hasn;t appeared in your trace. :-/
> >
> > Maybe try adding an explicit printk at the start of ivtv_probe and see
> > if that appears:
> >   printk(KERN_ALERT "**********\n");
> You mean the "Found card #" message? That did show up on the one that
> I modprobe'd with ivtv_debug=255.
> Here's the dmesg output with the printk added, and with ivtv_debug=255:

Ah, I see the bug. It's in both 2.0 and 3.3 (the unstable version) so
it's worth pointing out to the developers. The following code in
ivtv_setup_pci() is broken:

        if (pci_bus != NULL && pci_bus->vendor == PCI_VENDOR_ID_VIA) {
        } else
                IVTV_KERN_INFO("XXX PCI device: 0x%04x vendor: 0x%04x\n",
                                pci_bus->device, pci_bus->vendor);

The else clause should be 'else if (pci_bus != NULL)'. Otherwise the
debug IVTV_KERN_INFO line crashes trying to dereference a NULL
pointer. :-)

Actually, I think maybe they could get rid of that entire block of
code -- nothing seems to depend on via_fix, which is the variable that
it sets up.

 -- Keir

Xen-devel mailing list