mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
adb: only call autopoll callbacks when autopoll is not blocked
Handle this at the ADB bus level so that individual implementations do not need to handle this themselves. Finally add an assert() into adb_request() to prevent developers from accidentally making an explicit ADB request without blocking autopoll. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Tested-by: Finn Thain <fthain@telegraphics.com.au> Acked-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20200623204936.24064-21-mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
975fcedd31
commit
913f47ef96
2 changed files with 6 additions and 7 deletions
|
@ -86,10 +86,11 @@ static int do_adb_request(ADBBusState *s, uint8_t *obuf, const uint8_t *buf,
|
|||
|
||||
int adb_request(ADBBusState *s, uint8_t *obuf, const uint8_t *buf, int len)
|
||||
{
|
||||
assert(s->autopoll_blocked);
|
||||
|
||||
return do_adb_request(s, obuf, buf, len);
|
||||
}
|
||||
|
||||
/* XXX: move that to cuda ? */
|
||||
int adb_poll(ADBBusState *s, uint8_t *obuf, uint16_t poll_mask)
|
||||
{
|
||||
ADBDevice *d;
|
||||
|
@ -181,7 +182,9 @@ static void adb_autopoll(void *opaque)
|
|||
{
|
||||
ADBBusState *s = opaque;
|
||||
|
||||
s->autopoll_cb(s->autopoll_cb_opaque);
|
||||
if (!s->autopoll_blocked) {
|
||||
s->autopoll_cb(s->autopoll_cb_opaque);
|
||||
}
|
||||
|
||||
timer_mod(s->autopoll_timer,
|
||||
qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) +
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue