diff options
Diffstat (limited to 'firmware/usbstack/usb_storage.c')
-rw-r--r-- | firmware/usbstack/usb_storage.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index 8a4915123c..a70681d3e0 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c | |||
@@ -293,6 +293,7 @@ static bool check_disk_present(IF_MV_NONVOID(int volume)) | |||
293 | #endif | 293 | #endif |
294 | } | 294 | } |
295 | 295 | ||
296 | #if 0 | ||
296 | static void try_release_ata(void) | 297 | static void try_release_ata(void) |
297 | { | 298 | { |
298 | /* Check if there is a connected drive left. If not, | 299 | /* Check if there is a connected drive left. If not, |
@@ -310,6 +311,7 @@ static void try_release_ata(void) | |||
310 | usb_release_exclusive_ata(); | 311 | usb_release_exclusive_ata(); |
311 | } | 312 | } |
312 | } | 313 | } |
314 | #endif | ||
313 | 315 | ||
314 | #ifdef HAVE_HOTSWAP | 316 | #ifdef HAVE_HOTSWAP |
315 | void usb_storage_notify_hotswap(int volume,bool inserted) | 317 | void usb_storage_notify_hotswap(int volume,bool inserted) |
@@ -320,9 +322,7 @@ void usb_storage_notify_hotswap(int volume,bool inserted) | |||
320 | } | 322 | } |
321 | else { | 323 | else { |
322 | ejected[volume] = true; | 324 | ejected[volume] = true; |
323 | try_release_ata(); | ||
324 | } | 325 | } |
325 | |||
326 | } | 326 | } |
327 | #endif | 327 | #endif |
328 | 328 | ||
@@ -334,7 +334,6 @@ void usb_storage_reconnect(void) | |||
334 | for(i=0;i<NUM_VOLUMES;i++) | 334 | for(i=0;i<NUM_VOLUMES;i++) |
335 | ejected[i] = !check_disk_present(IF_MV(i)); | 335 | ejected[i] = !check_disk_present(IF_MV(i)); |
336 | logf("%s", __func__); | 336 | logf("%s", __func__); |
337 | usb_request_exclusive_ata(); | ||
338 | } | 337 | } |
339 | } | 338 | } |
340 | 339 | ||
@@ -682,7 +681,6 @@ static void handle_scsi(struct command_block_wrapper* cbw) | |||
682 | #ifdef HAVE_HOTSWAP | 681 | #ifdef HAVE_HOTSWAP |
683 | if(storage_removable(lun) && !storage_present(lun)) { | 682 | if(storage_removable(lun) && !storage_present(lun)) { |
684 | ejected[lun] = true; | 683 | ejected[lun] = true; |
685 | try_release_ata(); | ||
686 | } | 684 | } |
687 | #endif | 685 | #endif |
688 | 686 | ||
@@ -699,7 +697,7 @@ static void handle_scsi(struct command_block_wrapper* cbw) | |||
699 | switch (cbw->command_block[0]) { | 697 | switch (cbw->command_block[0]) { |
700 | case SCSI_TEST_UNIT_READY: | 698 | case SCSI_TEST_UNIT_READY: |
701 | logf("scsi test_unit_ready %d",lun); | 699 | logf("scsi test_unit_ready %d",lun); |
702 | if(!usb_exclusive_ata()) { | 700 | if(!usb_exclusive_storage()) { |
703 | send_csw(UMS_STATUS_FAIL); | 701 | send_csw(UMS_STATUS_FAIL); |
704 | cur_sense_data.sense_key=SENSE_NOT_READY; | 702 | cur_sense_data.sense_key=SENSE_NOT_READY; |
705 | cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT; | 703 | cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT; |
@@ -885,7 +883,6 @@ static void handle_scsi(struct command_block_wrapper* cbw) | |||
885 | { | 883 | { |
886 | logf("scsi eject"); | 884 | logf("scsi eject"); |
887 | ejected[lun]=true; | 885 | ejected[lun]=true; |
888 | try_release_ata(); | ||
889 | } | 886 | } |
890 | } | 887 | } |
891 | } | 888 | } |