From bf03086f1aa66abd50d440db7895dfd535095e0c Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 27 Sep 2017 09:47:24 +0200 Subject: usbgadget: autostart: Handle errors in file list gracefully 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 --- 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 #include #include @@ -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; -- cgit v1.2.3