On Thu, Dec 12, 2013 at 02:49:27PM +0000, Aleksandr Rybalko wrote:
> Author: ray
> Date: Thu Dec 12 14:49:26 2013
> New Revision: 259261
> URL: http://svnweb.freebsd.org/changeset/base/259261
> 
> Log:
>   Do not try to probe/attach if attempt to add fbd child are failed.
>   
>   Sponsored by:       The FreeBSD Foundation
> 
> Modified:
>   head/sys/dev/drm2/drm_fb_helper.c
> 
> Modified: head/sys/dev/drm2/drm_fb_helper.c
> ==============================================================================
> --- head/sys/dev/drm2/drm_fb_helper.c Thu Dec 12 14:37:25 2013        
> (r259260)
> +++ head/sys/dev/drm2/drm_fb_helper.c Thu Dec 12 14:49:26 2013        
> (r259261)
> @@ -1043,7 +1043,10 @@ int drm_fb_helper_single_fb_probe(struct
>  
>               kdev = fb_helper->dev->device;
>               fbd = device_add_child(kdev, "fbd", device_get_unit(kdev));
> -             ret = device_probe_and_attach(fbd);
> +             if (fbd != NULL) 
> +                     ret = device_probe_and_attach(fbd);
> +             else
> +                     ret = ENODEV;
This must be -ENODEV, since linux layer operates on negative values for
error.  The error is negated in the drm layer, which would result in
non-existent errno returned to FreeBSD code.

Also, the #ifdef __FreeBSD braces in the file are not useful, please
remove them.
>  #ifdef DEV_VT
>               if (ret != 0)
>                       DRM_ERROR("Failed to attach fbd device: %d\n", ret);

Attachment: pgpthIxOu1UdY.pgp
Description: PGP signature

Reply via email to