diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-07-04 13:02:00 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-07-04 13:02:00 +0200 |
commit | 8265fb7c2559a4d245fed095b6af97bd8629d233 (patch) | |
tree | 293fefbac30301f47cd2c746c90a1f52177ac6b5 | |
parent | Revert "usb:gadget Simplify usb_decode_get_set_descriptor function." (diff) | |
download | linux-8265fb7c2559a4d245fed095b6af97bd8629d233.tar.xz linux-8265fb7c2559a4d245fed095b6af97bd8629d233.zip |
Revert "usb:gadget Patch simplify usb_decode_set_clear_feature function."
This reverts commit ca888ce7495e4e1578c86c37b0c82f6709da477c.
It's broken.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/gadget/debug.c | 89 |
1 files changed, 46 insertions, 43 deletions
diff --git a/drivers/usb/gadget/debug.c b/drivers/usb/gadget/debug.c index 60a9f70a0904..d5a469bc67a3 100644 --- a/drivers/usb/gadget/debug.c +++ b/drivers/usb/gadget/debug.c @@ -30,55 +30,58 @@ static void usb_decode_get_status(__u8 bRequestType, __u16 wIndex, } } -static const char *usb_decode_device_feature(u16 wValue) -{ - switch (wValue) { - case USB_DEVICE_SELF_POWERED: - return "Self Powered"; - case USB_DEVICE_REMOTE_WAKEUP: - return "Remote Wakeup"; - case USB_DEVICE_TEST_MODE: - return "Test Mode"; - case USB_DEVICE_U1_ENABLE: - return "U1 Enable"; - case USB_DEVICE_U2_ENABLE: - return "U2 Enable"; - case USB_DEVICE_LTM_ENABLE: - return "LTM Enable"; - default: - return "UNKNOWN"; - } -} - -static const char *usb_decode_test_mode(u16 wIndex) -{ - switch (wIndex) { - case TEST_J: - return ": TEST_J"; - case TEST_K: - return ": TEST_K"; - case TEST_SE0_NAK: - return ": TEST_SE0_NAK"; - case TEST_PACKET: - return ": TEST_PACKET"; - case TEST_FORCE_EN: - return ": TEST_FORCE_EN"; - default: - return ": UNKNOWN"; - } -} - -static void usb_decode_set_clear_feature(__u8 bRequestType, - __u8 bRequest, __u16 wValue, - __u16 wIndex, char *str, size_t size) +static void usb_decode_set_clear_feature(__u8 bRequestType, __u8 bRequest, + __u16 wValue, __u16 wIndex, + char *str, size_t size) { switch (bRequestType & USB_RECIP_MASK) { case USB_RECIP_DEVICE: snprintf(str, size, "%s Device Feature(%s%s)", bRequest == USB_REQ_CLEAR_FEATURE ? "Clear" : "Set", - usb_decode_device_feature(wValue), + ({char *s; + switch (wValue) { + case USB_DEVICE_SELF_POWERED: + s = "Self Powered"; + break; + case USB_DEVICE_REMOTE_WAKEUP: + s = "Remote Wakeup"; + break; + case USB_DEVICE_TEST_MODE: + s = "Test Mode"; + break; + case USB_DEVICE_U1_ENABLE: + s = "U1 Enable"; + break; + case USB_DEVICE_U2_ENABLE: + s = "U2 Enable"; + break; + case USB_DEVICE_LTM_ENABLE: + s = "LTM Enable"; + break; + default: + s = "UNKNOWN"; + } s; }), wValue == USB_DEVICE_TEST_MODE ? - usb_decode_test_mode(wIndex) : ""); + ({ char *s; + switch (wIndex) { + case TEST_J: + s = ": TEST_J"; + break; + case TEST_K: + s = ": TEST_K"; + break; + case TEST_SE0_NAK: + s = ": TEST_SE0_NAK"; + break; + case TEST_PACKET: + s = ": TEST_PACKET"; + break; + case TEST_FORCE_EN: + s = ": TEST_FORCE_EN"; + break; + default: + s = ": UNKNOWN"; + } s; }) : ""); break; case USB_RECIP_INTERFACE: snprintf(str, size, "%s Interface Feature(%s)", |