forked from mirrors/linux
		
	drm: work around EDIDs with bad htotal/vtotal values
We did this on the userspace side, but we need a similar fix for the kernel. Fixes LP #460664. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
		
							parent
							
								
									0ebf17174b
								
							
						
					
					
						commit
						7064fef563
					
				
					 1 changed files with 6 additions and 0 deletions
				
			
		| 
						 | 
					@ -662,6 +662,12 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
 | 
				
			||||||
		return NULL;
 | 
							return NULL;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* Some EDIDs have bogus h/vtotal values */
 | 
				
			||||||
 | 
						if (mode->hsync_end > mode->htotal)
 | 
				
			||||||
 | 
							mode->htotal = mode->hsync_end + 1;
 | 
				
			||||||
 | 
						if (mode->vsync_end > mode->vtotal)
 | 
				
			||||||
 | 
							mode->vtotal = mode->vsync_end + 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	drm_mode_set_name(mode);
 | 
						drm_mode_set_name(mode);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (pt->misc & DRM_EDID_PT_INTERLACED)
 | 
						if (pt->misc & DRM_EDID_PT_INTERLACED)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue