Merge to Fedora kernel-2.6.7-1.492
[linux-2.6.git] / drivers / usb / gadget / file_storage.c
index df7eb89..9b97891 100644 (file)
@@ -1465,6 +1465,8 @@ static int fsg_setup(struct usb_gadget *gadget,
        /* 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);
@@ -3671,7 +3673,7 @@ static void fsg_unbind(struct usb_gadget *gadget)
                usb_ep_free_request(fsg->ep0, req);
        }
 
-       set_gadget_data(gadget, 0);
+       set_gadget_data(gadget, NULL);
 }