Lines Matching refs:iocommand
259 IOCTL_Command_struct *iocommand);
6374 IOCTL_Command_struct *iocommand) in hpsa_passthru_ioctl() argument
6383 if ((iocommand->buf_size < 1) && in hpsa_passthru_ioctl()
6384 (iocommand->Request.Type.Direction != XFER_NONE)) { in hpsa_passthru_ioctl()
6387 if (iocommand->buf_size > 0) { in hpsa_passthru_ioctl()
6388 buff = kmalloc(iocommand->buf_size, GFP_KERNEL); in hpsa_passthru_ioctl()
6391 if (iocommand->Request.Type.Direction & XFER_WRITE) { in hpsa_passthru_ioctl()
6393 if (copy_from_user(buff, iocommand->buf, in hpsa_passthru_ioctl()
6394 iocommand->buf_size)) { in hpsa_passthru_ioctl()
6399 memset(buff, 0, iocommand->buf_size); in hpsa_passthru_ioctl()
6409 if (iocommand->buf_size > 0) { /* buffer to fill */ in hpsa_passthru_ioctl()
6416 memcpy(&c->Header.LUN, &iocommand->LUN_info, sizeof(c->Header.LUN)); in hpsa_passthru_ioctl()
6419 memcpy(&c->Request, &iocommand->Request, in hpsa_passthru_ioctl()
6423 if (iocommand->buf_size > 0) { in hpsa_passthru_ioctl()
6425 iocommand->buf_size, DMA_BIDIRECTIONAL); in hpsa_passthru_ioctl()
6433 c->SG[0].Len = cpu_to_le32(iocommand->buf_size); in hpsa_passthru_ioctl()
6438 if (iocommand->buf_size > 0) in hpsa_passthru_ioctl()
6447 memcpy(&iocommand->error_info, c->err_info, in hpsa_passthru_ioctl()
6448 sizeof(iocommand->error_info)); in hpsa_passthru_ioctl()
6449 if ((iocommand->Request.Type.Direction & XFER_READ) && in hpsa_passthru_ioctl()
6450 iocommand->buf_size > 0) { in hpsa_passthru_ioctl()
6452 if (copy_to_user(iocommand->buf, buff, iocommand->buf_size)) { in hpsa_passthru_ioctl()
6616 IOCTL_Command_struct iocommand; in hpsa_ioctl() local
6620 if (copy_from_user(&iocommand, argp, sizeof(iocommand))) in hpsa_ioctl()
6624 rc = hpsa_passthru_ioctl(h, &iocommand); in hpsa_ioctl()
6626 if (!rc && copy_to_user(argp, &iocommand, sizeof(iocommand))) in hpsa_ioctl()