[bug report] drm/amdkfd: Add SDMA user-mode queues support to QCM
Oded Gabbay
oded.gabbay at gmail.com
Sat Sep 2 11:45:53 UTC 2017
On Tue, Jul 11, 2017 at 11:03 PM, Dan Carpenter
<dan.carpenter at oracle.com> wrote:
> Hello Ben Goz,
>
> The patch bcea30817574: "drm/amdkfd: Add SDMA user-mode queues
> support to QCM" from Jan 3, 2015, leads to the following static
> checker warning:
>
> drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c:191 create_queue_nocpsch()
> error: uninitialized symbol 'retval'.
>
> drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> 155 static int create_queue_nocpsch(struct device_queue_manager *dqm,
> 156 struct queue *q,
> 157 struct qcm_process_device *qpd,
> 158 int *allocated_vmid)
> 159 {
> 160 int retval;
> ^^^^^^
> 161
> 162 BUG_ON(!dqm || !q || !qpd || !allocated_vmid);
> 163
> 164 pr_debug("kfd: In func %s\n", __func__);
> 165 print_queue(q);
> 166
> 167 mutex_lock(&dqm->lock);
> 168
> 169 if (dqm->total_queue_count >= max_num_of_queues_per_device) {
> 170 pr_warn("amdkfd: Can't create new usermode queue because %d queues were already created\n",
> 171 dqm->total_queue_count);
> 172 mutex_unlock(&dqm->lock);
> 173 return -EPERM;
> 174 }
> 175
> 176 if (list_empty(&qpd->queues_list)) {
> 177 retval = allocate_vmid(dqm, qpd, q);
> 178 if (retval != 0) {
> 179 mutex_unlock(&dqm->lock);
> 180 return retval;
> 181 }
> 182 }
> 183 *allocated_vmid = qpd->vmid;
> 184 q->properties.vmid = qpd->vmid;
> 185
> 186 if (q->properties.type == KFD_QUEUE_TYPE_COMPUTE)
> 187 retval = create_compute_queue_nocpsch(dqm, q, qpd);
> 188 if (q->properties.type == KFD_QUEUE_TYPE_SDMA)
> 189 retval = create_sdma_queue_nocpsch(dqm, q, qpd);
>
>
> There are a couple other options besides KFD_QUEUE_TYPE_COMPUTE and
> KFD_QUEUE_TYPE_SDMA. We should just add an:
>
> else
> retval = -EINVAL;
>
> to future proof the code, if nothing else.
>
> 190
> 191 if (retval != 0) {
> 192 if (list_empty(&qpd->queues_list)) {
> 193 deallocate_vmid(dqm, qpd, q);
> 194 *allocated_vmid = 0;
> 195 }
> 196 mutex_unlock(&dqm->lock);
> 197 return retval;
> 198 }
>
> regards,
> dan carpenter
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Dan, thanks.
The fix was added as part of a patch-set to be included in the
upcoming merge window.
Oded
More information about the amd-gfx
mailing list