mirror of
https://github.com/torvalds/linux.git
synced 2026-01-12 00:42:35 +08:00
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: 1da177e4c3 ("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
This commit is contained in:
committed by
Helge Deller
parent
a1f3058930
commit
7073c7fc8d
@@ -2614,8 +2614,12 @@ static int aty_init(struct fb_info *info)
|
||||
pr_cont("\n");
|
||||
}
|
||||
#endif
|
||||
if (par->pll_ops->init_pll)
|
||||
par->pll_ops->init_pll(info, &par->pll);
|
||||
if (par->pll_ops->init_pll) {
|
||||
ret = par->pll_ops->init_pll(info, &par->pll);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (par->pll_ops->resume_pll)
|
||||
par->pll_ops->resume_pll(info, &par->pll);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user