mirror of
https://github.com/opnsense/src.git
synced 2026-06-04 22:32:43 -04:00
Copy back the Sense data at proper location expected by the application
typedef struct mps_pass_thru
{
uint64_t PtrRequest;
uint64_t PtrReply;
uint64_t PtrData;
uint32_t RequestSize;
uint32_t ReplySize;
uint32_t DataSize;
uint32_t DataDirection;
uint64_t PtrDataOut;
uint32_t DataOutSize;
uint32_t Timeout;
} mps_pass_thru_t, * ptrmpssas_pass_thru_t;
In the above mps_pass_thru structure; Application expects PrtReply buffer
should contain both MPI reply followed by sense data. So, updated driver
to copy sense data at PtrReply + sizeof(MPI2 reply) location where
application wants the driver to copy back the sense data info.
Submitted by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
Reviewed by: Kashyap Desai <Kashyap.Desai@broadcom.com>
Approved by: ken
MFC after: 3 days
Sponsored by: Broadcom Inc
This commit is contained in:
parent
8736c018d2
commit
23daf8f40b
1 changed files with 5 additions and 2 deletions
|
|
@ -1106,7 +1106,8 @@ mpr_user_pass_thru(struct mpr_softc *sc, mpr_pass_thru_t *data)
|
|||
SenseCount)), sizeof(struct
|
||||
scsi_sense_data));
|
||||
mpr_unlock(sc);
|
||||
copyout(cm->cm_sense, cm->cm_req + 64,
|
||||
copyout(cm->cm_sense,
|
||||
(PTRIN(data->PtrReply + sizeof(MPI2_SCSI_IO_REPLY))),
|
||||
sense_len);
|
||||
mpr_lock(sc);
|
||||
}
|
||||
|
|
@ -1140,7 +1141,9 @@ mpr_user_pass_thru(struct mpr_softc *sc, mpr_pass_thru_t *data)
|
|||
sz = MIN(le32toh(nvme_error_reply->ErrorResponseCount),
|
||||
NVME_ERROR_RESPONSE_SIZE);
|
||||
mpr_unlock(sc);
|
||||
copyout(cm->cm_sense, cm->nvme_error_response, sz);
|
||||
copyout(cm->cm_sense,
|
||||
(PTRIN(data->PtrReply +
|
||||
sizeof(MPI2_SCSI_IO_REPLY))), sz);
|
||||
mpr_lock(sc);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue