diff --git a/src/add-ons/kernel/drivers/midi/usb_midi/usb_midi.cpp b/src/add-ons/kernel/drivers/midi/usb_midi/usb_midi.cpp index 771b5229c0..c78a278844 100644 --- a/src/add-ons/kernel/drivers/midi/usb_midi/usb_midi.cpp +++ b/src/add-ons/kernel/drivers/midi/usb_midi/usb_midi.cpp @@ -448,7 +448,7 @@ static status_t usb_midi_removed(void* cookie) { usbmidi_device_info* midiDevice = (usbmidi_device_info*)cookie; - + assert(cookie != NULL); DPRINTF_INFO((MY_ID "usb_midi_removed(%s)\n", midiDevice->name)); @@ -457,6 +457,7 @@ usb_midi_removed(void* cookie) usbmidi_port_info* port = midiDevice->ports[cable]; if (port == NULL) break; + midiDevice->ports[cable] = NULL; DPRINTF_DEBUG((MY_ID "removing port %d\n", cable)); if (port->open_fd != NULL) { remove_port_info(port); diff --git a/src/add-ons/kernel/drivers/midi/usb_midi/usb_midi.h b/src/add-ons/kernel/drivers/midi/usb_midi/usb_midi.h index 1784d3f3e9..42dd5dd066 100644 --- a/src/add-ons/kernel/drivers/midi/usb_midi/usb_midi.h +++ b/src/add-ons/kernel/drivers/midi/usb_midi/usb_midi.h @@ -73,9 +73,6 @@ struct driver_cookie; typedef struct usbmidi_device_info { - /* list structure */ /* should not be needed eventually */ - struct usbmidi_device_info* next; - /* Set of actual ports ("cables" -- one or more) */ struct usbmidi_port_info* ports[16];