diff --git a/src/main/capnhook/hooklib/usb-emu.c b/src/main/capnhook/hooklib/usb-emu.c index eb6b6ce..e8841e9 100644 --- a/src/main/capnhook/hooklib/usb-emu.c +++ b/src/main/capnhook/hooklib/usb-emu.c @@ -243,7 +243,7 @@ _cnh_usb_emu_usbhook_find_devices(struct cnh_usbhook_irp *irp) /* Append at end of bus chain */ it->next = fakebus; /* Keep doubly linked list intact */ - fakebus->prev = it->next; + fakebus->prev = it; } fakebus_dev_tail = NULL; diff --git a/src/main/hook/mk3/main.c b/src/main/hook/mk3/main.c index b2bbe50..f7700a1 100644 --- a/src/main/hook/mk3/main.c +++ b/src/main/hook/mk3/main.c @@ -22,6 +22,7 @@ #include "hook/patch/sigsegv.h" #include "hook/patch/sound.h" #include "hook/patch/usb-emu.h" +#include "hook/patch/usb-init-fix.h" #include "util/fs.h" #include "util/glibc.h" @@ -195,6 +196,7 @@ static void mk3hook_patch_piuio_init(struct mk3hook_options *options) patch_piuio_exit_init(); } + patch_usb_init_fix_init(); patch_usb_emu_init(); if (options->patch.piuio.api_lib) {