[PATCH 1/1] fbdev/core: Disable console-lock warnings when fb.lockless_register_fb is set

Thomas Zimmermann tzimmermann at suse.de
Wed Jul 18 09:13:32 UTC 2018


Am 18.07.2018 um 10:44 schrieb Hans de Goede:
> Hi,
> 
> On 18-07-18 10:36, Thomas Zimmermann wrote:
>> If the console is unlocked during registration, the console subsystem
>> generates significant amounts of warnings, which obfuscate actual
>> debugging messages. Setting ignore_console_lock_warning while debugging
>> console registration avoid the noise.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> 
> Thank you for doing this, but there are multiple console_unlock exit
> paths in do_register_framebuffer(), you missed the one in:

Sorry for this half-baked patch and thanks for the review. I'll provide
an update.

Best regards
Thomas


> 
>         if (!lock_fb_info(fb_info)) {
>                 if (!lockless_register_fb)
>                         console_unlock();
>                 return -ENODEV;
>         }
> 
> I would change this to:
> 
>         if (!lock_fb_info(fb_info)) {
>                 ret = -ENODEV;
>         goto unlock_console;
>         }
> 
>     ret = 0;
> 
> And put a "unlock_console:" label here:
> 
> unlock_console:
>        if (!lockless_register_fb)
>            console_unlock();
>     else
>         ignore_console_lock_warning =
>             saved_ignore_console_lock_warning;
> 
> And change the final return to:
> 
>     return ret;
> 
> Otherwise this looks good to me.
> 
> Regards,
> 
> Hans
> 
> 
> 
> 
> 
>> ---
>>   drivers/video/fbdev/core/fbmem.c | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/video/fbdev/core/fbmem.c
>> b/drivers/video/fbdev/core/fbmem.c
>> index 9e2f9d3c760e..79b489ad603d 100644
>> --- a/drivers/video/fbdev/core/fbmem.c
>> +++ b/drivers/video/fbdev/core/fbmem.c
>> @@ -1627,6 +1627,7 @@ static int do_register_framebuffer(struct
>> fb_info *fb_info)
>>       int i, ret;
>>       struct fb_event event;
>>       struct fb_videomode mode;
>> +    bool saved_ignore_console_lock_warning =
>> ignore_console_lock_warning;
>>         if (fb_check_foreignness(fb_info))
>>           return -ENOSYS;
>> @@ -1691,6 +1692,8 @@ static int do_register_framebuffer(struct
>> fb_info *fb_info)
>>       event.info = fb_info;
>>       if (!lockless_register_fb)
>>           console_lock();
>> +    else
>> +        ignore_console_lock_warning = true;
>>       if (!lock_fb_info(fb_info)) {
>>           if (!lockless_register_fb)
>>               console_unlock();
>> @@ -1701,6 +1704,9 @@ static int do_register_framebuffer(struct
>> fb_info *fb_info)
>>       unlock_fb_info(fb_info);
>>       if (!lockless_register_fb)
>>           console_unlock();
>> +    else
>> +        ignore_console_lock_warning =
>> +            saved_ignore_console_lock_warning;
>>       return 0;
>>   }
>>  

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Linux GmbH, Maxfeldstr. 5, D-90409 Nürnberg
Tel: +49-911-74053-0; Fax: +49-911-7417755;  https://www.suse.com/
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard,
Graham Norton, HRB 21284 (AG Nürnberg)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20180718/3272c385/attachment-0001.sig>


More information about the dri-devel mailing list