Browse Source

usbutils remove_in_use missing prev

Kano 13 years ago
parent
commit
d436beb7e2
1 changed files with 3 additions and 2 deletions
  1. 3 2
      usbutils.c

+ 3 - 2
usbutils.c

@@ -878,9 +878,10 @@ static void remove_in_use(uint8_t bus_number, uint8_t device_address)
 		if (in_use_tmp->in_use.bus_number == (int)bus_number &&
 		    in_use_tmp->in_use.device_address == (int)device_address) {
 			found = true;
-			if (in_use_tmp == in_use_head)
+			if (in_use_tmp == in_use_head) {
 				in_use_head = in_use_head->next;
-			else {
+				in_use_head->prev = NULL;
+			} else {
 				in_use_tmp->prev->next = in_use_tmp->next;
 				if (in_use_tmp->next)
 					in_use_tmp->next->prev = in_use_tmp->prev;