Skip to content

Commit 7073c7f

Browse files
fifteenhexhdeller
authored andcommitted
fbdev: atyfb: Check if pll_ops->init_pll failed
Actually check the return value from pll_ops->init_pll() as it can return an error. If the card's BIOS didn't run because it's not the primary VGA card the fact that the xclk source is unsupported is printed as shown below but the driver continues on regardless and on my machine causes a hard lock up. [ 61.470088] atyfb 0000:03:05.0: enabling device (0080 -> 0083) [ 61.476191] atyfb: using auxiliary register aperture [ 61.481239] atyfb: 3D RAGE XL (Mach64 GR, PCI-33) [0x4752 rev 0x27] [ 61.487569] atyfb: 512K SGRAM (1:1), 14.31818 MHz XTAL, 230 MHz PLL, 83 Mhz MCLK, 63 MHz XCLK [ 61.496112] atyfb: Unsupported xclk source: 5. Fixes: 1da177e ("Linux-2.6.12-rc2") Signed-off-by: Daniel Palmer <daniel@0x0f.com> Signed-off-by: Helge Deller <deller@gmx.de> Cc: stable@vger.kernel.org
1 parent a1f3058 commit 7073c7f

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

drivers/video/fbdev/aty/atyfb_base.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2614,8 +2614,12 @@ static int aty_init(struct fb_info *info)
26142614
pr_cont("\n");
26152615
}
26162616
#endif
2617-
if (par->pll_ops->init_pll)
2618-
par->pll_ops->init_pll(info, &par->pll);
2617+
if (par->pll_ops->init_pll) {
2618+
ret = par->pll_ops->init_pll(info, &par->pll);
2619+
if (ret)
2620+
return ret;
2621+
}
2622+
26192623
if (par->pll_ops->resume_pll)
26202624
par->pll_ops->resume_pll(info, &par->pll);
26212625

0 commit comments

Comments
 (0)