usb: bugfixes.

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoDKM/7k6F6eZAf59TLbY7tPocTgFAmEvI20ACgkQTLbY7tPo
 cTgn0w/8D6q00AJLux/xU65314uzibch7KpYFLaIUNnFl/Njuw+44RW2kUkmUVyC
 fzvsTLi3bmHgqQkYmKz3zAwoSQgKIMwepMxxulfZzp5ieSwETdTPWE9rOkelmeXT
 iL2B4zjHAuFKd3zQM/DBI2LrVDMfRMcJzTsgswE8eNPdHcFviHB1roqOivS4ET6T
 rBqlyBUJA7nmHYhx3L/PWlQeXCB/Zozn5lfGvp+adPYm1+wwSreseolEmuhHKyPm
 oDzV7TS7WWI8Nxr5w1wK9kHOz6ouKDulb4lw+YYQPaGQfQrNImxg5IXYFGCwtcAz
 zoKmFmzI84+2OI5Pl4iUkaWb2BkuB6NrZ25rhqG53sTxqPF22focwmTxGzxxyUb0
 V1+7mOhvcz6Hwtqd17VTzkWTY3K+2Qr8QPoVQ1MQO0Cw2S+Rdqa4Eizn2KvH3tVB
 Uui97V16OMG4UqzwJusIpvirB/2PND0c0HH0Yh09+Dh3TaR7pU35DcraPjo1o0dh
 pQ9EB8IFUej6cdid1psx2sGh3q6cXPDO4rMEdibSLzJVFnSqwsYXPXNauZ9RmEWf
 CvkrkspKVcgIcEKDnT4MgzIhpW/hEybXx9gKho7ltZlPoEVQQvukBy1DAj8ZD03i
 lTJ6ryS75l8/PJZs9G4qdNtdd1Onf/PhMoxVIyrIoJxW9DHnlSA=
 =Hfou
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/kraxel/tags/usb-20210901-pull-request' into staging

usb: bugfixes.

# gpg: Signature made Wed 01 Sep 2021 07:53:33 BST
# gpg:                using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/usb-20210901-pull-request:
  hw/usb: Fix typo in comments and print
  uas: add stream number sanity checks.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2021-09-01 15:13:07 +01:00
commit 4c41a1c595
7 changed files with 23 additions and 12 deletions

View File

@ -5,12 +5,12 @@
/*
* Microsoft OS Descriptors
*
* Windows tries to fetch some special descriptors with informations
* Windows tries to fetch some special descriptors with information
* specifically for windows. Presence is indicated using a special
* string @ index 0xee. There are two kinds of descriptors:
*
* compatid descriptor
* Used to bind drivers, if usb class isn't specific enougth.
* Used to bind drivers, if usb class isn't specific enough.
* Used for PTP/MTP for example (both share the same usb class).
*
* properties descriptor
@ -23,7 +23,7 @@
* HLM\SYSTEM\CurrentControlSet\Control\usbflags
* HLM\SYSTEM\CurrentControlSet\Enum\USB
* Windows will complain it can't delete entries on the second one.
* It has deleted everything it had permissions too, which is enouth
* It has deleted everything it had permissions too, which is enough
* as this includes "Device Parameters".
*
* http://msdn.microsoft.com/en-us/library/windows/hardware/ff537430.aspx
@ -192,8 +192,8 @@ static int usb_desc_msos_prop(const USBDesc *desc, uint8_t *dest)
if (desc->msos->SelectiveSuspendEnabled) {
/*
* Signaling remote wakeup capability in the standard usb
* descriptors isn't enouth to make windows actually use it.
* This is the "Yes, we really mean it" registy entry to flip
* descriptors isn't enough to make windows actually use it.
* This is the "Yes, we really mean it" registry entry to flip
* the switch in the windows drivers.
*/
length += usb_desc_msos_prop_dword(dest+length,

View File

@ -133,7 +133,7 @@ struct USBDescConfig {
const USBDescIface *ifs;
};
/* conceptually an Interface Association Descriptor, and releated interfaces */
/* conceptually an Interface Association Descriptor, and related interfaces */
struct USBDescIfaceAssoc {
uint8_t bFirstInterface;
uint8_t bInterfaceCount;

View File

@ -168,7 +168,7 @@ static const USBDescIface desc_iface[] = {
STRING_FEATURE_UNIT, /* u8 iFeature */
}
},{
/* Headphone Ouptut Terminal ID3 Descriptor */
/* Headphone Output Terminal ID3 Descriptor */
.data = (uint8_t[]) {
0x09, /* u8 bLength */
USB_DT_CS_INTERFACE, /* u8 bDescriptorType */
@ -332,7 +332,7 @@ static const USBDescIface desc_iface_multi[] = {
STRING_FEATURE_UNIT, /* u8 iFeature */
}
},{
/* Headphone Ouptut Terminal ID3 Descriptor */
/* Headphone Output Terminal ID3 Descriptor */
.data = (uint8_t[]) {
0x09, /* u8 bLength */
USB_DT_CS_INTERFACE, /* u8 bDescriptorType */

View File

@ -840,6 +840,9 @@ static void usb_uas_handle_data(USBDevice *dev, USBPacket *p)
}
break;
case UAS_PIPE_ID_STATUS:
if (p->stream > UAS_MAX_STREAMS) {
goto err_stream;
}
if (p->stream) {
QTAILQ_FOREACH(st, &uas->results, next) {
if (st->stream == p->stream) {
@ -867,6 +870,9 @@ static void usb_uas_handle_data(USBDevice *dev, USBPacket *p)
break;
case UAS_PIPE_ID_DATA_IN:
case UAS_PIPE_ID_DATA_OUT:
if (p->stream > UAS_MAX_STREAMS) {
goto err_stream;
}
if (p->stream) {
req = usb_uas_find_request(uas, p->stream);
} else {
@ -902,6 +908,11 @@ static void usb_uas_handle_data(USBDevice *dev, USBPacket *p)
p->status = USB_RET_STALL;
break;
}
err_stream:
error_report("%s: invalid stream %d", __func__, p->stream);
p->status = USB_RET_STALL;
return;
}
static void usb_uas_unrealize(USBDevice *dev)

View File

@ -1706,7 +1706,7 @@ static void usb_host_free_streams(USBDevice *udev, USBEndpoint **eps,
/*
* This is *NOT* about restoring state. We have absolutely no idea
* what state the host device is in at the moment and whenever it is
* still present in the first place. Attemping to contine where we
* still present in the first place. Attempting to continue where we
* left off is impossible.
*
* What we are going to do here is emulate a surprise removal of

View File

@ -625,9 +625,9 @@
* Definitions for Icom Inc. devices
*/
#define ICOM_VID 0x0C26 /* Icom vendor ID */
/* Note: ID-1 is a communications tranceiver for HAM-radio operators */
/* Note: ID-1 is a communications transceiver for HAM-radio operators */
#define ICOM_ID_1_PID 0x0004 /* ID-1 USB to RS-232 */
/* Note: OPC is an Optional cable to connect an Icom Tranceiver */
/* Note: OPC is an Optional cable to connect an Icom Transceiver */
#define ICOM_OPC_U_UC_PID 0x0018 /* OPC-478UC, OPC-1122U cloning cable */
/* Note: ID-RP* devices are Icom Repeater Devices for HAM-radio */
#define ICOM_ID_RP2C1_PID 0x0009 /* ID-RP2C Asset 1 to RS-232 */

View File

@ -307,7 +307,7 @@ static void u2f_emulated_realize(U2FKeyState *base, Error **errp)
rc = u2f_emulated_setup_vdev_manualy(key);
} else {
error_setg(errp, "%s: cert, priv, entropy and counter "
"parameters must be provided to manualy configure "
"parameters must be provided to manually configure "
"the emulated device", TYPE_U2F_EMULATED);
return;
}