@@ -795,6 +795,8 @@ Device::_SetupEndpoints()
|
||||
|
||||
for (size_t i = 0; i < config->interface_count; i++) {
|
||||
usb_interface_info* Interface = config->interface[i].active;
|
||||
if (Interface == NULL || Interface->descr == NULL)
|
||||
continue;
|
||||
if (Interface->descr->interface_class != USB_AUDIO_INTERFACE_AUDIO_CLASS)
|
||||
continue;
|
||||
|
||||
|
||||
@@ -105,6 +105,9 @@ usb_hid_device_added(usb_device device, void **cookie)
|
||||
int32 parentCookie = atomic_add(&sParentCookie, 1);
|
||||
for (size_t i = 0; i < config->interface_count; i++) {
|
||||
const usb_interface_info *interface = config->interface[i].active;
|
||||
if (interface == NULL || interface->descr == NULL)
|
||||
continue;
|
||||
|
||||
uint8 interfaceClass = interface->descr->interface_class;
|
||||
TRACE("interface %" B_PRIuSIZE ": class: %u; subclass: %u; protocol: "
|
||||
"%u\n", i, interfaceClass, interface->descr->interface_subclass,
|
||||
|
||||
@@ -89,7 +89,13 @@ get_next_usb_device(uint32* cookie, freebsd_usb_device* result)
|
||||
result->endpoints_max = 0;
|
||||
for (size_t i = 0; i < config->interface_count; i++) {
|
||||
usb_interface_info* iface = config->interface[i].active;
|
||||
if (iface == NULL)
|
||||
continue;
|
||||
|
||||
for (size_t j = 0; j < iface->endpoint_count; j++) {
|
||||
if (iface->endpoint[j].descr == NULL)
|
||||
continue;
|
||||
|
||||
const int rep = result->endpoints_max++;
|
||||
result->endpoints[rep].iface_index = i;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user