diff options
| -rw-r--r-- | drivers/usb/gadget/f_ecm.c | 7 | ||||
| -rw-r--r-- | drivers/usb/gadget/f_eem.c | 7 | ||||
| -rw-r--r-- | drivers/usb/gadget/f_ncm.c | 7 | ||||
| -rw-r--r-- | drivers/usb/gadget/f_phonet.c | 7 | ||||
| -rw-r--r-- | drivers/usb/gadget/f_rndis.c | 7 | ||||
| -rw-r--r-- | drivers/usb/gadget/f_subset.c | 7 |
6 files changed, 30 insertions, 12 deletions
diff --git a/drivers/usb/gadget/f_ecm.c b/drivers/usb/gadget/f_ecm.c index 5d3561ea1c15..edab45da3741 100644 --- a/drivers/usb/gadget/f_ecm.c +++ b/drivers/usb/gadget/f_ecm.c | |||
| @@ -959,8 +959,11 @@ static struct usb_function_instance *ecm_alloc_inst(void) | |||
| 959 | mutex_init(&opts->lock); | 959 | mutex_init(&opts->lock); |
| 960 | opts->func_inst.free_func_inst = ecm_free_inst; | 960 | opts->func_inst.free_func_inst = ecm_free_inst; |
| 961 | opts->net = gether_setup_default(); | 961 | opts->net = gether_setup_default(); |
| 962 | if (IS_ERR(opts->net)) | 962 | if (IS_ERR(opts->net)) { |
| 963 | return ERR_PTR(PTR_ERR(opts->net)); | 963 | struct net_device *net = opts->net; |
| 964 | kfree(opts); | ||
| 965 | return ERR_CAST(net); | ||
| 966 | } | ||
| 964 | 967 | ||
| 965 | config_group_init_type_name(&opts->func_inst.group, "", &ecm_func_type); | 968 | config_group_init_type_name(&opts->func_inst.group, "", &ecm_func_type); |
| 966 | 969 | ||
diff --git a/drivers/usb/gadget/f_eem.c b/drivers/usb/gadget/f_eem.c index 90ee8022e8d8..d00392d879db 100644 --- a/drivers/usb/gadget/f_eem.c +++ b/drivers/usb/gadget/f_eem.c | |||
| @@ -593,8 +593,11 @@ static struct usb_function_instance *eem_alloc_inst(void) | |||
| 593 | mutex_init(&opts->lock); | 593 | mutex_init(&opts->lock); |
| 594 | opts->func_inst.free_func_inst = eem_free_inst; | 594 | opts->func_inst.free_func_inst = eem_free_inst; |
| 595 | opts->net = gether_setup_default(); | 595 | opts->net = gether_setup_default(); |
| 596 | if (IS_ERR(opts->net)) | 596 | if (IS_ERR(opts->net)) { |
| 597 | return ERR_CAST(opts->net); | 597 | struct net_device *net = opts->net; |
| 598 | kfree(opts); | ||
| 599 | return ERR_CAST(net); | ||
| 600 | } | ||
| 598 | 601 | ||
| 599 | config_group_init_type_name(&opts->func_inst.group, "", &eem_func_type); | 602 | config_group_init_type_name(&opts->func_inst.group, "", &eem_func_type); |
| 600 | 603 | ||
diff --git a/drivers/usb/gadget/f_ncm.c b/drivers/usb/gadget/f_ncm.c index 952177f7eb9b..1c28fe13328a 100644 --- a/drivers/usb/gadget/f_ncm.c +++ b/drivers/usb/gadget/f_ncm.c | |||
| @@ -1350,8 +1350,11 @@ static struct usb_function_instance *ncm_alloc_inst(void) | |||
| 1350 | mutex_init(&opts->lock); | 1350 | mutex_init(&opts->lock); |
| 1351 | opts->func_inst.free_func_inst = ncm_free_inst; | 1351 | opts->func_inst.free_func_inst = ncm_free_inst; |
| 1352 | opts->net = gether_setup_default(); | 1352 | opts->net = gether_setup_default(); |
| 1353 | if (IS_ERR(opts->net)) | 1353 | if (IS_ERR(opts->net)) { |
| 1354 | return ERR_PTR(PTR_ERR(opts->net)); | 1354 | struct net_device *net = opts->net; |
| 1355 | kfree(opts); | ||
| 1356 | return ERR_CAST(net); | ||
| 1357 | } | ||
| 1355 | 1358 | ||
| 1356 | config_group_init_type_name(&opts->func_inst.group, "", &ncm_func_type); | 1359 | config_group_init_type_name(&opts->func_inst.group, "", &ncm_func_type); |
| 1357 | 1360 | ||
diff --git a/drivers/usb/gadget/f_phonet.c b/drivers/usb/gadget/f_phonet.c index 7944fb0efe3b..1bf26e9f38cd 100644 --- a/drivers/usb/gadget/f_phonet.c +++ b/drivers/usb/gadget/f_phonet.c | |||
| @@ -656,8 +656,11 @@ static struct usb_function_instance *phonet_alloc_inst(void) | |||
| 656 | 656 | ||
| 657 | opts->func_inst.free_func_inst = phonet_free_inst; | 657 | opts->func_inst.free_func_inst = phonet_free_inst; |
| 658 | opts->net = gphonet_setup_default(); | 658 | opts->net = gphonet_setup_default(); |
| 659 | if (IS_ERR(opts->net)) | 659 | if (IS_ERR(opts->net)) { |
| 660 | return ERR_PTR(PTR_ERR(opts->net)); | 660 | struct net_device *net = opts->net; |
| 661 | kfree(opts); | ||
| 662 | return ERR_CAST(net); | ||
| 663 | } | ||
| 661 | 664 | ||
| 662 | config_group_init_type_name(&opts->func_inst.group, "", | 665 | config_group_init_type_name(&opts->func_inst.group, "", |
| 663 | &phonet_func_type); | 666 | &phonet_func_type); |
diff --git a/drivers/usb/gadget/f_rndis.c b/drivers/usb/gadget/f_rndis.c index 191df35ae69d..717ed7f95639 100644 --- a/drivers/usb/gadget/f_rndis.c +++ b/drivers/usb/gadget/f_rndis.c | |||
| @@ -963,8 +963,11 @@ static struct usb_function_instance *rndis_alloc_inst(void) | |||
| 963 | mutex_init(&opts->lock); | 963 | mutex_init(&opts->lock); |
| 964 | opts->func_inst.free_func_inst = rndis_free_inst; | 964 | opts->func_inst.free_func_inst = rndis_free_inst; |
| 965 | opts->net = gether_setup_default(); | 965 | opts->net = gether_setup_default(); |
| 966 | if (IS_ERR(opts->net)) | 966 | if (IS_ERR(opts->net)) { |
| 967 | return ERR_CAST(opts->net); | 967 | struct net_device *net = opts->net; |
| 968 | kfree(opts); | ||
| 969 | return ERR_CAST(net); | ||
| 970 | } | ||
| 968 | 971 | ||
| 969 | config_group_init_type_name(&opts->func_inst.group, "", | 972 | config_group_init_type_name(&opts->func_inst.group, "", |
| 970 | &rndis_func_type); | 973 | &rndis_func_type); |
diff --git a/drivers/usb/gadget/f_subset.c b/drivers/usb/gadget/f_subset.c index 5601e1d96c4f..7c8674fa7e80 100644 --- a/drivers/usb/gadget/f_subset.c +++ b/drivers/usb/gadget/f_subset.c | |||
| @@ -505,8 +505,11 @@ static struct usb_function_instance *geth_alloc_inst(void) | |||
| 505 | mutex_init(&opts->lock); | 505 | mutex_init(&opts->lock); |
| 506 | opts->func_inst.free_func_inst = geth_free_inst; | 506 | opts->func_inst.free_func_inst = geth_free_inst; |
| 507 | opts->net = gether_setup_default(); | 507 | opts->net = gether_setup_default(); |
| 508 | if (IS_ERR(opts->net)) | 508 | if (IS_ERR(opts->net)) { |
| 509 | return ERR_CAST(opts->net); | 509 | struct net_device *net = opts->net; |
| 510 | kfree(opts); | ||
| 511 | return ERR_CAST(net); | ||
| 512 | } | ||
| 510 | 513 | ||
| 511 | config_group_init_type_name(&opts->func_inst.group, "", | 514 | config_group_init_type_name(&opts->func_inst.group, "", |
| 512 | &gether_func_type); | 515 | &gether_func_type); |
