- Timestamp:
- Jan 17, 2011 8:05:15 PM (14 years ago)
- Location:
- trunk/src/VBox/Devices/Storage
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/ATAController.cpp
r35560 r35595 2922 2922 case ATA_READ_SECTORS: 2923 2923 case ATA_READ_SECTORS_WITHOUT_RETRIES: 2924 if (!s->pDrvBlock )2924 if (!s->pDrvBlock || s->fATAPI) 2925 2925 goto abort_cmd; 2926 2926 s->cSectorsPerIRQ = 1; … … 2931 2931 case ATA_WRITE_SECTORS: 2932 2932 case ATA_WRITE_SECTORS_WITHOUT_RETRIES: 2933 if (!s->pDrvBlock || s->fATAPI) 2934 goto abort_cmd; 2933 2935 s->cSectorsPerIRQ = 1; 2934 2936 ataStartTransfer(s, ataGetNSectors(s) * 512, PDMBLOCKTXDIR_TO_DEVICE, ATAFN_BT_READ_WRITE_SECTORS, ATAFN_SS_WRITE_SECTORS, false); … … 2937 2939 s->fLBA48 = true; 2938 2940 case ATA_READ_MULTIPLE: 2939 if (!s-> cMultSectors)2941 if (!s->pDrvBlock || !s->cMultSectors || s->fATAPI) 2940 2942 goto abort_cmd; 2941 2943 s->cSectorsPerIRQ = s->cMultSectors; … … 2945 2947 s->fLBA48 = true; 2946 2948 case ATA_WRITE_MULTIPLE: 2947 if (!s-> cMultSectors)2949 if (!s->pDrvBlock || !s->cMultSectors || s->fATAPI) 2948 2950 goto abort_cmd; 2949 2951 s->cSectorsPerIRQ = s->cMultSectors; … … 2954 2956 case ATA_READ_DMA: 2955 2957 case ATA_READ_DMA_WITHOUT_RETRIES: 2956 if (!s->pDrvBlock )2958 if (!s->pDrvBlock || s->fATAPI) 2957 2959 goto abort_cmd; 2958 2960 s->cSectorsPerIRQ = ATA_MAX_MULT_SECTORS; … … 2964 2966 case ATA_WRITE_DMA: 2965 2967 case ATA_WRITE_DMA_WITHOUT_RETRIES: 2966 if (!s->pDrvBlock )2968 if (!s->pDrvBlock || s->fATAPI) 2967 2969 goto abort_cmd; 2968 2970 s->cSectorsPerIRQ = ATA_MAX_MULT_SECTORS; -
trunk/src/VBox/Devices/Storage/DevATA.cpp
r35560 r35595 3654 3654 case ATA_READ_SECTORS: 3655 3655 case ATA_READ_SECTORS_WITHOUT_RETRIES: 3656 if (!s->pDrvBlock )3656 if (!s->pDrvBlock || s->fATAPI) 3657 3657 goto abort_cmd; 3658 3658 s->cSectorsPerIRQ = 1; … … 3663 3663 case ATA_WRITE_SECTORS: 3664 3664 case ATA_WRITE_SECTORS_WITHOUT_RETRIES: 3665 if (!s->pDrvBlock || s->fATAPI) 3666 goto abort_cmd; 3665 3667 s->cSectorsPerIRQ = 1; 3666 3668 ataStartTransfer(s, ataGetNSectors(s) * 512, PDMBLOCKTXDIR_TO_DEVICE, ATAFN_BT_READ_WRITE_SECTORS, ATAFN_SS_WRITE_SECTORS, false); … … 3669 3671 s->fLBA48 = true; 3670 3672 case ATA_READ_MULTIPLE: 3671 if (!s-> cMultSectors)3673 if (!s->pDrvBlock || !s->cMultSectors || s->fATAPI) 3672 3674 goto abort_cmd; 3673 3675 s->cSectorsPerIRQ = s->cMultSectors; … … 3677 3679 s->fLBA48 = true; 3678 3680 case ATA_WRITE_MULTIPLE: 3679 if (!s-> cMultSectors)3681 if (!s->pDrvBlock || !s->cMultSectors || s->fATAPI) 3680 3682 goto abort_cmd; 3681 3683 s->cSectorsPerIRQ = s->cMultSectors; … … 3686 3688 case ATA_READ_DMA: 3687 3689 case ATA_READ_DMA_WITHOUT_RETRIES: 3688 if (!s->pDrvBlock )3690 if (!s->pDrvBlock || s->fATAPI) 3689 3691 goto abort_cmd; 3690 3692 s->cSectorsPerIRQ = ATA_MAX_MULT_SECTORS; … … 3696 3698 case ATA_WRITE_DMA: 3697 3699 case ATA_WRITE_DMA_WITHOUT_RETRIES: 3698 if (!s->pDrvBlock )3700 if (!s->pDrvBlock || s->fATAPI) 3699 3701 goto abort_cmd; 3700 3702 s->cSectorsPerIRQ = ATA_MAX_MULT_SECTORS;
Note:
See TracChangeset
for help on using the changeset viewer.