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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to