From: Akinobu Mita class_create() and class_device_create() return error code as a pointer on failure. These return values need to be checked by IS_ERR(). Cc: David Airlie Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton --- drivers/char/drm/drm_sysfs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff -puN drivers/char/drm/drm_sysfs.c~drm-fix-return-value-check drivers/char/drm/drm_sysfs.c --- a/drivers/char/drm/drm_sysfs.c~drm-fix-return-value-check +++ a/drivers/char/drm/drm_sysfs.c @@ -45,8 +45,8 @@ struct class *drm_sysfs_create(struct mo int err; class = class_create(owner, name); - if (!class) { - err = -ENOMEM; + if (IS_ERR(class)) { + err = PTR_ERR(class); goto err_out; } @@ -113,8 +113,8 @@ struct class_device *drm_sysfs_device_ad MKDEV(DRM_MAJOR, head->minor), &(head->dev->pdev)->dev, "card%d", head->minor); - if (!class_dev) { - err = -ENOMEM; + if (IS_ERR(class_dev)) { + err = PTR_ERR(class_dev); goto err_out; } _