According to mass storage specification: "Logical Unit Numbers on the device shall be numbered contiguously starting from LUN 0 to a maximum LUN of 15 (Fh)" So let's at least print a warning message that LUNs ids should be contiguous. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> --- drivers/usb/gadget/function/f_mass_storage.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/usb/gadget/function/f_mass_storage.c b/drivers/usb/gadget/function/f_mass_storage.c index 5fcd9a0..69167ad 100644 --- a/drivers/usb/gadget/function/f_mass_storage.c +++ b/drivers/usb/gadget/function/f_mass_storage.c @@ -3042,6 +3042,13 @@ static int fsg_bind(struct usb_configuration *c, struct usb_function *f) return -EINVAL; } + for (i = 0; i < ARRAY_SIZE(common->luns); ++i) + if (!common->luns[i]) + break; + + if (ret != i - 1) + pr_err("LUN ids should be contiguous.\n"); + opts = fsg_opts_from_func_inst(f->fi); if (!opts->no_configfs) { ret = fsg_common_set_cdev(fsg->common, c->cdev, -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html