On Thu, Dec 08, 2016 at 03:47:22PM +0100, Daniel Wagner wrote: > On 12/07/2016 02:01 AM, Bjorn Andersson wrote: > > When request_firmware() finds an already open firmware object it will > > wait for that object to become fully loaded and then check the status. > > As __fw_state_wait_common() succeeds the timeout value returned will be > > truncated in _request_firmware_prepare() and interpreted as -EPERM. > > > > Prior to "firmware: do not use fw_lock for fw_state protection" the code > > did test if we where in the "done" state before sleeping, causing this > > particular code path to succeed, in some cases. > > > > As the callers are interested in the result of the wait and not the > > remaining timeout the return value of __fw_state_wait_common() is > > changed to signal "done" or "error", which simplifies the logic in > > _request_firmware_load() as well. > > Oops, sorry about that one. With your fix the code starts to make sense. > > > Fixes: 5b029624948d ("firmware: do not use fw_lock for fw_state protection") > > Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > > Reviewed-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx> Luis -- To unsubscribe from this list: send the line "unsubscribe linux-remoteproc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html