static void usbip_dump_usb_ctrlrequest(struct usb_ctrlrequest *cmd)
{
    if (!cmd) {
        pr_debug("       : null pointer\n");
        return;
    }

    pr_debug("       ");
    pr_debug("bRequestType(%02X) bRequest(%02X) wValue(%04X) wIndex(%04X) "
             "wLength(%04X) ", cmd->bRequestType, cmd->bRequest,
             cmd->wValue, cmd->wIndex, cmd->wLength);
    pr_debug("\n       ");

    if ((cmd->bRequestType & USB_TYPE_MASK) == USB_TYPE_STANDARD) {
        pr_debug("STANDARD ");
        switch (cmd->bRequest) {
        case USB_REQ_GET_STATUS:
            pr_debug("GET_STATUS\n");
            break;
        case USB_REQ_CLEAR_FEATURE:
            pr_debug("CLEAR_FEAT\n");
            break;
        case USB_REQ_SET_FEATURE:
            pr_debug("SET_FEAT\n");
            break;
        case USB_REQ_SET_ADDRESS:
            pr_debug("SET_ADDRRS\n");
            break;
        case USB_REQ_GET_DESCRIPTOR:
            pr_debug("GET_DESCRI\n");
            break;
        case USB_REQ_SET_DESCRIPTOR:
            pr_debug("SET_DESCRI\n");
            break;
        case USB_REQ_GET_CONFIGURATION:
            pr_debug("GET_CONFIG\n");
            break;
        case USB_REQ_SET_CONFIGURATION:
            pr_debug("SET_CONFIG\n");
            break;
        case USB_REQ_GET_INTERFACE:
            pr_debug("GET_INTERF\n");
            break;
        case USB_REQ_SET_INTERFACE:
            pr_debug("SET_INTERF\n");
            break;
        case USB_REQ_SYNCH_FRAME:
            pr_debug("SYNC_FRAME\n");
            break;
        default:
            pr_debug("REQ(%02X)\n", cmd->bRequest);
            break;
        }
        usbip_dump_request_type(cmd->bRequestType);
    } else if ((cmd->bRequestType & USB_TYPE_MASK) == USB_TYPE_CLASS) {
        pr_debug("CLASS\n");
    } else if ((cmd->bRequestType & USB_TYPE_MASK) == USB_TYPE_VENDOR) {
        pr_debug("VENDOR\n");
    } else if ((cmd->bRequestType & USB_TYPE_MASK) == USB_TYPE_RESERVED) {
        pr_debug("RESERVED\n");
    }
}
Exemplo n.º 2
0
static void usbip_dump_usb_ctrlrequest(struct usb_ctrlrequest *cmd)
{
	if (!cmd) {
		printk(KERN_DEBUG "      %s : null pointer\n", __func__);
		return;
	}

	printk(KERN_DEBUG "       ");
	printk(KERN_DEBUG "bRequestType(%02X) ", cmd->bRequestType);
	printk(KERN_DEBUG "bRequest(%02X) " , cmd->bRequest);
	printk(KERN_DEBUG "wValue(%04X) ", cmd->wValue);
	printk(KERN_DEBUG "wIndex(%04X) ", cmd->wIndex);
	printk(KERN_DEBUG "wLength(%04X) ", cmd->wLength);

	printk(KERN_DEBUG "\n       ");

	if ((cmd->bRequestType & USB_TYPE_MASK) == USB_TYPE_STANDARD) {
		printk(KERN_DEBUG "STANDARD ");
		switch (cmd->bRequest) {
		case USB_REQ_GET_STATUS:
			printk(KERN_DEBUG "GET_STATUS");
			break;
		case USB_REQ_CLEAR_FEATURE:
			printk(KERN_DEBUG "CLEAR_FEAT");
			break;
		case USB_REQ_SET_FEATURE:
			printk(KERN_DEBUG "SET_FEAT  ");
			break;
		case USB_REQ_SET_ADDRESS:
			printk(KERN_DEBUG "SET_ADDRRS");
			break;
		case USB_REQ_GET_DESCRIPTOR:
			printk(KERN_DEBUG "GET_DESCRI");
			break;
		case USB_REQ_SET_DESCRIPTOR:
			printk(KERN_DEBUG "SET_DESCRI");
			break;
		case USB_REQ_GET_CONFIGURATION:
			printk(KERN_DEBUG "GET_CONFIG");
			break;
		case USB_REQ_SET_CONFIGURATION:
			printk(KERN_DEBUG "SET_CONFIG");
			break;
		case USB_REQ_GET_INTERFACE:
			printk(KERN_DEBUG "GET_INTERF");
			break;
		case USB_REQ_SET_INTERFACE:
			printk(KERN_DEBUG "SET_INTERF");
			break;
		case USB_REQ_SYNCH_FRAME:
			printk(KERN_DEBUG "SYNC_FRAME");
			break;
		default:
			printk(KERN_DEBUG "REQ(%02X) ", cmd->bRequest);
		}

		printk(KERN_DEBUG " ");
		usbip_dump_request_type(cmd->bRequestType);

	} else if ((cmd->bRequestType & USB_TYPE_MASK) == USB_TYPE_CLASS)
		printk(KERN_DEBUG "CLASS   ");

	else if ((cmd->bRequestType & USB_TYPE_MASK) == USB_TYPE_VENDOR)
		printk(KERN_DEBUG "VENDOR  ");

	else if ((cmd->bRequestType & USB_TYPE_MASK) == USB_TYPE_RESERVED)
		printk(KERN_DEBUG "RESERVED");

	printk(KERN_DEBUG "\n");
}