[PATCH 05/12] staging: usbip: userspace: re-add interface information listing

Shuah Khan shuah.kh at samsung.com
Thu Mar 6 21:11:52 UTC 2014


On 03/04/2014 12:10 PM, Valentina Manea wrote:
> This was deleted in the driver conversion patch. It didn't need
> to be deleted; showing more information is ok.
>
> Signed-off-by: Valentina Manea <valentina.manea.m at gmail.com>
> ---
>   drivers/staging/usbip/userspace/src/usbip_list.c | 20 +++++++++++++++++++-
>   drivers/staging/usbip/userspace/src/usbipd.c     | 16 +++++++++++++++-
>   2 files changed, 34 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/usbip/userspace/src/usbip_list.c b/drivers/staging/usbip/userspace/src/usbip_list.c
> index 2255107..7e1820a 100644
> --- a/drivers/staging/usbip/userspace/src/usbip_list.c
> +++ b/drivers/staging/usbip/userspace/src/usbip_list.c
> @@ -52,8 +52,9 @@ static int get_exported_devices(char *host, int sockfd)
>   	struct op_devlist_reply reply;
>   	uint16_t code = OP_REP_DEVLIST;
>   	struct usbip_usb_device udev;
> +	struct usbip_usb_interface uintf;
>   	unsigned int i;
> -	int rc;
> +	int rc, j;
>
>   	rc = usbip_net_send_op_common(sockfd, OP_REQ_DEVLIST, 0);
>   	if (rc < 0) {
> @@ -103,6 +104,23 @@ static int get_exported_devices(char *host, int sockfd)
>   		printf("%11s: %s\n", "", udev.path);
>   		printf("%11s: %s\n", "", class_name);
>
> +		for (j = 0; j < udev.bNumInterfaces; j++) {
> +			rc = usbip_net_recv(sockfd, &uintf, sizeof(uintf));
> +			if (rc < 0) {
> +				dbg("usbip_net_recv failed: usbip_usb_intf[%d]",
> +						j);

Please use err() instead of dbg() so this error is reported when it 
happens, not just when usbip_use_debug is enabled.

> +
> +				return -1;
> +			}
> +			usbip_net_pack_usb_interface(0, &uintf);
> +
> +			usbip_names_get_class(class_name, sizeof(class_name),
> +					uintf.bInterfaceClass,
> +					uintf.bInterfaceSubClass,
> +					uintf.bInterfaceProtocol);
> +			printf("%11s: %2d - %s\n", "", j, class_name);
> +		}
> +
>   		printf("\n");
>   	}
>
> diff --git a/drivers/staging/usbip/userspace/src/usbipd.c b/drivers/staging/usbip/userspace/src/usbipd.c
> index c2b3ced..b2230f7 100644
> --- a/drivers/staging/usbip/userspace/src/usbipd.c
> +++ b/drivers/staging/usbip/userspace/src/usbipd.c
> @@ -159,8 +159,9 @@ static int send_reply_devlist(int connfd)
>   {
>   	struct usbip_exported_device *edev;
>   	struct usbip_usb_device pdu_udev;
> +	struct usbip_usb_interface pdu_uinf;
>   	struct op_devlist_reply reply;
> -	int rc;
> +	int rc, i;
>
>   	reply.ndev = 0;
>   	/* number of exported devices */
> @@ -194,6 +195,19 @@ static int send_reply_devlist(int connfd)
>   			dbg("usbip_net_send failed: pdu_udev");

Same comment as above.

>   			return -1;
>   		}
> +
> +		for (i = 0; i < edev->udev.bNumInterfaces; i++) {
> +			dump_usb_interface(&edev->uinf[i]);
> +			memcpy(&pdu_uinf, &edev->uinf[i], sizeof(pdu_uinf));
> +			usbip_net_pack_usb_interface(1, &pdu_uinf);
> +
> +			rc = usbip_net_send(connfd, &pdu_uinf,
> +					sizeof(pdu_uinf));
> +			if (rc < 0) {
> +				dbg("usbip_net_send failed: pdu_uinf");

Same comment as above.

> +				return -1;
> +			}
> +		}
>   	}
>
>   	return 0;
>

You have my Reviewed-by after making the recommended changes.

Reviewed-by: Shuah Khan <shuah.kh at samsung.com>

-- Shuah

-- 
Shuah Khan
Senior Linux Kernel Developer - Open Source Group
Samsung Research America(Silicon Valley)
shuah.kh at samsung.com | (970) 672-0658


More information about the devel mailing list