|
@@ -1681,14 +1681,11 @@ static int ipp_subdrv_open(struct drm_device *drm_dev, struct device *dev,
|
|
|
static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev,
|
|
|
struct drm_file *file)
|
|
|
{
|
|
|
- struct drm_exynos_file_private *file_priv = file->driver_priv;
|
|
|
struct exynos_drm_ippdrv *ippdrv = NULL;
|
|
|
struct ipp_context *ctx = get_ipp_context(dev);
|
|
|
struct drm_exynos_ipp_cmd_node *c_node, *tc_node;
|
|
|
int count = 0;
|
|
|
|
|
|
- DRM_DEBUG_KMS("for priv[0x%x]\n", (int)file_priv->ipp_dev);
|
|
|
-
|
|
|
list_for_each_entry(ippdrv, &exynos_drm_ippdrv_list, drv_list) {
|
|
|
mutex_lock(&ippdrv->cmd_lock);
|
|
|
list_for_each_entry_safe(c_node, tc_node,
|
|
@@ -1696,7 +1693,7 @@ static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev,
|
|
|
DRM_DEBUG_KMS("count[%d]ippdrv[0x%x]\n",
|
|
|
count++, (int)ippdrv);
|
|
|
|
|
|
- if (c_node->dev == file_priv->ipp_dev) {
|
|
|
+ if (c_node->filp == file) {
|
|
|
/*
|
|
|
* userland goto unnormal state. process killed.
|
|
|
* and close the file.
|