usb: remove "Ask" USB Mode (FS#13317)

USB ask mode is basically a footgun: it can't work on native targets
and doesn't work reliably on hosted ones, and it continually produces
a slow trickle of problems. FS#13317 gives a rundown of the issues.
Removing the setting seems like the best solution for now, since a fix
would be pretty involved.

This partially reverts 60f581e8f5. The USB Mode setting is left in
place so the option can be added back later in a non-buggy way.

Change-Id: Ie01b28dd2ed95a31b509a7834d85bac8eb866098
This commit is contained in:
Aidan MacDonald 2022-05-25 00:43:19 +01:00 committed by Solomon Peachy
parent 6cdd142d5c
commit 7e0492444c
5 changed files with 17 additions and 41 deletions

View file

@ -491,37 +491,12 @@ static void NORETURN_ATTR usb_thread(void)
if (button_status() & ~USBPOWER_BTN_IGNORE)
new_usbmode = USB_MODE_MASS_STORAGE;
break;
#ifndef BOOTLOADER
case USB_MODE_ASK:
new_usbmode = USB_MODE_ASK;
break;
#endif
default:
case USB_MODE_MASS_STORAGE:
if (button_status() & ~USBPOWER_BTN_IGNORE)
new_usbmode = USB_MODE_CHARGE;
break;
}
#ifndef BOOTLOADER
if (new_usbmode == USB_MODE_ASK)
{
push_current_activity(ACTIVITY_USBSCREEN);
if (yesno_pop(ID2P(LANG_ENTER_USB_STORAGE_MODE_QUERY)))
new_usbmode = USB_MODE_MASS_STORAGE;
else
new_usbmode = USB_MODE_CHARGE;
pop_current_activity();
/* Force full redraw */
// queue_post(&button_queue, BUTTON_REDRAW, 0);
// Alternative approach, as above is supposedly inadequate by design.
FOR_NB_SCREENS(i)
{
struct screen *screen = &screens[i];
screen->set_viewport(NULL);
}
}
#endif
#endif
#ifndef USB_DETECT_BY_REQUEST