mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
OMAPDSS: DISPC: fix div by zero issue in overlay scaling
omapdrm doesn't always configure the overlays correctly, causing the overlay setup functions to be called with zero timings. This leads to division by zero error. This happens, for example, when a HDMI cable is not connected, but a user tries to setup a plane with scaling. Fixing omapdrm is a big job, so for now let's check for the bad timings in DISPC and return an error. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
386f167c69
commit
4e1d3ca083
@ -2322,6 +2322,11 @@ static int dispc_ovl_calc_scaling(unsigned long pclk, unsigned long lclk,
|
||||
if (width == out_width && height == out_height)
|
||||
return 0;
|
||||
|
||||
if (pclk == 0 || mgr_timings->pixelclock == 0) {
|
||||
DSSERR("cannot calculate scaling settings: pclk is zero\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if ((caps & OMAP_DSS_OVL_CAP_SCALE) == 0)
|
||||
return -EINVAL;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user