u16 wIndex = ctrl->wIndex; u16 wValue = ctrl->wValue; u16 wLength = ctrl->wLength; 
u16 wIndex = le16_to_cpu(ctrl->wIndex); u16 wValue = le16_to_cpu(ctrl->wValue); u16 wLength = le16_to_cpu(ctrl->wLength); 
static int gs_setup(struct usb_gadget *gadget,	const struct usb_ctrlrequest *ctrl){	int ret = -EOPNOTSUPP;	struct gs_dev *dev = get_gadget_data(gadget);	struct usb_request *req = dev->dev_ctrl_req;	u16 wIndex = ctrl->wIndex;	u16 wValue = ctrl->wValue;	u16 wLength = ctrl->wLength;	switch (ctrl->bRequestType & USB_TYPE_MASK) {	case USB_TYPE_STANDARD:		ret = gs_setup_standard(gadget,ctrl);		break;	case USB_TYPE_CLASS:		ret = gs_setup_class(gadget,ctrl);		break;	default:		printk(KERN_ERR "gs_setup: unknown request, type=%02x, request=%02x, value=%04x, index=%04x, length=%d\n",			ctrl->bRequestType, ctrl->bRequest,			wValue, wIndex, wLength);		break;	}	/* respond with data transfer before status phase? */	if (ret >= 0) {		req->length = ret;		req->zero = ret < wLength				&& (ret % gadget->ep0->maxpacket) == 0;		ret = usb_ep_queue(gadget->ep0, req, GFP_ATOMIC);		if (ret < 0) {			printk(KERN_ERR "gs_setup: cannot queue response, ret=%d\n",				ret);			req->status = 0;			gs_setup_complete(gadget->ep0, req);		}	}	/* device either stalls (ret < 0) or reports success */	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/1bbc169621cbe502b9143a27eb12802a0f1d43a0/serial.c/buggy/drivers/usb/gadget/serial.c