Lines Matching refs:bos
704 struct usb_bos_descriptor *bos, size_t desc_size) in wusb_dev_bos_grok() argument
711 itr = (void *)bos + sizeof(*bos); in wusb_dev_bos_grok()
712 top = itr + desc_size - sizeof(*bos); in wusb_dev_bos_grok()
720 (int)(itr - (void *)bos), top - itr); in wusb_dev_bos_grok()
732 (int)(itr - (void *)bos), in wusb_dev_bos_grok()
750 cap_size, (int)(itr - (void *)bos)); in wusb_dev_bos_grok()
778 struct usb_bos_descriptor *bos; in wusb_dev_bos_add() local
781 bos = kmalloc(alloc_size, GFP_KERNEL); in wusb_dev_bos_add()
782 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 desc_size = le16_to_cpu(bos->wTotalLength); in wusb_dev_bos_add()
792 kfree(bos); in wusb_dev_bos_add()
794 bos = kmalloc(alloc_size, GFP_KERNEL); in wusb_dev_bos_add()
795 if (bos == NULL) in wusb_dev_bos_add()
798 result = usb_get_descriptor(usb_dev, USB_DT_BOS, 0, bos, desc_size); in wusb_dev_bos_add()
804 if (result < sizeof(*bos) in wusb_dev_bos_add()
805 || le16_to_cpu(bos->wTotalLength) != desc_size) { in wusb_dev_bos_add()
811 result = wusb_dev_bos_grok(usb_dev, wusb_dev, bos, result); in wusb_dev_bos_add()
814 wusb_dev->bos = bos; in wusb_dev_bos_add()
819 kfree(bos); in wusb_dev_bos_add()
826 kfree(wusb_dev->bos); in wusb_dev_bos_rm()