if (enable)
                tempbx = pVBInfo->SetFlag & EnableChA;
        else
-               tempbx = pVBInfo->SetFlag & DisableChA;
+               tempbx = 0;
 
        tempah = ~((unsigned short) xgifb_reg_get(pVBInfo->Part1Port, 0x2E));
 
-       if (tempbx & (EnableChA | DisableChA)) {
+       if (tempbx & EnableChA) {
                if (!(tempah & 0x08)) /* Chk LCDA Mode */
                        return 0;
        }
                                              XGI_SetCRT2ToLCDA))
                                                /* Disable Channel B */
                                                tempah = 0xBF;
-
-                                       if (pVBInfo->SetFlag & DisableChA)
-                                               /* Force to disable Channel B */
-                                               tempah &= 0x7F;
                                }
                        }
                }
                                xgifb_reg_or(pVBInfo->Part4Port, 0x30, 0x80);
                }
 
-               if ((pVBInfo->SetFlag & DisableChA) || (pVBInfo->VBInfo
-                               & (DisableCRT2Display | XGI_SetCRT2ToLCDA
-                                               | SetSimuScanMode)))
+               if (pVBInfo->VBInfo & (DisableCRT2Display | XGI_SetCRT2ToLCDA |
+                                      SetSimuScanMode))
                        XGI_DisplayOff(xgifb_info, HwDeviceExtension, pVBInfo);
 
                if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) {
-                       if ((pVBInfo->SetFlag & DisableChA) || (pVBInfo->VBInfo
-                                       & XGI_SetCRT2ToLCDA))
+                       if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA)
                                /* Power down */
                                xgifb_reg_and(pVBInfo->Part1Port, 0x1e, 0xdf);
                }
 
        if (pVBInfo->VBType & (VB_SIS301B | VB_SIS302B | VB_SIS301LV
                        | VB_SIS302LV | VB_XGI301C)) {
-               if (!(pVBInfo->SetFlag & DisableChA)) {
-                       if ((pVBInfo->SetFlag & EnableChA) ||
-                           (pVBInfo->VBInfo & SetCRT2ToDualEdge)) {
-                               /* Power on */
-                               xgifb_reg_set(pVBInfo->Part1Port, 0x1E, 0x20);
-                       }
+               if ((pVBInfo->SetFlag & EnableChA) ||
+                   (pVBInfo->VBInfo & SetCRT2ToDualEdge)) {
+                       /* Power on */
+                       xgifb_reg_set(pVBInfo->Part1Port, 0x1E, 0x20);
                }
 
                if (pVBInfo->VBInfo & (SetCRT2ToLCD | SetCRT2ToTV |
                                if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA)
                                        tempah = tempah ^ 0xC0;
 
-                               if (pVBInfo->SetFlag &  DisableChA)
-                                       tempah &= 0x7F;
-
                                if (pVBInfo->SetFlag &  EnableChA)
                                        tempah |= 0x80;
                        }
                /* EnablePart4_1F */
                xgifb_reg_or(pVBInfo->Part4Port, 0x1F, tempah);
 
-               if (!(pVBInfo->SetFlag & DisableChA)) {
-                       XGI_DisableGatingCRT(HwDeviceExtension, pVBInfo);
-                       XGI_DisplayOn(xgifb_info, HwDeviceExtension, pVBInfo);
-               }
+               XGI_DisableGatingCRT(HwDeviceExtension, pVBInfo);
+               XGI_DisplayOn(xgifb_info, HwDeviceExtension, pVBInfo);
        } /* 301 */
        else { /* LVDS */
                if (pVBInfo->VBInfo & (SetCRT2ToTV | SetCRT2ToLCD