From 83af40679a77ad7754da2006853ddc5fc4eca4bf Mon Sep 17 00:00:00 2001 From: Dave Date: Tue, 9 Apr 2019 02:29:32 -0400 Subject: [PATCH] elan: ELAN_0C42 always supports calibration Split off calibration support checks into elan_supports_calibration() --- libfprint/drivers/elan.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libfprint/drivers/elan.c b/libfprint/drivers/elan.c index 46346be1..12997956 100644 --- a/libfprint/drivers/elan.c +++ b/libfprint/drivers/elan.c @@ -627,6 +627,14 @@ enum calibrate_states { CALIBRATE_NUM_STATES, }; +static gboolean elan_supports_calibration(struct elan_dev *elandev) +{ + if (elandev->dev_type == ELAN_0C42) + return TRUE; + + return elandev->fw_ver >= ELAN_MIN_CALIBRATION_FW; +} + static void calibrate_run_state(fpi_ssm *ssm, struct fp_dev *_dev, void *user_data) { struct fp_img_dev *dev = user_data; @@ -640,7 +648,7 @@ static void calibrate_run_state(fpi_ssm *ssm, struct fp_dev *_dev, void *user_da break; case CALIBRATE_SAVE_BACKGROUND: elan_save_background(elandev); - if (elandev->fw_ver < ELAN_MIN_CALIBRATION_FW) { + if (!elan_supports_calibration(elandev)) { fp_dbg("FW does not support calibration"); fpi_ssm_mark_completed(ssm); } else