diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-29 21:45:55 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-29 21:45:55 -0400 |
commit | df9b17f5868bdafd46cad18b08f1e70fa22b8854 (patch) | |
tree | 5667fbd3a0b915463f9558e3d40de309b7a7c0de /drivers/usb/core/devio.c | |
parent | f1ddc24c9e33813f74b871d73e4d795dcdb95a3c (diff) | |
parent | 15c03dd4859ab16f9212238f29dd315654aa94f6 (diff) |
Merge 3.12-rc3 into usb-next
We want the USB fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/core/devio.c')
-rw-r--r-- | drivers/usb/core/devio.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index f4f2300f8e10..bd429eaf6ea3 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c | |||
@@ -742,6 +742,22 @@ static int check_ctrlrecip(struct dev_state *ps, unsigned int requesttype, | |||
742 | if ((index & ~USB_DIR_IN) == 0) | 742 | if ((index & ~USB_DIR_IN) == 0) |
743 | return 0; | 743 | return 0; |
744 | ret = findintfep(ps->dev, index); | 744 | ret = findintfep(ps->dev, index); |
745 | if (ret < 0) { | ||
746 | /* | ||
747 | * Some not fully compliant Win apps seem to get | ||
748 | * index wrong and have the endpoint number here | ||
749 | * rather than the endpoint address (with the | ||
750 | * correct direction). Win does let this through, | ||
751 | * so we'll not reject it here but leave it to | ||
752 | * the device to not break KVM. But we warn. | ||
753 | */ | ||
754 | ret = findintfep(ps->dev, index ^ 0x80); | ||
755 | if (ret >= 0) | ||
756 | dev_info(&ps->dev->dev, | ||
757 | "%s: process %i (%s) requesting ep %02x but needs %02x\n", | ||
758 | __func__, task_pid_nr(current), | ||
759 | current->comm, index, index ^ 0x80); | ||
760 | } | ||
745 | if (ret >= 0) | 761 | if (ret >= 0) |
746 | ret = checkintf(ps, ret); | 762 | ret = checkintf(ps, ret); |
747 | break; | 763 | break; |