Commit ec9155c9784ee9bd91c9179a1fd3d9ca8f963cd3

Authored by ghollingworth
1 parent e89ead9a

Fix problem with enabling MSD on some CM / CM3 devices

@@ -227,6 +227,8 @@ int second_stage_boot(libusb_device_handle *usb_device) @@ -227,6 +227,8 @@ int second_stage_boot(libusb_device_handle *usb_device)
227 { 227 {
228 int size, retcode = 0; 228 int size, retcode = 0;
229 229
  230 + sleep(1);
  231 +
230 size = ep_write(&boot_message, sizeof(boot_message), usb_device); 232 size = ep_write(&boot_message, sizeof(boot_message), usb_device);
231 if (size != sizeof(boot_message)) 233 if (size != sizeof(boot_message))
232 { 234 {
@@ -242,7 +244,7 @@ int second_stage_boot(libusb_device_handle *usb_device) @@ -242,7 +244,7 @@ int second_stage_boot(libusb_device_handle *usb_device)
242 return -1; 244 return -1;
243 } 245 }
244 246
245 - sleep(1); 247 + usleep(125);
246 size = ep_read((unsigned char *)&retcode, sizeof(retcode), usb_device); 248 size = ep_read((unsigned char *)&retcode, sizeof(retcode), usb_device);
247 249
248 if (size > 0 && retcode == 0) 250 if (size > 0 && retcode == 0)
@@ -254,6 +256,8 @@ int second_stage_boot(libusb_device_handle *usb_device) @@ -254,6 +256,8 @@ int second_stage_boot(libusb_device_handle *usb_device)
254 printf("Failed : 0x%x", retcode); 256 printf("Failed : 0x%x", retcode);
255 } 257 }
256 258
  259 + sleep(1);
  260 +
257 return retcode; 261 return retcode;
258 262
259 } 263 }
@@ -494,10 +498,8 @@ int main(int argc, char *argv[]) @@ -494,10 +498,8 @@ int main(int argc, char *argv[])
494 printf("Second stage boot server\n"); 498 printf("Second stage boot server\n");
495 file_server(usb_device); 499 file_server(usb_device);
496 } 500 }
497 - libusb_reset_device(usb_device);  
498 501
499 libusb_close(usb_device); 502 libusb_close(usb_device);
500 - sleep(5);  
501 } 503 }
502 while(loop || desc.iSerialNumber == 0); 504 while(loop || desc.iSerialNumber == 0);
503 505
msd/bootcode.bin
No preview for this file type
msd/start.elf
No preview for this file type