--- xf86-video-ast-1.0.1/src/ast_driver.c.~1~	2014-08-08 12:59:04.000000000 +0400
+++ xf86-video-ast-1.0.1/src/ast_driver.c	2015-02-13 12:44:40.089232180 +0300
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2005 ASPEED Technology Inc.
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -1537,6 +1538,12 @@
       else
           Flags = ASTGetVGAEDID(pScrn, DDC_data);
 
+      /*
+       * Buffer is of size 128, can't read extension blocks even the monitor
+       * provides. 126 is NO_EDID defined in edid.h
+       */
+      DDC_data[126] = 0;
+
       if (Flags)
       {
           ConfiguredMonitor = xf86InterpretEDID(pScrn->scrnIndex, DDC_data);
@@ -1589,6 +1596,12 @@
       else
           Flags = ASTGetVGAEDID(pScrn, DDC_data);
 
+      /*
+       * Buffer is of size 128, can't read extension blocks even the monitor
+       * provides. 126 is NO_EDID defined in edid.h
+       */
+      DDC_data[126] = 0;
+
       if (Flags)
       {
           MonInfo = MonInfo1 = xf86InterpretEDID(pScrn->scrnIndex, DDC_data);