qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] ehci: Don't fetch a NULL current qtd but advanc


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH] ehci: Don't fetch a NULL current qtd but advance the queue instead.
Date: Mon, 2 Jul 2018 17:03:23 +0200
User-agent: NeoMutt/20180622

On Tue, Jun 26, 2018 at 12:27:18AM +0200, Sebastian Bauer wrote:
> Fetching qtd with the NULL address most likely makes no sense so from now
> on, we handle it this case similarly as if the terminate (T) bit is not
> set, which is already an exception as according to section 3.6 of the EHCI
> spec there is no T bit defined for the current_qtd field.
> 
> The spec is a bit vague on how an EHCI driver should initialize these
> fields: "The general operational model is that the host controller can
> detect whether the overlay area contains a description of an active
> transfer" (p. 49). QEMU primarily uses the QTD_TOKEN_ACTIVE bit of the
> queue header to infer the activity state but there are other ways
> conceivable.
> 
> This change allows QEMU to boot further into AmigaOS. The public available
> version of the EHCI driver recycles queue heads in some rare conditions but
> only clears the current_qtd field but not the status field. This works with
> many available EHCI PCI cards but e.g., not with the Freescale USB
> controller's found on the P5040. On the emulated EHCI controller of QEMU
> the consequence is that some garbage was read in, which resulted in a
> reset of the controller. This change fixes the problem.
> 
> Signed-off-by: Sebastian Bauer <address@hidden>

Added to usb queue.

thanks,
  Gerd




reply via email to

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