@@ -2799,49 +2799,52 @@ static int mpi3mr_build_sg_scmd(struct mpi3mr_ioc *mrioc,
27992799}
28002800
28012801/**
2802- * mpi3mr_print_response_code - print TM response as a string
2803- * @mrioc: Adapter instance reference
2802+ * mpi3mr_tm_response_name - get TM response as a string
28042803 * @resp_code: TM response code
28052804 *
2806- * Print TM response code as a readable string.
2805+ * Convert known task management response code as a readable
2806+ * string.
28072807 *
2808- * Return: Nothing .
2808+ * Return: response code string .
28092809 */
2810- static void mpi3mr_print_response_code ( struct mpi3mr_ioc * mrioc , u8 resp_code )
2810+ static const char * mpi3mr_tm_response_name ( u8 resp_code )
28112811{
28122812 char * desc ;
28132813
28142814 switch (resp_code ) {
2815- case MPI3MR_RSP_TM_COMPLETE :
2815+ case MPI3_SCSITASKMGMT_RSPCODE_TM_COMPLETE :
28162816 desc = "task management request completed" ;
28172817 break ;
2818- case MPI3MR_RSP_INVALID_FRAME :
2818+ case MPI3_SCSITASKMGMT_RSPCODE_INVALID_FRAME :
28192819 desc = "invalid frame" ;
28202820 break ;
2821- case MPI3MR_RSP_TM_NOT_SUPPORTED :
2821+ case MPI3_SCSITASKMGMT_RSPCODE_TM_FUNCTION_NOT_SUPPORTED :
28222822 desc = "task management request not supported" ;
28232823 break ;
2824- case MPI3MR_RSP_TM_FAILED :
2824+ case MPI3_SCSITASKMGMT_RSPCODE_TM_FAILED :
28252825 desc = "task management request failed" ;
28262826 break ;
2827- case MPI3MR_RSP_TM_SUCCEEDED :
2827+ case MPI3_SCSITASKMGMT_RSPCODE_TM_SUCCEEDED :
28282828 desc = "task management request succeeded" ;
28292829 break ;
2830- case MPI3MR_RSP_TM_INVALID_LUN :
2831- desc = "invalid lun " ;
2830+ case MPI3_SCSITASKMGMT_RSPCODE_TM_INVALID_LUN :
2831+ desc = "invalid LUN " ;
28322832 break ;
2833- case MPI3MR_RSP_TM_OVERLAPPED_TAG :
2833+ case MPI3_SCSITASKMGMT_RSPCODE_TM_OVERLAPPED_TAG :
28342834 desc = "overlapped tag attempted" ;
28352835 break ;
2836- case MPI3MR_RSP_IO_QUEUED_ON_IOC :
2836+ case MPI3_SCSITASKMGMT_RSPCODE_IO_QUEUED_ON_IOC :
28372837 desc = "task queued, however not sent to target" ;
28382838 break ;
2839+ case MPI3_SCSITASKMGMT_RSPCODE_TM_NVME_DENIED :
2840+ desc = "task management request denied by NVMe device" ;
2841+ break ;
28392842 default :
28402843 desc = "unknown" ;
28412844 break ;
28422845 }
2843- ioc_info ( mrioc , "%s :response_code(0x%01x): %s\n" , __func__ ,
2844- resp_code , desc ) ;
2846+
2847+ return desc ;
28452848}
28462849
28472850/**
@@ -2965,10 +2968,10 @@ static int mpi3mr_issue_tm(struct mpi3mr_ioc *mrioc, u8 tm_type,
29652968 * resp_code = le32_to_cpu (tm_reply -> response_data ) &
29662969 MPI3MR_RI_MASK_RESPCODE ;
29672970 switch (* resp_code ) {
2968- case MPI3MR_RSP_TM_SUCCEEDED :
2969- case MPI3MR_RSP_TM_COMPLETE :
2971+ case MPI3_SCSITASKMGMT_RSPCODE_TM_SUCCEEDED :
2972+ case MPI3_SCSITASKMGMT_RSPCODE_TM_COMPLETE :
29702973 break ;
2971- case MPI3MR_RSP_IO_QUEUED_ON_IOC :
2974+ case MPI3_SCSITASKMGMT_RSPCODE_IO_QUEUED_ON_IOC :
29722975 if (tm_type != MPI3_SCSITASKMGMT_TASKTYPE_QUERY_TASK )
29732976 retval = -1 ;
29742977 break ;
@@ -2977,14 +2980,11 @@ static int mpi3mr_issue_tm(struct mpi3mr_ioc *mrioc, u8 tm_type,
29772980 break ;
29782981 }
29792982
2980- ioc_info (mrioc ,
2981- "%s :Issue TM: Completed TM type (0x%x) handle(0x%04x) " ,
2982- __func__ , tm_type , handle );
2983- ioc_info (mrioc ,
2984- "with ioc_status(0x%04x), loginfo(0x%08x), term_count(0x%08x)\n" ,
2985- drv_cmd -> ioc_status , drv_cmd -> ioc_loginfo ,
2986- le32_to_cpu (tm_reply -> termination_count ));
2987- mpi3mr_print_response_code (mrioc , * resp_code );
2983+ dprint_tm (mrioc ,
2984+ "task management request type(%d) completed for handle(0x%04x) with ioc_status(0x%04x), log_info(0x%08x), termination_count(%d), response:%s(0x%x)\n" ,
2985+ tm_type , handle , drv_cmd -> ioc_status , drv_cmd -> ioc_loginfo ,
2986+ le32_to_cpu (tm_reply -> termination_count ),
2987+ mpi3mr_tm_response_name (* resp_code ), * resp_code );
29882988
29892989out_unlock :
29902990 drv_cmd -> state = MPI3MR_CMD_NOTUSED ;
0 commit comments