drm/amdkfd: PQM handle queue creation fault
authorBen Goz <ben.goz@amd.com>
Thu, 15 Jan 2015 15:14:47 +0000 (17:14 +0200)
committerOded Gabbay <oded.gabbay@amd.com>
Thu, 15 Jan 2015 15:14:47 +0000 (17:14 +0200)
If the first queue created was failed on DQM then PQM should
unregister the process from DQM.

Signed-off-by: Ben Goz <ben.goz@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c

index 47526780d736ced5470bfb2822a3892f879b0320..326d26881afd5cb4ca0ef6e38dbc11a88e4cb96a 100644 (file)
@@ -241,7 +241,10 @@ int pqm_create_queue(struct process_queue_manager *pqm,
 err_create_queue:
        kfree(pqn);
 err_allocate_pqn:
+       /* check if queues list is empty unregister process from device */
        clear_bit(*qid, pqm->queue_slot_bitmap);
+       if (list_empty(&pqm->queues))
+               dev->dqm->unregister_process(dev->dqm, &pdd->qpd);
        return retval;
 }