From: Greg Kroah-Hartman Date: Thu, 4 Jul 2019 11:02:00 +0000 (+0200) Subject: Revert "usb:gadget Patch simplify usb_decode_set_clear_feature function." X-Git-Tag: v5.15~5975^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8265fb7c2559a4d245fed095b6af97bd8629d233;p=platform%2Fkernel%2Flinux-starfive.git Revert "usb:gadget Patch simplify usb_decode_set_clear_feature function." This reverts commit ca888ce7495e4e1578c86c37b0c82f6709da477c. It's broken. Reported-by: Stephen Rothwell Cc: Felipe Balbi Cc: Pawel Laszczak Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/gadget/debug.c b/drivers/usb/gadget/debug.c index 60a9f70a..d5a469b 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)",