/* Respond with data/status or defer until later? */
if (rc >= 0 && rc != DELAYED_STATUS) {
fsg->ep0req->length = rc;
+ fsg->ep0req->zero = rc < ctrl->wLength
+ && (rc % gadget->ep0->maxpacket) == 0;
fsg->ep0req_name = (ctrl->bRequestType & USB_DIR_IN ?
"ep0-in" : "ep0-out");
rc = ep0_queue(fsg);
usb_ep_free_request(fsg->ep0, req);
}
- set_gadget_data(gadget, 0);
+ set_gadget_data(gadget, NULL);
}