[Intel-xe] [PATCH 01/15] drm/xe/mmio: don't leak the forcewake ref
Matthew Auld
matthew.auld at intel.com
Tue Feb 14 11:21:22 UTC 2023
Make sure we properly release the forcewake ref on all error paths.
Signed-off-by: Matthew Auld <matthew.auld at intel.com>
---
drivers/gpu/drm/xe/xe_mmio.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
index 8a953df2b468..497f643271ae 100644
--- a/drivers/gpu/drm/xe/xe_mmio.c
+++ b/drivers/gpu/drm/xe/xe_mmio.c
@@ -426,12 +426,16 @@ int xe_mmio_ioctl(struct drm_device *dev, void *data,
if (args->flags & DRM_XE_MMIO_WRITE) {
switch (bits_flag) {
case DRM_XE_MMIO_8BIT:
- return -EINVAL; /* TODO */
+ ret = -EINVAL; /* TODO */
+ goto exit;
case DRM_XE_MMIO_16BIT:
- return -EINVAL; /* TODO */
+ ret = -EINVAL; /* TODO */
+ goto exit;
case DRM_XE_MMIO_32BIT:
- if (XE_IOCTL_ERR(xe, args->value > U32_MAX))
- return -EINVAL;
+ if (XE_IOCTL_ERR(xe, args->value > U32_MAX)) {
+ ret = -EINVAL;
+ goto exit;
+ }
xe_mmio_write32(to_gt(xe), args->addr, args->value);
break;
case DRM_XE_MMIO_64BIT:
@@ -447,9 +451,11 @@ int xe_mmio_ioctl(struct drm_device *dev, void *data,
if (args->flags & DRM_XE_MMIO_READ) {
switch (bits_flag) {
case DRM_XE_MMIO_8BIT:
- return -EINVAL; /* TODO */
+ ret = -EINVAL; /* TODO */
+ break;
case DRM_XE_MMIO_16BIT:
- return -EINVAL; /* TODO */
+ ret = -EINVAL; /* TODO */
+ break;
case DRM_XE_MMIO_32BIT:
args->value = xe_mmio_read32(to_gt(xe), args->addr);
break;
--
2.39.1
More information about the Intel-xe
mailing list