Lines Matching refs:kreq

265 	struct ipmi_request *kreq;  in ipmi_ioctl()  local
322 kreq = ipmi_alloc_request(dev, req->msgid, in ipmi_ioctl()
325 error = copyin(req->msg.data, kreq->ir_request, in ipmi_ioctl()
328 ipmi_free_request(kreq); in ipmi_ioctl()
333 error = sc->ipmi_enqueue_request(sc, kreq); in ipmi_ioctl()
343 IPMI_ALLOC_DRIVER_REQUEST(kreq, IPMI_ADDR(IPMI_APP_REQUEST, 0), in ipmi_ioctl()
346 kreq->ir_request[0] = iaddr->channel; in ipmi_ioctl()
347 kreq->ir_request[1] = iaddr->slave_addr; in ipmi_ioctl()
348 kreq->ir_request[2] = IPMI_ADDR(req->msg.netfn, iaddr->lun); in ipmi_ioctl()
349 kreq->ir_request[3] = in ipmi_ioctl()
350 ipmi_ipmb_checksum(&kreq->ir_request[1], 2); in ipmi_ioctl()
351 kreq->ir_request[4] = dev->ipmi_address; in ipmi_ioctl()
352 kreq->ir_request[5] = IPMI_ADDR(0, dev->ipmi_lun); in ipmi_ioctl()
353 kreq->ir_request[6] = req->msg.cmd; in ipmi_ioctl()
356 error = copyin(req->msg.data, &kreq->ir_request[7], in ipmi_ioctl()
361 kreq->ir_request[req->msg.data_len + 7] = in ipmi_ioctl()
362 ipmi_ipmb_checksum(&kreq->ir_request[4], in ipmi_ioctl()
364 error = ipmi_submit_driver_request(sc, kreq, MAX_TIMEOUT); in ipmi_ioctl()
368 kreq = ipmi_alloc_request(dev, req->msgid, in ipmi_ioctl()
371 kreq->ir_ipmb = true; in ipmi_ioctl()
372 kreq->ir_ipmb_addr = IPMI_ADDR(req->msg.netfn, 0); in ipmi_ioctl()
373 kreq->ir_ipmb_command = req->msg.cmd; in ipmi_ioctl()
376 error = sc->ipmi_enqueue_request(sc, kreq); in ipmi_ioctl()
392 kreq = TAILQ_FIRST(&dev->ipmi_completed_requests); in ipmi_ioctl()
393 if (kreq == NULL) { in ipmi_ioctl()
397 if (kreq->ir_error != 0) { in ipmi_ioctl()
398 error = kreq->ir_error; in ipmi_ioctl()
399 TAILQ_REMOVE(&dev->ipmi_completed_requests, kreq, in ipmi_ioctl()
403 ipmi_free_request(kreq); in ipmi_ioctl()
408 recv->msgid = kreq->ir_msgid; in ipmi_ioctl()
409 if (kreq->ir_ipmb) { in ipmi_ioctl()
412 IPMI_REPLY_ADDR(kreq->ir_ipmb_addr) >> 2; in ipmi_ioctl()
413 recv->msg.cmd = kreq->ir_ipmb_command; in ipmi_ioctl()
415 kreq->ir_compcode = kreq->ir_reply[6]; in ipmi_ioctl()
417 kreq->ir_reply += 7; in ipmi_ioctl()
418 len = kreq->ir_replylen - 7; in ipmi_ioctl()
421 recv->msg.netfn = IPMI_REPLY_ADDR(kreq->ir_addr) >> 2; in ipmi_ioctl()
422 recv->msg.cmd = kreq->ir_command; in ipmi_ioctl()
423 len = kreq->ir_replylen + 1; in ipmi_ioctl()
435 TAILQ_REMOVE(&dev->ipmi_completed_requests, kreq, ir_link); in ipmi_ioctl()
442 error = copyout(&kreq->ir_compcode, recv->msg.data, 1); in ipmi_ioctl()
444 error = copyout(kreq->ir_reply, recv->msg.data + 1, in ipmi_ioctl()
446 ipmi_free_request(kreq); in ipmi_ioctl()