diff options
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_display.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_ioctl.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_object.c | 6 |
3 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index 567a5328cfc4..fcfd4436ceed 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c | |||
@@ -84,6 +84,7 @@ void qxl_alloc_client_monitors_config(struct qxl_device *qdev, unsigned count) | |||
84 | if (qdev->client_monitors_config && | 84 | if (qdev->client_monitors_config && |
85 | count > qdev->client_monitors_config->count) { | 85 | count > qdev->client_monitors_config->count) { |
86 | kfree(qdev->client_monitors_config); | 86 | kfree(qdev->client_monitors_config); |
87 | qdev->client_monitors_config = NULL; | ||
87 | } | 88 | } |
88 | if (!qdev->client_monitors_config) { | 89 | if (!qdev->client_monitors_config) { |
89 | qdev->client_monitors_config = kzalloc( | 90 | qdev->client_monitors_config = kzalloc( |
diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c index cec617222585..04b64f9cbfdb 100644 --- a/drivers/gpu/drm/qxl/qxl_ioctl.c +++ b/drivers/gpu/drm/qxl/qxl_ioctl.c | |||
@@ -347,7 +347,7 @@ static int qxl_clientcap_ioctl(struct drm_device *dev, void *data, | |||
347 | if (qdev->pdev->revision < 4) | 347 | if (qdev->pdev->revision < 4) |
348 | return -ENOSYS; | 348 | return -ENOSYS; |
349 | 349 | ||
350 | if (byte > 58) | 350 | if (byte >= 58) |
351 | return -ENOSYS; | 351 | return -ENOSYS; |
352 | 352 | ||
353 | if (qdev->rom->client_capabilities[byte] & (1 << idx)) | 353 | if (qdev->rom->client_capabilities[byte] & (1 << idx)) |
diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c index 51efb94a5dee..d9b12e7bc6e1 100644 --- a/drivers/gpu/drm/qxl/qxl_object.c +++ b/drivers/gpu/drm/qxl/qxl_object.c | |||
@@ -59,11 +59,11 @@ void qxl_ttm_placement_from_domain(struct qxl_bo *qbo, u32 domain) | |||
59 | qbo->placement.lpfn = 0; | 59 | qbo->placement.lpfn = 0; |
60 | qbo->placement.placement = qbo->placements; | 60 | qbo->placement.placement = qbo->placements; |
61 | qbo->placement.busy_placement = qbo->placements; | 61 | qbo->placement.busy_placement = qbo->placements; |
62 | if (domain & QXL_GEM_DOMAIN_VRAM) | 62 | if (domain == QXL_GEM_DOMAIN_VRAM) |
63 | qbo->placements[c++] = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_VRAM; | 63 | qbo->placements[c++] = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_VRAM; |
64 | if (domain & QXL_GEM_DOMAIN_SURFACE) | 64 | if (domain == QXL_GEM_DOMAIN_SURFACE) |
65 | qbo->placements[c++] = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_PRIV0; | 65 | qbo->placements[c++] = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_PRIV0; |
66 | if (domain & QXL_GEM_DOMAIN_CPU) | 66 | if (domain == QXL_GEM_DOMAIN_CPU) |
67 | qbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; | 67 | qbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; |
68 | if (!c) | 68 | if (!c) |
69 | qbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; | 69 | qbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; |