Re: [PATCH 1/4] usbgadget: autostart: Handle errors in file list gracefully

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 27, 2017 at 11:12:42AM +0200, Sascha Hauer wrote:
> file_list_parse() can fail and returns an error pointer. Print
> an error message when it fails and also set to NULL again so
> that usb_multi_register() does not stumble upon the error pointer.
> 
> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
> ---
>  drivers/usb/gadget/autostart.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/gadget/autostart.c b/drivers/usb/gadget/autostart.c
> index 465d8fd380..3fa43137fa 100644
> --- a/drivers/usb/gadget/autostart.c
> +++ b/drivers/usb/gadget/autostart.c
> @@ -11,6 +11,8 @@
>   * GNU General Public License for more details.
>   *
>   */
> +#define pr_fmt(fmt) "usbgadget autostart: " fmt
> +
>  #include <common.h>
>  #include <command.h>
>  #include <errno.h>
> @@ -42,8 +44,14 @@ static int usbgadget_autostart(void)
>  	opts = xzalloc(sizeof(*opts));
>  	opts->release = usb_multi_opts_release;
>  
> -	if (fastboot_function)
> +	if (fastboot_function) {
>  		opts->fastboot_opts.files = file_list_parse(fastboot_function);
> +		if (IS_ERR(opts->fastboot_opts.files)) {
> +			pr_err("Parsing file list \"%s\" failed: %s\n", fastboot_function,
> +			       strerrorp(opts->fastboot_opts.files));
> +			opts->fastboot_opts.files = NULL;
> +		}
> +	}
>  
>  	opts->create_acm = acm;

Reviewed-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux