Lines Matching refs:iocommand
5459 IOCTL_Command_struct iocommand; in pqi_passthru_ioctl() local
5470 if (copy_from_user(&iocommand, arg, sizeof(iocommand))) in pqi_passthru_ioctl()
5472 if (iocommand.buf_size < 1 && in pqi_passthru_ioctl()
5473 iocommand.Request.Type.Direction != XFER_NONE) in pqi_passthru_ioctl()
5475 if (iocommand.Request.CDBLen > sizeof(request.cdb)) in pqi_passthru_ioctl()
5477 if (iocommand.Request.Type.Type != TYPE_CMD) in pqi_passthru_ioctl()
5480 switch (iocommand.Request.Type.Direction) { in pqi_passthru_ioctl()
5490 if (iocommand.buf_size > 0) { in pqi_passthru_ioctl()
5491 kernel_buffer = kmalloc(iocommand.buf_size, GFP_KERNEL); in pqi_passthru_ioctl()
5494 if (iocommand.Request.Type.Direction & XFER_WRITE) { in pqi_passthru_ioctl()
5495 if (copy_from_user(kernel_buffer, iocommand.buf, in pqi_passthru_ioctl()
5496 iocommand.buf_size)) { in pqi_passthru_ioctl()
5501 memset(kernel_buffer, 0, iocommand.buf_size); in pqi_passthru_ioctl()
5510 memcpy(request.lun_number, iocommand.LUN_info.LunAddrBytes, in pqi_passthru_ioctl()
5512 memcpy(request.cdb, iocommand.Request.CDB, iocommand.Request.CDBLen); in pqi_passthru_ioctl()
5515 switch (iocommand.Request.Type.Direction) { in pqi_passthru_ioctl()
5532 if (iocommand.buf_size > 0) { in pqi_passthru_ioctl()
5533 put_unaligned_le32(iocommand.buf_size, &request.buffer_length); in pqi_passthru_ioctl()
5537 iocommand.buf_size, PCI_DMA_BIDIRECTIONAL); in pqi_passthru_ioctl()
5549 if (iocommand.buf_size > 0) in pqi_passthru_ioctl()
5553 memset(&iocommand.error_info, 0, sizeof(iocommand.error_info)); in pqi_passthru_ioctl()
5557 iocommand.error_info.ScsiStatus = ciss_error_info.scsi_status; in pqi_passthru_ioctl()
5558 iocommand.error_info.CommandStatus = in pqi_passthru_ioctl()
5563 sizeof(iocommand.error_info.SenseInfo)) in pqi_passthru_ioctl()
5565 sizeof(iocommand.error_info.SenseInfo); in pqi_passthru_ioctl()
5566 memcpy(iocommand.error_info.SenseInfo, in pqi_passthru_ioctl()
5568 iocommand.error_info.SenseLen = sense_data_length; in pqi_passthru_ioctl()
5572 if (copy_to_user(arg, &iocommand, sizeof(iocommand))) { in pqi_passthru_ioctl()
5577 if (rc == 0 && iocommand.buf_size > 0 && in pqi_passthru_ioctl()
5578 (iocommand.Request.Type.Direction & XFER_READ)) { in pqi_passthru_ioctl()
5579 if (copy_to_user(iocommand.buf, kernel_buffer, in pqi_passthru_ioctl()
5580 iocommand.buf_size)) { in pqi_passthru_ioctl()