Re: AGPGart / AMD K7

From: Preston A. Elder
Date: Fri Apr 20 2007 - 16:23:01 EST


Dave, Greg,

Here is the trace with 2.6.20.6

I added back in my trace code, as you see. As you can also see,
agp_amdk7_probe is still not called.

Linux agpgart interface v0.101 (c) Dave Jones
agp_amdk7_init: In function
agp_amdk7_init: Before pci_register_driver
__pci_register_driver: In Function (driver = agpgart-amdk7, multithread = 0)
__pci_register_driver: Before Spinlock
__pci_register_driver: Before Init List Head
__pci_register_driver: Before driver_register
bus_add_driver: In Function (c048e920)
bus_add_driver: Before kobject_set_name
bus_add_driver: error = 0
bus_add_driver: Before kobject_register
bus_add_driver: error = 0
bus_add_driver: Before driver_attach
bus_add_driver: error = 0
bus_add_driver: Before klist_add_tail
bus_add_driver: Before module_add_driver
bus_add_driver: Before driver_add_attrs
bus_add_driver: error = 0
bus_add_driver: Before add_bind_files
bus_add_driver: error = 0
bus_add_driver: Returning 0
__pci_register_driver: error = 0
__pci_register_driver: Before pci_create_newid_file
__pci_register_driver: error = 0
__pci_register_driver: Returning 0

Even when I start X (using the fglrx driver) I still do not see the
probe function being called.

Everything looks successful, too :(

I will try with 2.6.21rc7, but I don't hold out too much hope.

PreZ

Dave Jones wrote:
> On Fri, Apr 20, 2007 at 02:31:01PM -0400, Preston A. Elder wrote:
>
> > Here is the code for __pci_register_driver:
> > ...
> >
> > So in the above case, we ARE saying if driver_register returns 0 then
> > pci_create_newid_file.
> >
> > Is it different to the code you have? As I said, this IS 2.6.19.
>
> Yes, .20 changed this in this way..
>
> @@ -445,9 +442,12 @@ int __pci_register_driver(struct pci_driver *drv, struct module *owner)
>
> /* register with core */
> error = driver_register(&drv->driver);
> + if (error)
> + return error;
>
> - if (!error)
> - error = pci_create_newid_file(drv);
> + error = pci_create_newid_file(drv);
> + if (error)
> + driver_unregister(&drv->driver);
>
> return error;
> }
>
>
> Retry your tracing with .20 (or better yet, .21rc7/todays git)
>
> Dave
>
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/