Lines Matching refs:bos
690 struct usb_bos_descriptor *bos, size_t desc_size) in wusb_dev_bos_grok() argument
697 itr = (void *)bos + sizeof(*bos); in wusb_dev_bos_grok()
698 top = itr + desc_size - sizeof(*bos); in wusb_dev_bos_grok()
706 (int)(itr - (void *)bos), top - itr); in wusb_dev_bos_grok()
718 (int)(itr - (void *)bos), in wusb_dev_bos_grok()
736 cap_size, (int)(itr - (void *)bos)); in wusb_dev_bos_grok()
764 struct usb_bos_descriptor *bos; in wusb_dev_bos_add() local
767 bos = kmalloc(alloc_size, GFP_KERNEL); in wusb_dev_bos_add()
768 if (bos == NULL) in wusb_dev_bos_add()
770 result = usb_get_descriptor(usb_dev, USB_DT_BOS, 0, bos, desc_size); in wusb_dev_bos_add()
776 desc_size = le16_to_cpu(bos->wTotalLength); in wusb_dev_bos_add()
778 kfree(bos); in wusb_dev_bos_add()
780 bos = kmalloc(alloc_size, GFP_KERNEL); in wusb_dev_bos_add()
781 if (bos == NULL) in wusb_dev_bos_add()
784 result = usb_get_descriptor(usb_dev, USB_DT_BOS, 0, bos, desc_size); in wusb_dev_bos_add()
790 if (result < sizeof(*bos) in wusb_dev_bos_add()
791 || le16_to_cpu(bos->wTotalLength) != desc_size) { in wusb_dev_bos_add()
797 result = wusb_dev_bos_grok(usb_dev, wusb_dev, bos, result); in wusb_dev_bos_add()
800 wusb_dev->bos = bos; in wusb_dev_bos_add()
805 kfree(bos); in wusb_dev_bos_add()
812 kfree(wusb_dev->bos); in wusb_dev_bos_rm()