summaryrefslogtreecommitdiff
path: root/firmware/usbstack/usb_storage.c
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2008-03-03 12:38:15 +0000
committerFrank Gevaerts <frank@gevaerts.be>2008-03-03 12:38:15 +0000
commita9afca99a8385d42612543b0bdb6ce3ba97ed4c3 (patch)
tree89bbf24523a0428193fa8f7af514b662beed40c5 /firmware/usbstack/usb_storage.c
parent018de3591c17f3e31e7b8203ab12db5bbc9c825e (diff)
downloadrockbox-a9afca99a8385d42612543b0bdb6ce3ba97ed4c3.tar.gz
rockbox-a9afca99a8385d42612543b0bdb6ce3ba97ed4c3.zip
remove stalls that are optional. This makes osx not crash on disconnect
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16498 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack/usb_storage.c')
-rw-r--r--firmware/usbstack/usb_storage.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c
index bde774e5f0..4bac1bcf8a 100644
--- a/firmware/usbstack/usb_storage.c
+++ b/firmware/usbstack/usb_storage.c
@@ -546,7 +546,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
546 546
547 case SCSI_MODE_SENSE_10: { 547 case SCSI_MODE_SENSE_10: {
548 if(! lun_present) { 548 if(! lun_present) {
549 usb_drv_stall(EP_MASS_STORAGE, true,true);
550 send_csw(UMS_STATUS_FAIL); 549 send_csw(UMS_STATUS_FAIL);
551 cur_sense_data.sense_key=SENSE_NOT_READY; 550 cur_sense_data.sense_key=SENSE_NOT_READY;
552 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT; 551 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT;
@@ -579,7 +578,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
579 MIN(sizeof(struct mode_sense_data_10), length)); 578 MIN(sizeof(struct mode_sense_data_10), length));
580 break; 579 break;
581 default: 580 default:
582 usb_drv_stall(EP_MASS_STORAGE, true,true);
583 send_csw(UMS_STATUS_FAIL); 581 send_csw(UMS_STATUS_FAIL);
584 cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST; 582 cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST;
585 cur_sense_data.asc=ASC_INVALID_FIELD_IN_CBD; 583 cur_sense_data.asc=ASC_INVALID_FIELD_IN_CBD;
@@ -590,7 +588,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
590 } 588 }
591 case SCSI_MODE_SENSE_6: { 589 case SCSI_MODE_SENSE_6: {
592 if(! lun_present) { 590 if(! lun_present) {
593 usb_drv_stall(EP_MASS_STORAGE, true,true);
594 send_csw(UMS_STATUS_FAIL); 591 send_csw(UMS_STATUS_FAIL);
595 cur_sense_data.sense_key=SENSE_NOT_READY; 592 cur_sense_data.sense_key=SENSE_NOT_READY;
596 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT; 593 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT;
@@ -626,7 +623,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
626 MIN(sizeof(struct mode_sense_data_6), length)); 623 MIN(sizeof(struct mode_sense_data_6), length));
627 break; 624 break;
628 default: 625 default:
629 usb_drv_stall(EP_MASS_STORAGE, true,true);
630 send_csw(UMS_STATUS_FAIL); 626 send_csw(UMS_STATUS_FAIL);
631 cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST; 627 cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST;
632 cur_sense_data.asc=ASC_INVALID_FIELD_IN_CBD; 628 cur_sense_data.asc=ASC_INVALID_FIELD_IN_CBD;
@@ -660,7 +656,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
660 } 656 }
661 else 657 else
662 { 658 {
663 usb_drv_stall(EP_MASS_STORAGE, true,true);
664 send_csw(UMS_STATUS_FAIL); 659 send_csw(UMS_STATUS_FAIL);
665 cur_sense_data.sense_key=SENSE_NOT_READY; 660 cur_sense_data.sense_key=SENSE_NOT_READY;
666 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT; 661 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT;
@@ -680,7 +675,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
680 } 675 }
681 else 676 else
682 { 677 {
683 usb_drv_stall(EP_MASS_STORAGE, true,true);
684 send_csw(UMS_STATUS_FAIL); 678 send_csw(UMS_STATUS_FAIL);
685 cur_sense_data.sense_key=SENSE_NOT_READY; 679 cur_sense_data.sense_key=SENSE_NOT_READY;
686 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT; 680 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT;
@@ -692,7 +686,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
692 case SCSI_READ_10: 686 case SCSI_READ_10:
693 logf("scsi read10 %d",lun); 687 logf("scsi read10 %d",lun);
694 if(! lun_present) { 688 if(! lun_present) {
695 usb_drv_stall(EP_MASS_STORAGE, true,true);
696 send_csw(UMS_STATUS_FAIL); 689 send_csw(UMS_STATUS_FAIL);
697 cur_sense_data.sense_key=SENSE_NOT_READY; 690 cur_sense_data.sense_key=SENSE_NOT_READY;
698 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT; 691 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT;
@@ -714,7 +707,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
714 //logf("scsi read %d %d", current_cmd.sector, current_cmd.count); 707 //logf("scsi read %d %d", current_cmd.sector, current_cmd.count);
715 708
716 if((current_cmd.sector + current_cmd.count) > block_count) { 709 if((current_cmd.sector + current_cmd.count) > block_count) {
717 usb_drv_stall(EP_MASS_STORAGE, true,true);
718 send_csw(UMS_STATUS_FAIL); 710 send_csw(UMS_STATUS_FAIL);
719 cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST; 711 cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST;
720 cur_sense_data.asc=ASC_LBA_OUT_OF_RANGE; 712 cur_sense_data.asc=ASC_LBA_OUT_OF_RANGE;
@@ -731,7 +723,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
731 case SCSI_WRITE_10: 723 case SCSI_WRITE_10:
732 logf("scsi write10 %d",lun); 724 logf("scsi write10 %d",lun);
733 if(! lun_present) { 725 if(! lun_present) {
734 usb_drv_stall(EP_MASS_STORAGE, true,true);
735 send_csw(UMS_STATUS_FAIL); 726 send_csw(UMS_STATUS_FAIL);
736 cur_sense_data.sense_key=SENSE_NOT_READY; 727 cur_sense_data.sense_key=SENSE_NOT_READY;
737 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT; 728 cur_sense_data.asc=ASC_MEDIUM_NOT_PRESENT;
@@ -751,7 +742,6 @@ static void handle_scsi(struct command_block_wrapper* cbw)
751 cbw->command_block[8]); 742 cbw->command_block[8]);
752 /* expect data */ 743 /* expect data */
753 if((current_cmd.sector + current_cmd.count) > block_count) { 744 if((current_cmd.sector + current_cmd.count) > block_count) {
754 usb_drv_stall(EP_MASS_STORAGE, true,true);
755 send_csw(UMS_STATUS_FAIL); 745 send_csw(UMS_STATUS_FAIL);
756 cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST; 746 cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST;
757 cur_sense_data.asc=ASC_LBA_OUT_OF_RANGE; 747 cur_sense_data.asc=ASC_LBA_OUT_OF_RANGE;