diff options
| author | Gadi Rotenberg <gadi@polynero.com> | 2020-02-09 13:25:16 +0200 |
|---|---|---|
| committer | Benny Meisels <benny.meisels@gmail.com> | 2020-02-12 09:57:58 +0200 |
| commit | 07708f15185d96930621493c3e2886cc2e948622 (patch) | |
| tree | 79c866d9d5e4f33b79df6df91c1804cbba58557f /supervisor | |
| parent | b93d6e861b80d34ff3b09f4f84a85a6bfd531f3d (diff) | |
Added fix to allow remount when usb enabled but msc is ejected
Diffstat (limited to 'supervisor')
| -rw-r--r-- | supervisor/shared/usb/usb_msc_flash.c | 10 | ||||
| -rw-r--r-- | supervisor/usb.h | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/supervisor/shared/usb/usb_msc_flash.c b/supervisor/shared/usb/usb_msc_flash.c index 0376cfc1d..c0279f9e5 100644 --- a/supervisor/shared/usb/usb_msc_flash.c +++ b/supervisor/shared/usb/usb_msc_flash.c @@ -39,7 +39,7 @@ #define MSC_FLASH_BLOCK_SIZE 512 -static bool ejected[1]; +static bool ejected[1] = {true}; void usb_msc_mount(void) { // Reset the ejection tracking every time we're plugged into USB. This allows for us to battery @@ -53,6 +53,14 @@ void usb_msc_umount(void) { } +bool usb_msc_ejected(void) { + bool all_ejected = true; + for (uint8_t i = 0; i < sizeof(ejected); i++) { + all_ejected &= ejected[i]; + } + return all_ejected; +} + // The root FS is always at the end of the list. static fs_user_mount_t* get_vfs(int lun) { // TODO(tannewt): Return the mount which matches the lun where 0 is the end diff --git a/supervisor/usb.h b/supervisor/usb.h index 0cc361619..29280c725 100644 --- a/supervisor/usb.h +++ b/supervisor/usb.h @@ -44,5 +44,6 @@ void usb_init(void); // Propagate plug/unplug events to the MSC logic. void usb_msc_mount(void); void usb_msc_umount(void); +bool usb_msc_ejected(void); #endif // MICROPY_INCLUDED_SUPERVISOR_USB_H |
