diff options
Diffstat (limited to 'drivers/usb/usbip/vhci_hcd.c')
| -rw-r--r-- | drivers/usb/usbip/vhci_hcd.c | 3 | 
1 files changed, 3 insertions, 0 deletions
| diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c index 3209b5ddd30c..4ba6bcdaa8e9 100644 --- a/drivers/usb/usbip/vhci_hcd.c +++ b/drivers/usb/usbip/vhci_hcd.c @@ -594,6 +594,8 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,  				pr_err("invalid port number %d\n", wIndex);  				goto error;  			} +			if (wValue >= 32) +				goto error;  			if (hcd->speed == HCD_USB3) {  				if ((vhci_hcd->port_status[rhport] &  				     USB_SS_PORT_STAT_POWER) != 0) { @@ -1099,6 +1101,7 @@ static void vhci_device_init(struct vhci_device *vdev)  	vdev->ud.side   = USBIP_VHCI;  	vdev->ud.status = VDEV_ST_NULL;  	spin_lock_init(&vdev->ud.lock); +	mutex_init(&vdev->ud.sysfs_lock);  	INIT_LIST_HEAD(&vdev->priv_rx);  	INIT_LIST_HEAD(&vdev->priv_tx); | 
