/* Use this routine when you don't hold any other device locks; to acquire nested inner locks call down(&udev->serialize) directly. This is necessary for proper interaction with usb_lock_all_devices().  */
void usb_lock_device(struct usb_host_virt_dev *virt_dev)
/* Use this routine when you don't hold any other device locks; to acquire nested inner locks call down(&udev->serialize) directly. This is necessary for proper interaction with usb_lock_all_devices().  */
void usb_lock_device(struct usb_host_virt_dev *virt_dev)
{
    u8 err = 0;
    hal_sem_wait(virt_dev->usb_virt_dev_semi);
}