diff options
author | Peter Huewe <peterhuewe@gmx.de> | 2013-02-03 22:54:30 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-02-04 10:46:27 -0800 |
commit | f2c22605c5a12c605a7164585c96f0835e9e591c (patch) | |
tree | c0f2eada3ba999e84e0767e27c34e2751a8faced /drivers/staging/xgifb | |
parent | 3de738cd30306f754ea35d35b5dad29fdbec84c9 (diff) |
staging/xgifb: Simplify XGI_GetRatePtrCRT2
Since the smaller LCDRefreshIndex is contained identically in LCDARefreshIndex
we can simply use LCDARefreshIndex and skip the if/else.
Since LCDARefreshIndex is only used readonly and contains only small
unsigned values we also change its declaration to const u8.
In order to prevent an out-of-bounds access I changed the mask from 0x0F
to 0x07 and added a dummy value.
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/xgifb')
-rw-r--r-- | drivers/staging/xgifb/vb_setmode.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/staging/xgifb/vb_setmode.c b/drivers/staging/xgifb/vb_setmode.c index 8eb23a41bc3e..02e76c5edbfc 100644 --- a/drivers/staging/xgifb/vb_setmode.c +++ b/drivers/staging/xgifb/vb_setmode.c @@ -5470,9 +5470,8 @@ unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE, unsigned short ModeNo, unsigned short ModeIdIndex, struct vb_device_info *pVBInfo) { - short LCDRefreshIndex[] = { 0x00, 0x00, 0x03, 0x01 }, - LCDARefreshIndex[] = { 0x00, 0x00, 0x03, 0x01, 0x01, - 0x01, 0x01 }; + const u8 LCDARefreshIndex[] = { + 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00 }; unsigned short RefreshRateTableIndex, i, index, temp; @@ -5489,15 +5488,8 @@ unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE, if (pVBInfo->SetFlag & ProgrammingCRT2) { if (pVBInfo->VBInfo & (SetCRT2ToLCD | XGI_SetCRT2ToLCDA)) { if (pVBInfo->IF_DEF_LVDS == 0) { - if (pVBInfo->VBType & (VB_SIS301B | VB_SIS302B - | VB_SIS301LV | VB_SIS302LV - | VB_XGI301C)) - /* 301b */ - temp = LCDARefreshIndex[ - pVBInfo->LCDResInfo & 0x0F]; - else - temp = LCDRefreshIndex[ - pVBInfo->LCDResInfo & 0x0F]; + temp = LCDARefreshIndex[ + pVBInfo->LCDResInfo & 0x07]; if (index > temp) index = temp; |