usb: gadget: dfu: discard dead code
[oweals/u-boot.git] / drivers / usb / gadget / f_dfu.c
index 77a1567a944c71b95fc5c11d077138e7cc6df563..8e7c981657c3b6be4b5ddbad802f5e00b3abb419 100644 (file)
@@ -44,6 +44,8 @@ struct f_dfu {
        unsigned int                    poll_timeout;
 };
 
+struct dfu_entity *dfu_defer_flush;
+
 typedef int (*dfu_state_fn) (struct f_dfu *,
                             const struct usb_ctrlrequest *,
                             struct usb_gadget *,
@@ -167,14 +169,7 @@ static void dnload_request_complete(struct usb_ep *ep, struct usb_request *req)
 static void dnload_request_flush(struct usb_ep *ep, struct usb_request *req)
 {
        struct f_dfu *f_dfu = req->context;
-       int ret;
-
-       ret = dfu_flush(dfu_get_entity(f_dfu->altsetting), req->buf,
-                       req->length, f_dfu->blk_seq_num);
-       if (ret) {
-               f_dfu->dfu_status = DFU_STATUS_errUNKNOWN;
-               f_dfu->dfu_state = DFU_STATE_dfuERROR;
-       }
+       dfu_set_defer_flush(dfu_get_entity(f_dfu->altsetting));
 }
 
 static inline int dfu_get_manifest_timeout(struct dfu_entity *dfu)
@@ -641,7 +636,7 @@ dfu_prepare_strings(struct f_dfu *f_dfu, int n)
 
        f_dfu->strings = calloc(sizeof(struct usb_string), n + 1);
        if (!f_dfu->strings)
-               goto enomem;
+               return -ENOMEM;
 
        for (i = 0; i < n; ++i) {
                de = dfu_get_entity(i);
@@ -652,14 +647,6 @@ dfu_prepare_strings(struct f_dfu *f_dfu, int n)
        f_dfu->strings[i].s = NULL;
 
        return 0;
-
-enomem:
-       while (i)
-               f_dfu->strings[--i].s = NULL;
-
-       free(f_dfu->strings);
-
-       return -ENOMEM;
 }
 
 static int dfu_prepare_function(struct f_dfu *f_dfu, int n)