- Timestamp:
- Jan 3, 2017 10:55:26 AM (8 years ago)
- Location:
- trunk/src/VBox/Devices/Storage
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevATA.cpp
r65060 r65061 2051 2051 break; 2052 2052 } 2053 rc = s->pDrvMedia->pfnSendCmd(s->pDrvMedia, aATAPICmd, (PDMMEDIATXDIR)s->uTxDir, pbBuf, &cbCurrTX, abATAPISense, sizeof(abATAPISense), 30000 /**< @todo timeout */); 2053 rc = s->pDrvMedia->pfnSendCmd(s->pDrvMedia, aATAPICmd, ATAPI_PACKET_SIZE, (PDMMEDIATXDIR)s->uTxDir, 2054 pbBuf, &cbCurrTX, abATAPISense, sizeof(abATAPISense), 30000 /**< @todo timeout */); 2054 2055 if (rc != VINF_SUCCESS) 2055 2056 break; … … 2092 2093 } 2093 2094 else 2094 rc = s->pDrvMedia->pfnSendCmd(s->pDrvMedia, s->aATAPICmd, (PDMMEDIATXDIR)s->uTxDir, s->CTX_SUFF(pbIOBuffer), &cbTransfer, abATAPISense, sizeof(abATAPISense), 30000 /**< @todo timeout */); 2095 rc = s->pDrvMedia->pfnSendCmd(s->pDrvMedia, s->aATAPICmd, ATAPI_PACKET_SIZE, (PDMMEDIATXDIR)s->uTxDir, 2096 s->CTX_SUFF(pbIOBuffer), &cbTransfer, abATAPISense, sizeof(abATAPISense), 30000 /**< @todo timeout */); 2095 2097 if (pProf) { STAM_PROFILE_ADV_STOP(pProf, b); } 2096 2098 -
trunk/src/VBox/Devices/Storage/DrvHostDVD.cpp
r64413 r65061 500 500 501 501 /** @interface_method_impl{PDMIMEDIA,pfnSendCmd} */ 502 static DECLCALLBACK(int) drvHostDvdSendCmd(PPDMIMEDIA pInterface, const uint8_t *pbC md,502 static DECLCALLBACK(int) drvHostDvdSendCmd(PPDMIMEDIA pInterface, const uint8_t *pbCdb, size_t cbCdb, 503 503 PDMMEDIATXDIR enmTxDir, void *pvBuf, uint32_t *pcbBuf, 504 504 uint8_t *pabSense, size_t cbSense, uint32_t cTimeoutMillies) … … 506 506 PDRVHOSTBASE pThis = RT_FROM_MEMBER(pInterface, DRVHOSTBASE, IMedia); 507 507 int rc; 508 LogFlow(("%s: cmd[0]=%#04x txdir=%d pcbBuf=%d timeout=%d\n", __FUNCTION__, pbC md[0], enmTxDir, *pcbBuf, cTimeoutMillies));508 LogFlow(("%s: cmd[0]=%#04x txdir=%d pcbBuf=%d timeout=%d\n", __FUNCTION__, pbCdb[0], enmTxDir, *pcbBuf, cTimeoutMillies)); 509 509 510 510 RTCritSectEnter(&pThis->CritSect); 511 /* 512 * Pass the request on to the internal scsi command interface. 513 * The command seems to be 12 bytes long, the docs a bit copy&pasty on the command length point... 514 */ 511 /* Pass the request on to the internal scsi command interface. */ 515 512 if (enmTxDir == PDMMEDIATXDIR_FROM_DEVICE) 516 513 memset(pvBuf, '\0', *pcbBuf); /* we got read size, but zero it anyway. */ 517 rc = drvHostBaseScsiCmdOs(pThis, pbC md, 12, enmTxDir, pvBuf, pcbBuf, pabSense, cbSense, cTimeoutMillies);514 rc = drvHostBaseScsiCmdOs(pThis, pbCdb, cbCdb, enmTxDir, pvBuf, pcbBuf, pabSense, cbSense, cTimeoutMillies); 518 515 if (rc == VERR_UNRESOLVED_ERROR) 519 516 /* sense information set */ 520 517 rc = VERR_DEV_IO_ERROR; 521 518 522 if (pbC md[0] == SCSI_GET_EVENT_STATUS_NOTIFICATION)519 if (pbCdb[0] == SCSI_GET_EVENT_STATUS_NOTIFICATION) 523 520 { 524 521 uint8_t *pbBuf = (uint8_t*)pvBuf;
Note:
See TracChangeset
for help on using the changeset viewer.