From afedfcf44ed004ddd73e613798fae16d9ebc7443 Mon Sep 17 00:00:00 2001 From: Frank Gevaerts Date: Sat, 28 Feb 2009 15:16:54 +0000 Subject: Leave "usb mode" when all LUNs are ejected again git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20139 a1c6a512-1295-4272-9138-f99709370657 --- firmware/usbstack/usb_storage.c | 30 ++++++++---------------------- firmware/usbstack/usb_storage.h | 2 -- 2 files changed, 8 insertions(+), 24 deletions(-) (limited to 'firmware/usbstack') diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index e769216..ed9efd6 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c @@ -302,7 +302,6 @@ static bool check_disk_present(IF_MV_NONVOID(int volume)) #endif } -#if 0 static void try_release_ata(void) { /* Check if there is a connected drive left. If not, @@ -317,10 +316,9 @@ static void try_release_ata(void) } if(canrelease) { logf("scsi release ata"); - usb_release_exclusive_ata(); + usb_release_exclusive_storage(); } } -#endif #ifdef HAVE_HOTSWAP void usb_storage_notify_hotswap(int volume,bool inserted) @@ -331,28 +329,14 @@ void usb_storage_notify_hotswap(int volume,bool inserted) } else { ejected[volume] = true; + try_release_ata(); } } #endif -void usb_storage_reconnect(void) -{ - int i; - if(usb_core_driver_enabled(USB_DRIVER_MASS_STORAGE) - && usb_inserted()) { - for(i=0;i