lib: Fix overwriting action after deactivating callback
If one of the callbacks called from fpi_imgdev_deactivate_complete() was reactivating the device, then we would be overwriting whichever "action" got set in the callback, leading to fpi_imgdev_activate_complete() failing as it doesn't handle the "none" action. Reset the action before calling the callbacks.
This commit is contained in:
parent
0e44eb4c1c
commit
19732341d6
1 changed files with 7 additions and 4 deletions
|
@ -485,9 +485,15 @@ void fpi_imgdev_activate_complete(struct fp_img_dev *imgdev, int status)
|
|||
*/
|
||||
void fpi_imgdev_deactivate_complete(struct fp_img_dev *imgdev)
|
||||
{
|
||||
enum fp_imgdev_action action;
|
||||
|
||||
G_DEBUG_HERE();
|
||||
|
||||
switch (imgdev->action) {
|
||||
action = imgdev->action;
|
||||
imgdev->action = IMG_ACTION_NONE;
|
||||
imgdev->action_state = 0;
|
||||
|
||||
switch (action) {
|
||||
case IMG_ACTION_ENROLL:
|
||||
fpi_drvcb_enroll_stopped(FP_DEV(imgdev));
|
||||
break;
|
||||
|
@ -504,9 +510,6 @@ void fpi_imgdev_deactivate_complete(struct fp_img_dev *imgdev)
|
|||
fp_err("unhandled action %d", imgdev->action);
|
||||
break;
|
||||
}
|
||||
|
||||
imgdev->action = IMG_ACTION_NONE;
|
||||
imgdev->action_state = 0;
|
||||
}
|
||||
|
||||
int fpi_imgdev_get_img_width(struct fp_img_dev *imgdev)
|
||||
|
|
Loading…
Reference in a new issue