qemu-e2k/hw/usb
Markus Armbruster 830cd54fca usb: Fix bootindex for portnr > 9
We identify devices by their Open Firmware device paths.  The encoding
of the host controller and hub port numbers is incorrect:
usb_get_fw_dev_path() formats them in decimal, while SeaBIOS uses
hexadecimal.  When some port number > 9, SeaBIOS will miss the
bootindex (lucky case), or apply it to another device (unlucky case).

The relevant spec[*] agrees with SeaBIOS (and OVMF, for that matter).
Change %d to %x.

Bug can bite only with host controllers or hubs sporting more than ten
ports.  I'm not aware of any.

[*] Open Firmware Recommended Practice: Universal Serial Bus,
Version 1, Section 3.2.1 Device Node Address Representation
http://www.openfirmware.org/1275/bindings/usb/usb-1_0.ps

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

Note: xhci can be configured with up to 15 ports (default is 4 ports).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-08-29 12:51:43 +02:00
..
bus.c usb: Fix bootindex for portnr > 9 2014-08-29 12:51:43 +02:00
ccid-card-emulated.c ccid-card-emulated: use EventNotifier 2014-07-01 15:49:51 +02:00
ccid-card-passthru.c
ccid.h
combined-packet.c
core.c usb: add usb_pick_speed 2014-06-02 16:29:00 +02:00
desc-msos.c usb: add CompatibleID support to msos 2014-04-22 12:40:57 +02:00
desc.c usb: add usb_pick_speed 2014-06-02 16:29:00 +02:00
desc.h usb: add CompatibleID support to msos 2014-04-22 12:40:57 +02:00
dev-audio.c usb: don't use 'Yoda conditions' 2014-08-15 18:54:06 +04:00
dev-bluetooth.c usb: Fix usb-bt-dongle initialization. 2014-07-01 13:26:37 +02:00
dev-hid.c usb: add input routing support for tablet and keyboard 2014-05-26 08:42:43 +02:00
dev-hub.c savevm: Remove all the unneeded version_minimum_id_old (usb) 2014-05-14 15:24:51 +02:00
dev-mtp.c usb: don't use 'Yoda conditions' 2014-08-15 18:54:06 +04:00
dev-network.c - xhci improvements and fixes. 2014-02-20 15:25:05 +00:00
dev-serial.c usb: Remove magic constants from device bmAttributes 2014-02-18 15:39:12 +01:00
dev-smartcard-reader.c usb: Remove magic constants from device bmAttributes 2014-02-18 15:39:12 +01:00
dev-storage.c blockdev: Rename drive_init(), drive_uninit() to drive_new(), drive_del() 2014-06-16 17:23:19 +08:00
dev-uas.c usb: Remove magic constants from device bmAttributes 2014-02-18 15:39:12 +01:00
dev-wacom.c usb: Remove magic constants from device bmAttributes 2014-02-18 15:39:12 +01:00
hcd-ehci-pci.c savevm: Remove all the unneeded version_minimum_id_old (usb) 2014-05-14 15:24:51 +02:00
hcd-ehci-sysbus.c savevm: Remove all the unneeded version_minimum_id_old (usb) 2014-05-14 15:24:51 +02:00
hcd-ehci.c usb: don't use 'Yoda conditions' 2014-08-15 18:54:06 +04:00
hcd-ehci.h
hcd-musb.c
hcd-ohci.c hw/usb: Add missing 'static' attribute 2014-07-18 17:45:37 +04:00
hcd-uhci.c memory: remove memory_region_destroy 2014-08-18 12:06:21 +02:00
hcd-xhci.c vmstate_xhci_event: fix unterminated field list 2014-07-22 17:34:24 +01:00
host-legacy.c
host-libusb.c usb: initialize libusb_device to avoid crash 2014-07-01 13:26:37 +02:00
host-stub.c
host.h
libhw.c
Makefile.objs libcacard: remove libcacard-specific CFLAGS and LIBS from global vars 2014-05-09 22:59:40 +02:00
quirks-ftdi-ids.h
quirks-pl2303-ids.h
quirks.c
quirks.h
redirect.c serial: poll the serial console with G_IO_HUP 2014-06-30 15:04:34 +02:00