• Home
  • Raw
  • Download

Lines Matching refs:request

291 __tape_cancel_io(struct tape_device *device, struct tape_request *request)  in __tape_cancel_io()  argument
297 if (request->callback == NULL) in __tape_cancel_io()
302 rc = ccw_device_clear(device->cdev, (long) request); in __tape_cancel_io()
306 request->status = TAPE_REQUEST_DONE; in __tape_cancel_io()
309 request->status = TAPE_REQUEST_CANCEL; in __tape_cancel_io()
641 struct tape_request * request; in __tape_discard_requests() local
645 request = list_entry(l, struct tape_request, list); in __tape_discard_requests()
646 if (request->status == TAPE_REQUEST_IN_IO) in __tape_discard_requests()
647 request->status = TAPE_REQUEST_DONE; in __tape_discard_requests()
648 list_del(&request->list); in __tape_discard_requests()
651 request->device = NULL; in __tape_discard_requests()
653 request->rc = -EIO; in __tape_discard_requests()
654 if (request->callback != NULL) in __tape_discard_requests()
655 request->callback(request, request->callback_data); in __tape_discard_requests()
724 struct tape_request *request; in tape_alloc_request() local
730 request = kzalloc(sizeof(struct tape_request), GFP_KERNEL); in tape_alloc_request()
731 if (request == NULL) { in tape_alloc_request()
737 request->cpaddr = kcalloc(cplength, sizeof(struct ccw1), in tape_alloc_request()
739 if (request->cpaddr == NULL) { in tape_alloc_request()
741 kfree(request); in tape_alloc_request()
747 request->cpdata = kzalloc(datasize, GFP_KERNEL | GFP_DMA); in tape_alloc_request()
748 if (request->cpdata == NULL) { in tape_alloc_request()
750 kfree(request->cpaddr); in tape_alloc_request()
751 kfree(request); in tape_alloc_request()
755 DBF_LH(6, "New request %p(%p/%p)\n", request, request->cpaddr, in tape_alloc_request()
756 request->cpdata); in tape_alloc_request()
758 return request; in tape_alloc_request()
765 tape_free_request (struct tape_request * request) in tape_free_request() argument
767 DBF_LH(6, "Free request %p\n", request); in tape_free_request()
769 if (request->device) in tape_free_request()
770 tape_put_device(request->device); in tape_free_request()
771 kfree(request->cpdata); in tape_free_request()
772 kfree(request->cpaddr); in tape_free_request()
773 kfree(request); in tape_free_request()
777 __tape_start_io(struct tape_device *device, struct tape_request *request) in __tape_start_io() argument
783 request->cpaddr, in __tape_start_io()
784 (unsigned long) request, in __tape_start_io()
786 request->options in __tape_start_io()
789 request->status = TAPE_REQUEST_IN_IO; in __tape_start_io()
792 request->status = TAPE_REQUEST_QUEUED; in __tape_start_io()
806 struct tape_request *request; in __tape_start_next_request() local
815 request = list_entry(l, struct tape_request, list); in __tape_start_next_request()
821 if (request->status == TAPE_REQUEST_IN_IO) in __tape_start_next_request()
828 if (request->status == TAPE_REQUEST_DONE) in __tape_start_next_request()
837 if (request->status == TAPE_REQUEST_CANCEL) { in __tape_start_next_request()
838 rc = __tape_cancel_io(device, request); in __tape_start_next_request()
840 rc = __tape_start_io(device, request); in __tape_start_next_request()
846 request->rc = rc; in __tape_start_next_request()
847 request->status = TAPE_REQUEST_DONE; in __tape_start_next_request()
850 list_del(&request->list); in __tape_start_next_request()
853 if (request->callback != NULL) in __tape_start_next_request()
854 request->callback(request, request->callback_data); in __tape_start_next_request()
872 struct tape_request *request; in tape_long_busy_timeout() local
877 request = list_entry(device->req_queue.next, struct tape_request, list); in tape_long_busy_timeout()
878 BUG_ON(request->status != TAPE_REQUEST_LONG_BUSY); in tape_long_busy_timeout()
889 struct tape_request * request, in __tape_end_request() argument
892 DBF_LH(6, "__tape_end_request(%p, %p, %i)\n", device, request, rc); in __tape_end_request()
893 if (request) { in __tape_end_request()
894 request->rc = rc; in __tape_end_request()
895 request->status = TAPE_REQUEST_DONE; in __tape_end_request()
898 list_del(&request->list); in __tape_end_request()
901 if (request->callback != NULL) in __tape_end_request()
902 request->callback(request, request->callback_data); in __tape_end_request()
914 tape_dump_sense_dbf(struct tape_device *device, struct tape_request *request, in tape_dump_sense_dbf() argument
920 if (request != NULL) in tape_dump_sense_dbf()
921 op = tape_op_verbose[request->op]; in tape_dump_sense_dbf()
940 __tape_start_request(struct tape_device *device, struct tape_request *request) in __tape_start_request() argument
944 switch (request->op) { in __tape_start_request()
962 request->device = tape_get_device(device); in __tape_start_request()
966 rc = __tape_start_io(device, request); in __tape_start_request()
970 DBF_LH(5, "Request %p added for execution.\n", request); in __tape_start_request()
971 list_add(&request->list, &device->req_queue); in __tape_start_request()
973 DBF_LH(5, "Request %p add to queue.\n", request); in __tape_start_request()
974 request->status = TAPE_REQUEST_QUEUED; in __tape_start_request()
975 list_add_tail(&request->list, &device->req_queue); in __tape_start_request()
985 tape_do_io_async(struct tape_device *device, struct tape_request *request) in tape_do_io_async() argument
989 DBF_LH(6, "tape_do_io_async(%p, %p)\n", device, request); in tape_do_io_async()
993 rc = __tape_start_request(device, request); in tape_do_io_async()
1004 __tape_wake_up(struct tape_request *request, void *data) in __tape_wake_up() argument
1006 request->callback = NULL; in __tape_wake_up()
1011 tape_do_io(struct tape_device *device, struct tape_request *request) in tape_do_io() argument
1017 request->callback = __tape_wake_up; in tape_do_io()
1018 request->callback_data = &device->wait_queue; in tape_do_io()
1020 rc = __tape_start_request(device, request); in tape_do_io()
1025 wait_event(device->wait_queue, (request->callback == NULL)); in tape_do_io()
1027 return request->rc; in tape_do_io()
1036 __tape_wake_up_interruptible(struct tape_request *request, void *data) in __tape_wake_up_interruptible() argument
1038 request->callback = NULL; in __tape_wake_up_interruptible()
1044 struct tape_request *request) in tape_do_io_interruptible() argument
1050 request->callback = __tape_wake_up_interruptible; in tape_do_io_interruptible()
1051 request->callback_data = &device->wait_queue; in tape_do_io_interruptible()
1052 rc = __tape_start_request(device, request); in tape_do_io_interruptible()
1058 (request->callback == NULL)); in tape_do_io_interruptible()
1061 return request->rc; in tape_do_io_interruptible()
1065 rc = __tape_cancel_io(device, request); in tape_do_io_interruptible()
1072 (request->callback == NULL) in tape_do_io_interruptible()
1086 tape_cancel_io(struct tape_device *device, struct tape_request *request) in tape_cancel_io() argument
1091 rc = __tape_cancel_io(device, request); in tape_cancel_io()
1103 struct tape_request *request; in __tape_do_irq() local
1110 request = (struct tape_request *) intparm; in __tape_do_irq()
1112 DBF_LH(6, "__tape_do_irq(device=%p, request=%p)\n", device, request); in __tape_do_irq()
1122 __tape_end_request(device, request, -EIO); in __tape_do_irq()
1140 (request->status == TAPE_REQUEST_IN_IO)) { in __tape_do_irq()
1143 request->status = TAPE_REQUEST_QUEUED; in __tape_do_irq()
1149 if(request != NULL) in __tape_do_irq()
1150 request->rescnt = irb->scsw.cmd.count; in __tape_do_irq()
1179 tape_dump_sense_dbf(device, request, irb); in __tape_do_irq()
1193 if(request != NULL && request->status == TAPE_REQUEST_DONE) { in __tape_do_irq()
1194 __tape_end_request(device, request, -EIO); in __tape_do_irq()
1198 rc = device->discipline->irq(device, request, irb); in __tape_do_irq()
1210 __tape_end_request(device, request, rc); in __tape_do_irq()
1221 request->status = TAPE_REQUEST_LONG_BUSY; in __tape_do_irq()
1224 rc = __tape_start_io(device, request); in __tape_do_irq()
1226 __tape_end_request(device, request, rc); in __tape_do_irq()
1229 rc = __tape_cancel_io(device, request); in __tape_do_irq()
1231 __tape_end_request(device, request, rc); in __tape_do_irq()
1236 __tape_end_request(device, request, -EIO); in __tape_do_irq()
1238 __tape_end_request(device, request, rc); in __tape_do_irq()