summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hw/input/adb.c7
-rw-r--r--hw/misc/mac_via.c6
2 files changed, 6 insertions, 7 deletions
diff --git a/hw/input/adb.c b/hw/input/adb.c
index 70aa1f4570..fe0f6c7ef3 100644
--- a/hw/input/adb.c
+++ b/hw/input/adb.c
@@ -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) +
diff --git a/hw/misc/mac_via.c b/hw/misc/mac_via.c
index 71b6f92645..d76d7b28d3 100644
--- a/hw/misc/mac_via.c
+++ b/hw/misc/mac_via.c
@@ -615,11 +615,7 @@ static void adb_via_poll(void *opaque)
* received, however we must block autopoll until the point where
* the entire reply has been read back to the host
*/
- if (adb_bus->autopoll_blocked) {
- return;
- } else {
- adb_autopoll_block(adb_bus);
- }
+ adb_autopoll_block(adb_bus);
m->adb_data_in_index = 0;
m->adb_data_out_index = 0;