On Thu, 2016-05-19 at 15:44 +0300, Heikki Krogerus wrote: > + dev->class = &typec_class; > + dev->parent = parent; > + dev->type = &typec_partner_dev_type; > + dev_set_name(dev, "%s-partner", dev_name(&port->dev)); > + > + ret = device_register(dev); > + if (ret) { > + put_device(dev); > + return ret; > + } This looks like a race condition. > + ret = typec_register_altmodes(dev, partner->alt_modes); > + if (ret) { > + device_unregister(dev); > + return ret; > + } > + > + /* REVISIT: Creating symlink for the port device for now. */ > + ret = sysfs_create_link(&port->dev.kobj, &dev->kobj, "partner"); > + if (ret) > + dev_WARN(&port->dev, "failed to create link to %s (%d)\n", > + dev_name(dev), ret); The attributes should be present as soon as the device is announced. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html