Re: [PATCH] vgaarb: use valid dev pointer in vgaarb_info()

From: Daniel Vetter
Date: Tue Nov 22 2016 - 10:41:09 EST


On Tue, Nov 22, 2016 at 03:34:19PM +0100, Arnd Bergmann wrote:
> We now pass the device to the debug messages, but on non-x86,
> this is an invalid pointer in vga_arb_device_init:
>
> drivers/gpu/vga/vgaarb.c: In function 'vga_arb_device_init':
> drivers/gpu/vga/vgaarb.c:1467:4: error: 'dev' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>
> This moves the initialization of the dev pointer outside of the
> architecture #ifdef.
>
> Fixes: a75d68f62106 ("vgaarb: Use dev_printk() when possible")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Applied, thx.
-Daniel

> ---
> drivers/gpu/vga/vgaarb.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c
> index b3d27182edd9..0f5b2dd24507 100644
> --- a/drivers/gpu/vga/vgaarb.c
> +++ b/drivers/gpu/vga/vgaarb.c
> @@ -1407,7 +1407,6 @@ static int __init vga_arb_device_init(void)
> int rc;
> struct pci_dev *pdev;
> struct vga_device *vgadev;
> - struct device *dev;
>
> rc = misc_register(&vga_arb_device);
> if (rc < 0)
> @@ -1424,6 +1423,7 @@ static int __init vga_arb_device_init(void)
> vga_arbiter_add_pci_device(pdev);
>
> list_for_each_entry(vgadev, &vga_list, list) {
> + struct device *dev = &vgadev->pdev->dev;
> #if defined(CONFIG_X86) || defined(CONFIG_IA64)
> /*
> * Override vga_arbiter_add_pci_device()'s I/O based detection
> @@ -1438,7 +1438,6 @@ static int __init vga_arb_device_init(void)
> int i;
>
> limit = screen_info.lfb_base + screen_info.lfb_size;
> - dev = &vgadev->pdev->dev;
>
> /* Does firmware framebuffer belong to us? */
> for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
> --
> 2.9.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch