1. 15 8月, 2018 1 次提交
  2. 10 7月, 2018 1 次提交
  3. 03 7月, 2018 2 次提交
    • G
      xhci: fix guest-triggerable assert · 8f36ec70
      Gerd Hoffmann 提交于
      Set xhci into error state instead of throwing a core dump.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Message-id: 20180702162752.29233-1-kraxel@redhat.com
      8f36ec70
    • S
      ehci: Don't fetch a NULL current qtd but advance the queue instead. · 8bb01b25
      Sebastian Bauer 提交于
      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: NSebastian Bauer <mail@sebastianbauer.info>
      Tested-by: NBALATON Zoltan <balaton@eik.bme.hu>
      Message-id: 20180625222718.4488-1-mail@sebastianbauer.info
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      8bb01b25
  4. 02 7月, 2018 1 次提交
  5. 29 6月, 2018 1 次提交
  6. 18 6月, 2018 2 次提交
  7. 15 6月, 2018 1 次提交
  8. 13 6月, 2018 1 次提交
  9. 12 6月, 2018 4 次提交
  10. 02 6月, 2018 1 次提交
  11. 01 6月, 2018 1 次提交
  12. 23 5月, 2018 1 次提交
  13. 18 5月, 2018 2 次提交
    • J
      hw/usb/dev-smartcard-reader: Handle 64 B USB packets · 8030dca3
      Jakub Jelen 提交于
      The current code was not correctly handling 64 B (Max USB 1.1 payload size)
      packets and therefore preventing some of the messages from smart card to
      pass through to the guest.
      
      If the smart card in host responded with 34 B of data in APDU layer, the
      CCID headers added up to 64 B. The packet was send, but not correctly
      committed per USB specification (8.5.3.2  Variable-length Data Stage):
      
      >   When all of the data structure is returned to the host, the function
      > should indicate that the Data stage is ended by returning a packet
      > that is shorter than the MaxPacketSize for the pipe.  If the data
      > structure is an exact multiple of wMaxPacketSize for the pipe, the
      > function will return a zero-length packet to indicate the end of the
      > Data stage.
      
      This lead the guest applications to timeout while waiting for the rest
      of data (the emulation layer is answering with NAK until the timeout).
      
      This patch is checking the current maximum packet size and if the
      payload of this size is detected, the message buffer is not yet released.
      With the next call, the empty buffer is sent and the message buffer
      is finally released.
      Signed-off-by: NJakub Jelen <jjelen@redhat.com>
      Message-id: 20180516115544.3897-2-jjelen@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      8030dca3
    • M
      ccid-card-passthru: fix regression in realize() · e58d64a1
      Marc-André Lureau 提交于
      Since cc847bfd, CCID card-passthru
      fails to intialize, because it changed a debug line to an error,
      probably by mistake. Change it back to a DPRINTF debug.
      
      (solves Boxes creating VM with smartcard passthru failing to start)
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 20180515153039.27514-1-marcandre.lureau@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      e58d64a1
  14. 07 5月, 2018 3 次提交
  15. 05 5月, 2018 1 次提交
  16. 04 5月, 2018 1 次提交
  17. 27 4月, 2018 3 次提交
    • M
      ccid-card: include libcacard.h only · 0f5c642d
      Michal Privoznik 提交于
      When trying to build with latest libcacard-2.5.1, I hit the
      following error:
      
      In file included from hw/usb/ccid-card-passthru.c:12:0:
      /usr/include/cacard/vscard_common.h:26:2: error: #warning "Only <libcacard.h> can be included directly" [-Werror=cpp]
       #warning "Only <libcacard.h> can be included directly"
      
      While it was fixed in libcacard upstream (so that individual
      files can be included directly), it doesn't make much sense.
      Let's switch to including the main libcacard.h and also require
      at least libcacard-2.5.1 which introduced it. It's available
      since late 2015.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-id: 3c36db1dc0702763ebb7966cc27428ed67d43804.1522751624.git.mprivozn@redhat.com
      
      [ kraxel: fix include path ]
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      0f5c642d
    • J
      Fix libusb-1.0.22 deprecated libusb_set_debug with libusb_set_option · 9d8fa0df
      John Thomson 提交于
      libusb-1.0.22 marked libusb_set_debug deprecated
      it is replaced with
      libusb_set_option(libusb_context, LIBUSB_OPTION_LOG_LEVEL, libusb_log_level);
      
      details here: https://github.com/libusb/libusb/commit/539f22e2fd916558d11ab9a66f10f461c5593168
      
      Warning here:
      
        CC      hw/usb/host-libusb.o
      /builds/xen/src/qemu-xen/hw/usb/host-libusb.c: In function 'usb_host_init':
      /builds/xen/src/qemu-xen/hw/usb/host-libusb.c:250:5: error: 'libusb_set_debug' is deprecated: Use libusb_set_option instead [-Werror=deprecated-declarations]
           libusb_set_debug(ctx, loglevel);
           ^~~~~~~~~~~~~~~~
      In file included from /builds/xen/src/qemu-xen/hw/usb/host-libusb.c:40:0:
      /usr/include/libusb-1.0/libusb.h:1300:18: note: declared here
       void LIBUSB_CALL libusb_set_debug(libusb_context *ctx, int level);
                        ^~~~~~~~~~~~~~~~
      cc1: all warnings being treated as errors
      make: *** [/builds/xen/src/qemu-xen/rules.mak:66: hw/usb/host-libusb.o] Error 1
      make: Leaving directory '/builds/xen/src/xen/tools/qemu-xen-build'
      Signed-off-by: NJohn Thomson <git@johnthomson.fastmail.com.au>
      Message-id: 20180405132046.4968-1-git@johnthomson.fastmail.com.au
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      9d8fa0df
    • J
      ccid: Fix dwProtocols advertisement of T=0 · 0ee86bb6
      Jason Andryuk 提交于
      Commit d7d218ef attempted to change
      dwProtocols to only advertise support for T=0 and not T=1.  The change
      was incorrect as it changed 0x00000003 to 0x00010000.
      
      lsusb -v in a linux guest shows:
      "dwProtocols         65536  (Invalid values detected)", though the
      smart card could still be accessed.  Windows 7 does not detect inserted
      smart cards and logs the the following Error in the Event Logs:
      
          Source: Smart Card Service
          Event ID: 610
          Smart Card Reader 'QEMU QEMU USB CCID 0' rejected IOCTL SET_PROTOCOL:
          Incorrect function. If this error persists, your smart card or reader
          may not be functioning correctly
      
          Command Header: 03 00 00 00
      
      Setting to 0x00000001 fixes the Windows issue.
      Signed-off-by: NJason Andryuk <jandryuk@gmail.com>
      Message-id: 20180420183219.20722-1-jandryuk@gmail.com
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      0ee86bb6
  18. 12 3月, 2018 1 次提交
  19. 26 2月, 2018 5 次提交
  20. 09 2月, 2018 6 次提交
  21. 26 1月, 2018 1 次提交