1. 23 4月, 2013 3 次提交
    • H
      ehci_free_packet: Discard finished packets when the queue is halted · e449f26b
      Hans de Goede 提交于
      With pipelining it is possible to encounter a finished packet when cleaning
      the queue due to a halt. This happens when a non stall error happens while
      talking to a real device. In this case the queue on the usb-host side will
      continue processing packets, and we can have completed packets waiting in
      the queue after an error condition packet causing a halt.
      
      There are 2 reasons to discard the completed packets at this point, rather
      then trying to writing them back to the guest:
      
      1) The guest expect to be able to cancel and/or change packets after the
      packet with the error without doing an unlink, so writing them back may
      confuse the guest.
      
      2) Since the queue does not advance when halted, the writing back of these
      packets will fail anyways since p->qtdaddr != q->qtdaddr, so the
      ehci_verify_qtd call in ehci_writeback_async_complete_packet will fail.
      
      Note that 2) means that then only functional change this patch introduces
      is the printing of a warning when this scenario happens.
      
      Note that discarding these packets means that the guest driver and the device
      will get out of sync! This is unfortunate, but should not be a problem since
      with a non stall error (iow an io-error) the 2 are out of sync already anyways.
      Still this patch adds a warning to signal this happening.
      
      Note that sofar this has only been seen with a DVB-T receiver, which gives
      of a MPEG-2 stream, which allows for recovering from lost packets, see:
      https://bugzilla.redhat.com/show_bug.cgi?id=890320Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      e449f26b
    • G
      xhci: remove XHCIRing->base (unused) · 7d04c2b7
      Gerd Hoffmann 提交于
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      7d04c2b7
    • K
      block: Fix build with tracing enabled · 45673671
      Kevin Wolf 提交于
      filename was still uninitialised when it's used as a parameter to a
      tracing function, so let's move the initialisation. Also, commit c2ad1b0c
      forgot to add a NULL check, which this patch adds while we're at it.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Tested-by: NAndreas Färber <afaerber@suse.de>
      Message-id: 1366645720-11384-1-git-send-email-kwolf@redhat.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      45673671
  2. 22 4月, 2013 33 次提交
  3. 21 4月, 2013 3 次提交
  4. 20 4月, 2013 1 次提交
    • B
      Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm · f4374c82
      Blue Swirl 提交于
      * 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
        hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()
        versatile_pci: Expose PCI memory space to system
        arm/realview: Fix mapping of PCI regions
        versatile_pci: Implement the PCI controller's control registers
        versatile_pci: Implement the correct PCI IRQ mapping
        versatile_pci: Put the host bridge PCI device at slot 29
        versatile_pci: Use separate PCI I/O space rather than system I/O space
        versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
        versatile_pci: Update to realize and instance init functions
        versatile_pci: Expose PCI I/O region on Versatile PB
        versatile_pci: Fix hardcoded tabs
      f4374c82