On 10/06/2015 01:11 AM, Russell King - ARM Linux wrote: > On Mon, Sep 07, 2015 at 03:44:43PM +0200, Hans Verkuil wrote: >> + cec->adap = cec_create_adapter(&s5p_cec_adap_ops, cec, >> + CEC_NAME, CEC_CAP_STATE | >> + CEC_CAP_PHYS_ADDR | CEC_CAP_LOG_ADDRS | CEC_CAP_IO | >> + CEC_CAP_IS_SOURCE, >> + 0, THIS_MODULE, &pdev->dev); >> + ret = PTR_ERR_OR_ZERO(cec->adap); >> + if (ret) >> + return ret; >> + cec->adap->available_log_addrs = 1; >> + >> + platform_set_drvdata(pdev, cec); >> + pm_runtime_enable(dev); > > This is really not a good interface. > > "cec_create_adapter" creates and registers the adapter, at which point it > becomes available to userspace. However, you haven't finished setting it > up, so it's possible to nip in here and start using it before the setup > has completed. This needs fixing. > Good point, I'll split off the registration part into a separate function. Regards, Hans -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html