Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0 */ 2 : : #ifndef _SCSI_SCSI_REQUEST_H 3 : : #define _SCSI_SCSI_REQUEST_H 4 : : 5 : : #include <linux/blk-mq.h> 6 : : 7 : : #define BLK_MAX_CDB 16 8 : : 9 : : struct scsi_request { 10 : : unsigned char __cmd[BLK_MAX_CDB]; 11 : : unsigned char *cmd; 12 : : unsigned short cmd_len; 13 : : int result; 14 : : unsigned int sense_len; 15 : : unsigned int resid_len; /* residual count */ 16 : : int retries; 17 : : void *sense; 18 : : }; 19 : : 20 : : static inline struct scsi_request *scsi_req(struct request *rq) 21 : : { 22 : : return blk_mq_rq_to_pdu(rq); 23 : : } 24 : : 25 : : static inline void scsi_req_free_cmd(struct scsi_request *req) 26 : : { 27 : 0 : if (req->cmd != req->__cmd) 28 : 0 : kfree(req->cmd); 29 : : } 30 : : 31 : : void scsi_req_init(struct scsi_request *req); 32 : : 33 : : #endif /* _SCSI_SCSI_REQUEST_H */