fsg->ep0req->zero = (rc < w_length && (rc % gadget->ep0->maxpacket) == 0); 
fsg->ep0req->zero = rc < w_length; 
static int fsg_setup(struct usb_gadget *gadget,		const struct usb_ctrlrequest *ctrl){	struct fsg_dev		*fsg = get_gadget_data(gadget);	int			rc;	int			w_length = ctrl->wLength;	++fsg->ep0_req_tag;		// Record arrival of a new request	fsg->ep0req->context = NULL;	fsg->ep0req->length = 0;	dump_msg(fsg, "ep0-setup", (u8 *) ctrl, sizeof(*ctrl));	if ((ctrl->bRequestType & USB_TYPE_MASK) == USB_TYPE_CLASS)		rc = class_setup_req(fsg, ctrl);	else		rc = standard_setup_req(fsg, ctrl);	/* Respond with data/status or defer until later? */	if (rc >= 0 && rc != DELAYED_STATUS) {		rc = min(rc, w_length);		fsg->ep0req->length = rc;		fsg->ep0req->zero = (rc < w_length &&				(rc % gadget->ep0->maxpacket) == 0);		fsg->ep0req_name = (ctrl->bRequestType & USB_DIR_IN ?				"ep0-in" : "ep0-out");		rc = ep0_queue(fsg);	}	/* Device either stalls (rc < 0) or reports success */	return rc;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/1bbc169621cbe502b9143a27eb12802a0f1d43a0/file_storage.c/buggy/drivers/usb/gadget/file_storage.c