func: static int megasas_finish_internal_command(MegasasCmd SCSIRequest *req, size_t resid) if ( cmd -> frame -> header . frame_cmd == MFI_CMD_DCMD )  cmd -> iov_size -= resid; retval = megasas_finish_internal_dcmd ( cmd , req ); static int megasas_finish_internal_dcmd(MegasasCmd SCSIRequest *req) int opcode ; int lun = req -> lun ; opcode = le32_to_cpu ( cmd -> frame -> dcmd . opcode ); switch ( opcode )  retval = megasas_pd_get_info_submit ( req -> dev , lun , cmd ); static int megasas_pd_get_info_submit(SCSIDevice *sdev, int MegasasCmd *cmd) struct mfi_pd_info * info = cmd -> iov_buf ; uint8_t cmdbuf [ 6 ] ; if ( ! cmd -> iov_buf )  if ( info -> inquiry_data [ 0 ] != 0x7f && info -> vpd_page83 [ 0 ] == 0x7f )  megasas_setup_inquiry ( cmdbuf , 0x83 , sizeof ( info -> vpd_page83 ) ); static int megasas_setup_inquiry(uint8_t *cdb, int pg, int len) memset ( cdb , 0 , 6 ); cdb [ 0 ] = INQUIRY; cdb [ 1 ] = 0x1; cdb [ 2 ] = pg; cdb [ 3 ] = ( len >> 8 ) & 0xff; cdb [ 4 ] = ( len & 0xff ); 