Am 14.06.2016 um 10:05 schrieb Oliver Neukum: > On Tue, 2016-06-14 at 07:51 +0200, Heiner Kallweit wrote: > >> + ret = hid_hw_start(hdev, HID_CONNECT_HIDRAW); >> + if (ret) >> + return ret; >> + >> + minor = ((struct hidraw *) hdev->hidraw)->minor; >> + >> + ret = dc_init_device(dcdev); > > That is a race condition. You announced an uninitialized device to the > rest of the system. > I don't see a race. The hdev and lock elements of dcdev are initialized and dc_init_device just calls dc_send to send the init command to the device. It doesn't announce anything. >> + if (ret) >> + goto err; >> + >> + ret = dc_init_rgb(dcdev, minor); >> + if (ret) >> + goto err; >> + >> + dev_info(&hdev->dev, "Dream Cheeky Webmail Notifier %d initialized\n", minor); >> + >> + return 0; >> + >> +err: >> + hid_hw_stop(hdev); >> + return ret; >> +} > > 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