diff options
Diffstat (limited to 'drivers/scsi/megaraid')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas_fp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_fp.c b/drivers/scsi/megaraid/megaraid_sas_fp.c index a11df82474ef..b06a240ee39a 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fp.c +++ b/drivers/scsi/megaraid/megaraid_sas_fp.c | |||
@@ -503,8 +503,9 @@ u8 megasas_get_best_arm(struct LD_LOAD_BALANCE_INFO *lbInfo, u8 arm, u64 block, | |||
503 | diff1 = ABS_DIFF(block, lbInfo->last_accessed_block[1]); | 503 | diff1 = ABS_DIFF(block, lbInfo->last_accessed_block[1]); |
504 | bestArm = (diff0 <= diff1 ? 0 : 1); | 504 | bestArm = (diff0 <= diff1 ? 0 : 1); |
505 | 505 | ||
506 | if ((bestArm == arm && pend0 > pend1 + 16) || | 506 | /*Make balance count from 16 to 4 to keep driver in sync with Firmware*/ |
507 | (bestArm != arm && pend1 > pend0 + 16)) | 507 | if ((bestArm == arm && pend0 > pend1 + 4) || |
508 | (bestArm != arm && pend1 > pend0 + 4)) | ||
508 | bestArm ^= 1; | 509 | bestArm ^= 1; |
509 | 510 | ||
510 | /* Update the last accessed block on the correct pd */ | 511 | /* Update the last accessed block on the correct pd */ |