> >  int mei_register(struct mei_device *dev)  {
> > +   struct device *device = &dev->pdev->dev;
> >     int ret;
> > -   mei_misc_device.parent = &dev->pdev->dev;
> > +
> > +   mei_misc_device.parent = device;
> >     ret = misc_register(&mei_misc_device);
> >     if (ret)
> >             return ret;
> >
> > +   ret = sysfs_create_group(&device->kobj, &mei_attr_group);
> > +   if (ret)
> > +           return ret;
> 

> And you just lost the race with userspace (you told it you had a device, it
> went and scanned your attributes and saved them, then you registered
> more...)
> 
> Please use the dev_groups field for your class to properly have the driver
> core register these before userspace is told about the device, that's the
> correct way to do this.

Just to make sure, is this what you're suggesting ?

device->groups = mei_attr_groups
mei_misc_device.parent = device;
ret = misc_register(&mei_misc_device);

Thanks
Tomas 

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

Reply via email to