qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] uhci: cancel delay for unregistered queues


From: Jan Kiszka
Subject: [Qemu-devel] uhci: cancel delay for unregistered queues
Date: Tue, 12 Feb 2013 15:38:17 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

Hi,

was just debugging a memory corruption of my USB driver inside QEMU -
and so far only there:

I have a queue registered with the UHCI controller on an input endpoint
that continuously generates data. At some point my driver decides to
stop reading and removes the QH (with a lot of TDs attached) from the
schedule. The driver waits for the next frame, then releases the QH and
its TDs.

QEMU apparently takes a "few" more frames to consider this queue dead.
In the meantime, it seems to happily fill the TD buffers with data. But
those buffers are long returned to the guest pool of free memory,
causing corruptions there.

I'm wondering now if I'm (again) using the UHCI in an unorthodox way (at
least I stopped doing multi-queues per endpoint), still must have a
subtle bug in the guest, or if this is a fundamental problem of QEMU's
UHCI model.

Thanks,
Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux



reply via email to

[Prev in Thread] Current Thread [Next in Thread]