Skip to content

Commit

Permalink
Don't switch altsetting to itself
Browse files Browse the repository at this point in the history
  • Loading branch information
xairy committed Oct 24, 2023
1 parent b0ccd74 commit b21a3a1
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
2 changes: 1 addition & 1 deletion host-raw-gadget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ void log_event(struct usb_raw_event *event) {
log_control_request((struct usb_ctrlrequest *)&event->data[0]);
break;
default:
printf("event: unknown, length: %u\n", event->length);
printf("event: unknown (%d), length: %u\n", (int)event->type, event->length);
}
}

Expand Down
21 changes: 12 additions & 9 deletions proxy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -456,15 +456,18 @@ void ep0_loop(int fd) {

struct raw_gadget_altsetting *alt = &iface->altsettings[desired_altsetting];

printf("Changing interface/altsetting\n");

terminate_eps(fd, host_device_desc.current_config,
desired_interface, iface->current_altsetting);
set_interface_alt_setting(alt->interface.bInterfaceNumber,
alt->interface.bAlternateSetting);
process_eps(fd, host_device_desc.current_config,
desired_interface, desired_altsetting);
iface->current_altsetting = desired_altsetting;
if (desired_altsetting == iface->current_altsetting)
printf("Interface/altsetting already set\n");
else {
printf("Changing interface/altsetting\n");
terminate_eps(fd, host_device_desc.current_config,
desired_interface, iface->current_altsetting);
set_interface_alt_setting(alt->interface.bInterfaceNumber,
alt->interface.bAlternateSetting);
process_eps(fd, host_device_desc.current_config,
desired_interface, desired_altsetting);
iface->current_altsetting = desired_altsetting;
}
}
else {
if (injection_enabled) {
Expand Down

0 comments on commit b21a3a1

Please sign in to comment.