Re: 2.6.19-rc3-mm1 -- missing network adaptors

Mike Galbraith
2006-11-01T21:15:52Z

On Wed, 2006-11-01 at 10:48 -0800, Andrew Morton wrote:

> So it's failing here:
>
> static int device_add_class_symlinks(struct device *dev)
> {
> int error;
>
> if (!dev->class)
> return 0;
> error = sysfs_create_link(&dev->kobj, &dev->class->subsys.kset.kobj,
> "subsystem");
> if (error) {
> DB();
> goto out;
> }
> error = sysfs_create_link(&dev->class->subsys.kset.kobj, &dev->kobj,
> dev->bus_id);
> if (error) {
> -->> DB();
> goto out_subsys;
> }
>
>
> Now, prior to driver-core-fixes-sysfs_create_link-retval-checks-in.patch we
> were simply ignoring the return value of sysfs_create_link(). Now we're
> not ignoring it and stuff is failing.
>
> I'm suspecting that the second call to sysfs_create_link() in device_add():
>
>
> if (dev->class) {
> sysfs_create_link(&dev->kobj, &dev->class->subsys.kset.kobj,
> "subsystem");
> -->> sysfs_create_link(&dev->class->subsys.kset.kobj, &dev->kobj,
> dev->bus_id);
>
> is simply always failing, only we never knew about it.
>
> It would be useful if you could tell us what `error' is in there. Usually
> -EEXIST.

Yeah, they're all -EEXIST.

-Mike