Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

fbdev: chipsfb: Fix error codes in chipsfb_pci_init()

The error codes are not set on these error paths.

Fixes: 145eed48de27 ("fbdev: Remove conflicting devices on PCI bus")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/Y/yG+sm2mhdJeTZW@kili

authored by

Dan Carpenter and committed by
Thomas Zimmermann
77bc7624 ba3be66f

+10 -4
+10 -4
drivers/video/fbdev/chipsfb.c
··· 358 358 if (rc) 359 359 return rc; 360 360 361 - if (pci_enable_device(dp) < 0) { 361 + rc = pci_enable_device(dp); 362 + if (rc < 0) { 362 363 dev_err(&dp->dev, "Cannot enable PCI device\n"); 363 364 goto err_out; 364 365 } 365 366 366 - if ((dp->resource[0].flags & IORESOURCE_MEM) == 0) 367 + if ((dp->resource[0].flags & IORESOURCE_MEM) == 0) { 368 + rc = -ENODEV; 367 369 goto err_disable; 370 + } 368 371 addr = pci_resource_start(dp, 0); 369 - if (addr == 0) 372 + if (addr == 0) { 373 + rc = -ENODEV; 370 374 goto err_disable; 375 + } 371 376 372 377 p = framebuffer_alloc(0, &dp->dev); 373 378 if (p == NULL) { ··· 422 417 423 418 init_chips(p, addr); 424 419 425 - if (register_framebuffer(p) < 0) { 420 + rc = register_framebuffer(p); 421 + if (rc < 0) { 426 422 dev_err(&dp->dev,"C&T 65550 framebuffer failed to register\n"); 427 423 goto err_unmap; 428 424 }