VirtualBox

Ignore:
Timestamp:
Mar 18, 2024 5:11:22 PM (12 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
162274
Message:

VSCSI: Fixed a problem with potentially unset cbSector in READ CD command. Added more logging.

Location:
trunk/src/VBox/Devices/Storage/VSCSI
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/VSCSI/VSCSIDevice.cpp

    r98103 r103902  
    6060 * @returns Flag whether we could handle the request.
    6161 * @param   pVScsiDevice    The virtual SCSI device instance.
    62  * @param   pVScsiReq       The SCSi request.
     62 * @param   pVScsiReq       The SCSI request.
    6363 * @param   prcReq          The final return value if the request was handled.
    6464 */
     
    6767{
    6868    bool fProcessed = true;
     69
     70    LogFlowFunc(("CDB: %.*Rhxs Cmd: %s\n", pVScsiReq->cbCDB, pVScsiReq->pbCDB, SCSICmdText(pVScsiReq->pbCDB[0])));
    6971
    7072    switch (pVScsiReq->pbCDB[0])
  • trunk/src/VBox/Devices/Storage/VSCSI/VSCSILunMmc.cpp

    r103882 r103902  
    12971297                            break;
    12981298                        case 0x10:
    1299                             /* normal read */
     1299                            /* user data only (normal read) */
    13001300                            enmTxDir = VSCSIIOREQTXDIR_READ;
    13011301                            cbSector = _2K;
     
    13031303                        case 0xf8:
    13041304                        {
     1305                            /* everything (sync, headers, user data, ECC) */
    13051306                            if (cbSectorRegion == 2048)
    13061307                            {
     
    13511352                                    if (paSegsNew)
    13521353                                    {
     1354                                        Assert(cbSectorRegion == 2048);
     1355                                        cbSector = cbSectorRegion;
    13531356                                        enmTxDir = VSCSIIOREQTXDIR_READ;
    13541357
  • trunk/src/VBox/Devices/Storage/VSCSI/VSCSISense.cpp

    r98103 r103902  
    4545int vscsiReqSenseOkSet(PVSCSISENSE pVScsiSense, PVSCSIREQINT pVScsiReq)
    4646{
     47    LogFlowFunc(("STATUS OK\n"));
    4748    memset(pVScsiSense->abSenseBuf, 0, sizeof(pVScsiSense->abSenseBuf));
    4849
     
    6465int vscsiReqSenseErrorSet(PVSCSISENSE pVScsiSense, PVSCSIREQINT pVScsiReq, uint8_t uSCSISenseKey, uint8_t uSCSIASC, uint8_t uSCSIASCQ)
    6566{
     67    LogFlowFunc(("CHECK CONDITION: %s %s\n", SCSISenseText(uSCSISenseKey), SCSISenseExtText(uSCSIASC, uSCSIASCQ)));
    6668    memset(pVScsiSense->abSenseBuf, 0, sizeof(pVScsiSense->abSenseBuf));
    6769    pVScsiSense->abSenseBuf[0] = (1 << 7) | SCSI_SENSE_RESPONSE_CODE_CURR_FIXED; /* Fixed format */
     
    8284int vscsiReqSenseErrorInfoSet(PVSCSISENSE pVScsiSense, PVSCSIREQINT pVScsiReq, uint8_t uSCSISenseKey, uint8_t uSCSIASC, uint8_t uSCSIASCQ, uint32_t uInfo)
    8385{
     86    LogFlowFunc(("CHECK CONDITION: %s %s uInfo:%02x\n", SCSISenseText(uSCSISenseKey), SCSISenseExtText(uSCSIASC, uSCSIASCQ), uInfo));
    8487    memset(pVScsiSense->abSenseBuf, 0, sizeof(pVScsiSense->abSenseBuf));
    8588    pVScsiSense->abSenseBuf[0] = RT_BIT(7) | SCSI_SENSE_RESPONSE_CODE_CURR_FIXED; /* Fixed format */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette