DF-1406 / fix.diff
diff --git a/sys/dev/disk/advansys/advlib.c b/sys/dev/disk/advansys/advlib.c --- a/sys/dev/disk/advansys/advlib.c +++ b/sys/dev/disk/advansys/advlib.c @@ -1070,7 +1070,7 @@ && (sync_data == ASYN_SDTR_DATA_FIX_PCI_REV_AB)) { *period = *offset = 0; } else { - *period = adv->sdtr_period_tbl[((sync_data >> 4) & 0xF)]; + { int sidx = ((sync_data >> 4) & 0xF); *period = (sidx < adv->sdtr_period_tbl_size) ? adv->sdtr_period_tbl[sidx] : 0; } *offset = sync_data & 0xF; } } |