@@ -325,7 +325,6 @@ STATIC uint8_t _process_write(const uint8_t *raw_buf, size_t command_len) {
325
325
if (chunk_size == 0 ) {
326
326
// Don't reload until everything is written out of the packet buffer.
327
327
common_hal_bleio_packet_buffer_flush (& _transfer_packet_buffer );
328
- autoreload_trigger ();
329
328
return ANY_COMMAND ;
330
329
}
331
330
@@ -382,7 +381,6 @@ STATIC uint8_t _process_write_data(const uint8_t *raw_buf, size_t command_len) {
382
381
#endif
383
382
// Don't reload until everything is written out of the packet buffer.
384
383
common_hal_bleio_packet_buffer_flush (& _transfer_packet_buffer );
385
- autoreload_trigger ();
386
384
return ANY_COMMAND ;
387
385
}
388
386
return WRITE_DATA ;
@@ -463,7 +461,6 @@ STATIC uint8_t _process_delete(const uint8_t *raw_buf, size_t command_len) {
463
461
if (result == FR_OK ) {
464
462
// Don't reload until everything is written out of the packet buffer.
465
463
common_hal_bleio_packet_buffer_flush (& _transfer_packet_buffer );
466
- autoreload_trigger ();
467
464
}
468
465
return ANY_COMMAND ;
469
466
}
@@ -517,7 +514,6 @@ STATIC uint8_t _process_mkdir(const uint8_t *raw_buf, size_t command_len) {
517
514
if (result == FR_OK ) {
518
515
// Don't reload until everything is written out of the packet buffer.
519
516
common_hal_bleio_packet_buffer_flush (& _transfer_packet_buffer );
520
- autoreload_trigger ();
521
517
}
522
518
return ANY_COMMAND ;
523
519
}
@@ -664,7 +660,6 @@ STATIC uint8_t _process_move(const uint8_t *raw_buf, size_t command_len) {
664
660
if (result == FR_OK ) {
665
661
// Don't reload until everything is written out of the packet buffer.
666
662
common_hal_bleio_packet_buffer_flush (& _transfer_packet_buffer );
667
- autoreload_trigger ();
668
663
}
669
664
return ANY_COMMAND ;
670
665
}
@@ -740,6 +735,14 @@ void supervisor_bluetooth_file_transfer_background(void) {
740
735
}
741
736
if (next_command == ANY_COMMAND ) {
742
737
autoreload_resume (AUTORELOAD_SUSPEND_BLE );
738
+ // Trigger a reload if the command may have mutated the file system.
739
+ if (current_state == WRITE ||
740
+ current_state == WRITE_DATA ||
741
+ current_state == DELETE ||
742
+ current_state == MKDIR ||
743
+ current_state == MOVE ) {
744
+ autoreload_trigger ();
745
+ }
743
746
}
744
747
}
745
748
running = false;
0 commit comments