drm/nouveau/pwr: initial implementation
Dan Carpenter
dan.carpenter at oracle.com
Tue Nov 12 01:54:33 PST 2013
Hello Ben Skeggs,
The patch ff4b42c7532e: "drm/nouveau/pwr: initial implementation"
from Oct 15, 2013, leads to the following Smatch warning:
"drivers/gpu/drm/nouveau/core/subdev/pwr/base.c:48 nouveau_pwr_send()
warn: 'mutex:&subdev->mutex' is sometimes locked here and sometimes unlocked."
drivers/gpu/drm/nouveau/core/subdev/pwr/base.c
35 /* we currently only support a single process at a time waiting
36 * on a synchronous reply, take the PPWR mutex and tell the
37 * receive handler what we're waiting for
38 */
39 if (reply) {
40 mutex_lock(&subdev->mutex);
41 ppwr->recv.message = message;
42 ppwr->recv.process = process;
43 }
44
45 /* wait for a free slot in the fifo */
46 addr = nv_rd32(ppwr, 0x10a4a0);
47 if (!nv_wait_ne(ppwr, 0x10a4b0, 0xffffffff, addr ^ 8))
48 return -EBUSY;
Should we have an if (reply) mutex_unlock(&subdev->mutex) before the
return?
49
regards,
dan carpenter
More information about the dri-devel
mailing list