|
@@ -2849,7 +2849,7 @@ static int _ffs_func_bind(struct usb_configuration *c,
|
|
goto error;
|
|
goto error;
|
|
|
|
|
|
func->function.os_desc_table = vla_ptr(vlabuf, d, os_desc_table);
|
|
func->function.os_desc_table = vla_ptr(vlabuf, d, os_desc_table);
|
|
- if (c->cdev->use_os_string)
|
|
|
|
|
|
+ if (c->cdev->use_os_string) {
|
|
for (i = 0; i < ffs->interfaces_count; ++i) {
|
|
for (i = 0; i < ffs->interfaces_count; ++i) {
|
|
struct usb_os_desc *desc;
|
|
struct usb_os_desc *desc;
|
|
|
|
|
|
@@ -2860,13 +2860,15 @@ static int _ffs_func_bind(struct usb_configuration *c,
|
|
vla_ptr(vlabuf, d, ext_compat) + i * 16;
|
|
vla_ptr(vlabuf, d, ext_compat) + i * 16;
|
|
INIT_LIST_HEAD(&desc->ext_prop);
|
|
INIT_LIST_HEAD(&desc->ext_prop);
|
|
}
|
|
}
|
|
- ret = ffs_do_os_descs(ffs->ms_os_descs_count,
|
|
|
|
- vla_ptr(vlabuf, d, raw_descs) +
|
|
|
|
- fs_len + hs_len + ss_len,
|
|
|
|
- d_raw_descs__sz - fs_len - hs_len - ss_len,
|
|
|
|
- __ffs_func_bind_do_os_desc, func);
|
|
|
|
- if (unlikely(ret < 0))
|
|
|
|
- goto error;
|
|
|
|
|
|
+ ret = ffs_do_os_descs(ffs->ms_os_descs_count,
|
|
|
|
+ vla_ptr(vlabuf, d, raw_descs) +
|
|
|
|
+ fs_len + hs_len + ss_len,
|
|
|
|
+ d_raw_descs__sz - fs_len - hs_len -
|
|
|
|
+ ss_len,
|
|
|
|
+ __ffs_func_bind_do_os_desc, func);
|
|
|
|
+ if (unlikely(ret < 0))
|
|
|
|
+ goto error;
|
|
|
|
+ }
|
|
func->function.os_desc_n =
|
|
func->function.os_desc_n =
|
|
c->cdev->use_os_string ? ffs->interfaces_count : 0;
|
|
c->cdev->use_os_string ? ffs->interfaces_count : 0;
|
|
|
|
|