fbdev: sm712fb: set error code in probe
authorEvgeny Novikov <novikov@ispras.ru>
Mon, 6 Jul 2020 15:53:28 +0000 (18:53 +0300)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Fri, 10 Jul 2020 14:17:29 +0000 (16:17 +0200)
If smtcfb_pci_probe() does not detect a valid chip it cleans up
everything and returns 0. This can result in various bad things later.
The patch sets the error code on the corresponding path.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Evgeny Novikov <novikov@ispras.ru>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200706155328.8396-1-novikov@ispras.ru
drivers/video/fbdev/sm712fb.c

index 8cd655d6d6280c1260c14bd077057b1a40036fd5..bdbe9c68e2740484bfa769e4881c50183d9db333 100644 (file)
@@ -1616,7 +1616,7 @@ static int smtcfb_pci_probe(struct pci_dev *pdev,
        default:
                dev_err(&pdev->dev,
                        "No valid Silicon Motion display chip was detected!\n");
-
+               err = -ENODEV;
                goto failed_fb;
        }