• Sarangdhar Joshi's avatar
    remoteproc: Drop firmware_loading_complete · 2099c77d
    Sarangdhar Joshi authored
    firmware_loading_complete is used to synchronize operations
    on rproc while asynchronous firmware loading is in progress.
    However, rproc_boot() no longer waits on
    firmware_loading_complete. Hence drop this completion
    variable altogether and handle the race between rproc_del()
    and rproc_boot() using new state RPROC_DELETED.
    
    The request_firmware_nowait() will hold the reference to
    rproc device by using a get_device()/put_device(), so the
    rproc struct will remain valid even when we return from
    rproc_del() before the asynchronous call to
    rproc_fw_config_virtio() completes.
    
    CC: Loic Pallardy <loic.pallardy@st.com>
    CC: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: default avatarSarangdhar Joshi <spjoshi@codeaurora.org>
    Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
    2099c77d
remoteproc_core.c 42.2 KB