Wright Feng <[email protected]> writes:

> For legacy chips w/o CLM blob files, kernel with user helper function
> enables returns -EAGAIN when we request_firmware() for blob file:
> "request_firmware() -> _request_firmware() -> fw_load_from_user_helper()
> -> _request_firmware_load() -> retval=-EAGAIN"
> We should do one more retry

Who says that we should do one more retry?

> and continue brcmf_c_process_clm_blob if getting -EAGAIN from
> request_firmware function.
>
> Signed-off-by: Wright Feng <[email protected]>

[...]

> @@ -180,11 +183,18 @@ static int brcmf_c_process_clm_blob(struct brcmf_if 
> *ifp)
>               return err;
>       }
>  
> -     err = request_firmware(&clm, clm_name, dev);
> +     do {
> +             err = request_firmware(&clm, clm_name, dev);
> +     } while (err == -EAGAIN && retries++ < CLM_LOAD_RETRIES);

This looks like a REALLY ugly workaround, please think three times
before submitting something like this. And if you still decide to submit
it, put a good effort on the commit log to explain why the hack would be
acceptable.

Have you investigated why you are getting the -EGAIN, user space not
ready during boot or something like that?

-- 
Kalle Valo

Reply via email to