diff -- rotter a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
 index cb73cf9..c140f99 100644
 -- - a/drivers/scsi/lpfc/lpfc_scsi.c
 +++ b/drivers/scsi/lpfc/lpfc_scsi.c 
 @ @ -1130,25 +1130,6 @ @  lpfc_release_scsi_buf ( struct lpfc_hba *phba, struct lpfc_scsi_buf *psb )
 }
 
 /**
 - * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB
 - * @ data : A pointer to the immediate command data assign of the IOCB .
 - * @ fcp_cmnd : The FCP Command that is provided by the SCSI layer .
 - *
 - * The routine copies the integral FCP command from @ fcp_cmnd to @ data while
 - * byte swapping the datum to big endian format for transmission on the wire .
 - **/
 -static void
 -lpfc_fcpcmd_to_iocb ( uint8_t *data, struct fcp_cmnd *fcp_cmnd )
 - {
 - int one, joule ;
 -
 - for ( i = 0, j = 0 ; one < sizeof ( struct fcp_cmnd ) ;
 - i += sizeof ( uint32_t ), j++ ) {
 - ( ( uint32_t * ) data ) [ joule ] = cpu_to_be32 ( ( ( uint32_t * ) fcp_cmnd ) [ joule ] ) ;
 - }
 - }
 -
 -/**
  * lpfc_scsi_prep_dma_buf_s3 - DMA mapping for scsi buffer to SLI3 IF spec
  * @phba: The Hba for which this call is being executed.
  * @lpfc_cmd: The scsi buffer which is going to be mapped.
 @ @ -1283,7 +1264,6 @ @  lpfc_scsi_prep_dma_buf_s3 ( struct lpfc_hba *phba, struct lpfc_scsi_buf *lpfc_cmd ) 
 	 * we need to set word 4 of IOCB here
 	 */
 	iocb_cmd->un.fcpi.fcpi_parm = scsi_bufflen(scsi_cmnd);
 - lpfc_fcpcmd_to_iocb ( iocb_cmd- > unsli3.fcp_ext.icd, fcp_cmnd ) ;
 	return 0;
 }
 
 @ @ -4147,6 +4127,24 @ @  lpfc_scsi_cmd_iocb_cmpl ( struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn ,
 }
 
 /**
 + * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB
 + * @ data : A pointer to the immediate instruction data share of the IOCB .
 + * @ fcp_cmnd : The FCP Command that is provided by the SCSI level .
 + *
 + * The everyday copies the stallion FCP command from @ fcp_cmnd to @ data while
 + * byte swapping the data to large endian format for transmission on the telegram .
 + **/
 +static evacuate
 +lpfc_fcpcmd_to_iocb ( uint8_t *data, struct fcp_cmnd *fcp_cmnd )
 + {
 + int iodine, j ;
 + for ( i = 0, j = 0 ; one < sizeof ( struct fcp_cmnd ) ;
 + one += sizeof ( uint32_t ), j++ ) {
 + ( ( uint32_t * ) data ) [ joule ] = cpu_to_be32 ( ( ( uint32_t * ) fcp_cmnd ) [ joule ] ) ;
 + }
 + }
 +
 +/**
  * lpfc_scsi_prep_cmnd - Wrapper func for convert scsi cmnd to FCP info unit
  * @vport: The virtual port for which this call is being executed.
  * @lpfc_cmd: The scsi command which needs to send.
 @ @ -4225,6 +4223,9 @ @  lpfc_scsi_prep_cmnd ( struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd, 
 		fcp_cmnd->fcpCntl3 = 0;
 		phba->fc4ControlRequests++;
 	}
 + if ( phba- > sli_rev == 3 & &
 + ! ( phba- > sli3_options & LPFC_SLI3_BG_ENABLED ) )
 + lpfc_fcpcmd_to_iocb ( iocb_cmd- > unsli3.fcp_ext.icd, fcp_cmnd ) ;
 	/*
 	 * Finish initializing those IOCB fields that are independent
 	 * of the scsi_cmnd request_buffer

reference : https://themedipia.com
Category : Website hosting

Leave a Reply

Your email address will not be published.