[PATCH] drm/fb-helper: generic: Fix drm_fbdev_client_restore()

Noralf Trønnes noralf at tronnes.org
Mon Jan 28 10:25:28 UTC 2019



Den 28.01.2019 07.48, skrev Gerd Hoffmann:
>> Fix by using drm_fb_helper_lastclose() which checks if fbdev is in use.
> 
>>  static int drm_fbdev_client_restore(struct drm_client_dev *client)
>>  {
>> -	struct drm_fb_helper *fb_helper = drm_fb_helper_from_client(client);
>> -
>> -	drm_fb_helper_restore_fbdev_mode_unlocked(fb_helper);
>> +	drm_fb_helper_lastclose(client->dev);
>>  
>>  	return 0;
>>  }
> 
> Hmm, at least the drm_fb_helper_lastclose() version I'm looking at
> (branch drm-misc-next) just calls
> drm_fb_helper_restore_fbdev_mode_unlocked without any check ...
> 

drm_fb_helper_lastclose() uses drm_device->fb_helper which is NULL if
fbdev is not in use, from docs:
/**
 * @fb_helper:
 *
 * Pointer to the fbdev emulation structure.
 * Set by drm_fb_helper_init() and cleared by drm_fb_helper_fini().

And drm_fb_helper_restore_fbdev_mode_unlocked() has a NULL check.

Noralf.


More information about the dri-devel mailing list