Bläddra i källkod

usb: usbtest: add a test case to support bos for queue control

In Test 10 of usbtest module, it queues multiple control messages and
thereby tests control message queuing, protocol stalls, short reads, and
fault handling. And this patch add a test case to support queue BOS control
request for USB 3.0 SPEC.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Huang Rui 11 år sedan
förälder
incheckning
c952a8ba71
1 ändrade filer med 10 tillägg och 1 borttagningar
  1. 10 1
      drivers/usb/misc/usbtest.c

+ 10 - 1
drivers/usb/misc/usbtest.c

@@ -944,7 +944,7 @@ struct ctrl_ctx {
 	int			last;
 	int			last;
 };
 };
 
 
-#define NUM_SUBCASES	15		/* how many test subcases here? */
+#define NUM_SUBCASES	16		/* how many test subcases here? */
 
 
 struct subcase {
 struct subcase {
 	struct usb_ctrlrequest	setup;
 	struct usb_ctrlrequest	setup;
@@ -1218,6 +1218,15 @@ test_ctrl_queue(struct usbtest_dev *dev, struct usbtest_param *param)
 			}
 			}
 			expected = -EREMOTEIO;
 			expected = -EREMOTEIO;
 			break;
 			break;
+		case 15:
+			req.wValue = cpu_to_le16(USB_DT_BOS << 8);
+			if (udev->bos)
+				len = le16_to_cpu(udev->bos->desc->wTotalLength);
+			else
+				len = sizeof(struct usb_bos_descriptor);
+			if (udev->speed != USB_SPEED_SUPER)
+				expected = -EPIPE;
+			break;
 		default:
 		default:
 			ERROR(dev, "bogus number of ctrl queue testcases!\n");
 			ERROR(dev, "bogus number of ctrl queue testcases!\n");
 			context.status = -EINVAL;
 			context.status = -EINVAL;