Lines Matching refs:kreq

264 	struct ipmi_request *kreq;  in ipmi_ioctl()  local
321 kreq = ipmi_alloc_request(dev, req->msgid, in ipmi_ioctl()
324 error = copyin(req->msg.data, kreq->ir_request, in ipmi_ioctl()
327 ipmi_free_request(kreq); in ipmi_ioctl()
332 error = sc->ipmi_enqueue_request(sc, kreq); in ipmi_ioctl()
342 IPMI_ALLOC_DRIVER_REQUEST(kreq, IPMI_ADDR(IPMI_APP_REQUEST, 0), in ipmi_ioctl()
345 kreq->ir_request[0] = iaddr->channel; in ipmi_ioctl()
346 kreq->ir_request[1] = iaddr->slave_addr; in ipmi_ioctl()
347 kreq->ir_request[2] = IPMI_ADDR(req->msg.netfn, iaddr->lun); in ipmi_ioctl()
348 kreq->ir_request[3] = in ipmi_ioctl()
349 ipmi_ipmb_checksum(&kreq->ir_request[1], 2); in ipmi_ioctl()
350 kreq->ir_request[4] = dev->ipmi_address; in ipmi_ioctl()
351 kreq->ir_request[5] = IPMI_ADDR(0, dev->ipmi_lun); in ipmi_ioctl()
352 kreq->ir_request[6] = req->msg.cmd; in ipmi_ioctl()
355 error = copyin(req->msg.data, &kreq->ir_request[7], in ipmi_ioctl()
360 kreq->ir_request[req->msg.data_len + 7] = in ipmi_ioctl()
361 ipmi_ipmb_checksum(&kreq->ir_request[4], in ipmi_ioctl()
363 error = ipmi_submit_driver_request(sc, kreq); in ipmi_ioctl()
367 kreq = ipmi_alloc_request(dev, req->msgid, in ipmi_ioctl()
370 kreq->ir_ipmb = true; in ipmi_ioctl()
371 kreq->ir_ipmb_addr = IPMI_ADDR(req->msg.netfn, 0); in ipmi_ioctl()
372 kreq->ir_ipmb_command = req->msg.cmd; in ipmi_ioctl()
375 error = sc->ipmi_enqueue_request(sc, kreq); in ipmi_ioctl()
391 kreq = TAILQ_FIRST(&dev->ipmi_completed_requests); in ipmi_ioctl()
392 if (kreq == NULL) { in ipmi_ioctl()
396 if (kreq->ir_error != 0) { in ipmi_ioctl()
397 error = kreq->ir_error; in ipmi_ioctl()
398 TAILQ_REMOVE(&dev->ipmi_completed_requests, kreq, in ipmi_ioctl()
402 ipmi_free_request(kreq); in ipmi_ioctl()
407 recv->msgid = kreq->ir_msgid; in ipmi_ioctl()
408 if (kreq->ir_ipmb) { in ipmi_ioctl()
411 IPMI_REPLY_ADDR(kreq->ir_ipmb_addr) >> 2; in ipmi_ioctl()
412 recv->msg.cmd = kreq->ir_ipmb_command; in ipmi_ioctl()
414 kreq->ir_compcode = kreq->ir_reply[6]; in ipmi_ioctl()
416 kreq->ir_reply += 7; in ipmi_ioctl()
417 len = kreq->ir_replylen - 7; in ipmi_ioctl()
420 recv->msg.netfn = IPMI_REPLY_ADDR(kreq->ir_addr) >> 2; in ipmi_ioctl()
421 recv->msg.cmd = kreq->ir_command; in ipmi_ioctl()
422 len = kreq->ir_replylen + 1; in ipmi_ioctl()
434 TAILQ_REMOVE(&dev->ipmi_completed_requests, kreq, ir_link); in ipmi_ioctl()
441 error = copyout(&kreq->ir_compcode, recv->msg.data, 1); in ipmi_ioctl()
443 error = copyout(kreq->ir_reply, recv->msg.data + 1, in ipmi_ioctl()
445 ipmi_free_request(kreq); in ipmi_ioctl()