smp_pass_through_req
smp_pass_through_req_t *smp_pass_through_req;
smp_pass_through_req = (smp_pass_through_req_t*)agIOCTLPayload->FunctionSpecificArea;
TI_DBG2(("SAS Address[%d]:%x",i,smp_pass_through_req->exp_sas_addr[i]));
TI_DBG2(("SAS Request Length:%d",smp_pass_through_req->smp_req_len));
TI_DBG2(("SAS Response Length:%d",smp_pass_through_req->smp_resp_len));
for(i=0;i<smp_pass_through_req->smp_req_len;i++)
TI_DBG2(("SAS request + %d:%x",i,smp_pass_through_req->smp_req_resp[i]));
devHandle = ostiGetDevHandleFromSasAddr(tiRoot, smp_pass_through_req->exp_sas_addr);
agSMPFrame.outFrameBuf = smp_pass_through_req->smp_req_resp;
agSMPFrame.expectedRespLen = smp_pass_through_req->smp_resp_len;
agSMPFrame.inFrameLen = smp_pass_through_req->smp_resp_len - 4;
if(!(smp_pass_through_req->smp_req_len - 8) && !tiIS_SPC(agRoot))
agSMPFrame.outFrameLen = smp_pass_through_req->smp_req_len - 4; //Exclude header
smp_pass_through_req->smp_req_len,
agSMPFrame.outFrameLen = smp_pass_through_req->smp_req_len - 4; //Exclude crc
osti_memcpy((void *)reqBuffer, (void *)(smp_pass_through_req->smp_req_resp), smp_pass_through_req->smp_req_len);
agSMPFrame.outFrameLen = smp_pass_through_req->smp_req_len - 8; //Exclude header and crc
osti_memcpy((void *)reqBuffer, (void *)(smp_pass_through_req->smp_req_resp + 4), smp_pass_through_req->smp_req_len - 4);
smp_pass_through_req->smp_resp_len + 4,
osti_memset((void *)respBuffer, 0, smp_pass_through_req->smp_resp_len);
tdsaAllShared->tdFWControlEx.usrAddr = (bit8*)smp_pass_through_req->smp_req_resp + smp_pass_through_req->smp_req_len;
tdsaAllShared->tdFWControlEx.len = smp_pass_through_req->smp_resp_len;