sysclk-lwla: Fix a regression with (at least) the LWLA1034.
This regression was introduced in f1ba6b4b2c
.
Due to how the sysclk-lwla driver does up to 3 open/close operations in
one dev_open() API callback we cannot rely on the sr_dev_open() and
sr_dev_close() wrappers setting the sdi->status variable in this case.
Tested on LWLA1034.
This commit is contained in:
parent
6c1a4cb44c
commit
42d14d9108
|
@ -259,6 +259,8 @@ static int dev_open(struct sr_dev_inst *sdi)
|
||||||
/* This delay appears to be necessary for reliable operation. */
|
/* This delay appears to be necessary for reliable operation. */
|
||||||
g_usleep(30 * 1000);
|
g_usleep(30 * 1000);
|
||||||
|
|
||||||
|
sdi->status = SR_ST_ACTIVE;
|
||||||
|
|
||||||
devc->active_fpga_config = FPGA_NOCONF;
|
devc->active_fpga_config = FPGA_NOCONF;
|
||||||
devc->short_transfer_quirk = FALSE;
|
devc->short_transfer_quirk = FALSE;
|
||||||
devc->state = STATE_IDLE;
|
devc->state = STATE_IDLE;
|
||||||
|
@ -271,6 +273,7 @@ static int dev_open(struct sr_dev_inst *sdi)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Rinse and repeat. */
|
/* Rinse and repeat. */
|
||||||
|
sdi->status = SR_ST_INACTIVE;
|
||||||
sr_usb_close(usb);
|
sr_usb_close(usb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -306,7 +309,7 @@ static int dev_close(struct sr_dev_inst *sdi)
|
||||||
|
|
||||||
sr_usb_close(usb);
|
sr_usb_close(usb);
|
||||||
|
|
||||||
return SR_OK;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check whether the device options contain a specific key.
|
/* Check whether the device options contain a specific key.
|
||||||
|
|
Loading…
Reference in New Issue