Lines Matching defs:fault
71 struct fault {
501 struct fault *fault = container_of(work, struct fault, work);
505 write = !!(fault->flags & PPR_FAULT_WRITE);
507 npages = get_user_pages(fault->state->task, fault->state->mm,
508 fault->address, 1, write, 0, &page, NULL);
512 } else if (fault->dev_state->inv_ppr_cb) {
515 status = fault->dev_state->inv_ppr_cb(fault->dev_state->pdev,
516 fault->pasid,
517 fault->address,
518 fault->flags);
521 set_pri_tag_status(fault->state, fault->tag, PPR_SUCCESS);
524 set_pri_tag_status(fault->state, fault->tag, PPR_INVALID);
527 set_pri_tag_status(fault->state, fault->tag, PPR_FAILURE);
533 set_pri_tag_status(fault->state, fault->tag, PPR_INVALID);
536 finish_pri_tag(fault->dev_state, fault->state, fault->tag);
538 put_pasid_state(fault->state);
540 kfree(fault);
549 struct fault *fault;
577 fault = kzalloc(sizeof(*fault), GFP_ATOMIC);
578 if (fault == NULL) {
579 /* We are OOM - send success and let the device re-fault */
584 fault->dev_state = dev_state;
585 fault->address = iommu_fault->address;
586 fault->state = pasid_state;
587 fault->tag = tag;
588 fault->finish = finish;
589 fault->flags = iommu_fault->flags;
590 INIT_WORK(&fault->work, do_fault);
592 queue_work(iommu_wq, &fault->work);