From: Marcin Slusarz <marcin.slusarz@gmail.com>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Greg Kroah-Hartman <gregkh@suse.de>, linux-usb@vger.kernel.org
Subject: drivers/usb/misc/usbtest.c weirdness
Date: Sun, 11 May 2008 22:22:26 +0200 [thread overview]
Message-ID: <20080511202222.GP19058@joi> (raw)
test_ctrl_queue expects (?) positive and negative errnos.
what is going on here?
diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c
index 742be3c..5a65991 100644
--- a/drivers/usb/misc/usbtest.c
+++ b/drivers/usb/misc/usbtest.c
@@ -880,7 +880,7 @@ test_ctrl_queue (struct usbtest_dev *dev, struct usbtest_param *param)
req.bRequestType = USB_DIR_IN|USB_RECIP_INTERFACE;
// index = 0 means first interface
len = 1;
- expected = EPIPE;
+ expected = EPIPE; //??
break;
case 3: // get interface status
req.bRequest = USB_REQ_GET_STATUS;
@@ -897,7 +897,7 @@ test_ctrl_queue (struct usbtest_dev *dev, struct usbtest_param *param)
req.wValue = cpu_to_le16 (USB_DT_DEVICE_QUALIFIER << 8);
len = sizeof (struct usb_qualifier_descriptor);
if (udev->speed != USB_SPEED_HIGH)
- expected = EPIPE;
+ expected = EPIPE; // ??
break;
case 6: // get first config descriptor, plus interface
req.wValue = cpu_to_le16 ((USB_DT_CONFIG << 8) | 0);
@@ -908,7 +908,7 @@ test_ctrl_queue (struct usbtest_dev *dev, struct usbtest_param *param)
req.wValue = cpu_to_le16 (USB_DT_INTERFACE << 8);
// interface == 0
len = sizeof (struct usb_interface_descriptor);
- expected = -EPIPE;
+ expected = -EPIPE; // ok
break;
// NOTE: two consecutive stalls in the queue here.
// that tests fault recovery a bit more aggressively.
@@ -919,7 +919,7 @@ test_ctrl_queue (struct usbtest_dev *dev, struct usbtest_param *param)
// wIndex 0 == ep0 (shouldn't halt!)
len = 0;
pipe = usb_sndctrlpipe (udev, 0);
- expected = EPIPE;
+ expected = EPIPE; // ??
break;
case 9: // get endpoint status
req.bRequest = USB_REQ_GET_STATUS;
@@ -930,14 +930,14 @@ test_ctrl_queue (struct usbtest_dev *dev, struct usbtest_param *param)
case 10: // trigger short read (EREMOTEIO)
req.wValue = cpu_to_le16 ((USB_DT_CONFIG << 8) | 0);
len = 1024;
- expected = -EREMOTEIO;
+ expected = -EREMOTEIO; // ok
break;
// NOTE: two consecutive _different_ faults in the queue.
case 11: // get endpoint descriptor (ALWAYS STALLS)
req.wValue = cpu_to_le16 (USB_DT_ENDPOINT << 8);
// endpoint == 0
len = sizeof (struct usb_interface_descriptor);
- expected = EPIPE;
+ expected = EPIPE; // ??
break;
// NOTE: sometimes even a third fault in the queue!
case 12: // get string 0 descriptor (MAY STALL)
@@ -945,13 +945,13 @@ test_ctrl_queue (struct usbtest_dev *dev, struct usbtest_param *param)
// string == 0, for language IDs
len = sizeof (struct usb_interface_descriptor);
// may succeed when > 4 languages
- expected = EREMOTEIO; // or EPIPE, if no strings
+ expected = EREMOTEIO; // or EPIPE, if no strings // ??
break;
case 13: // short read, resembling case 10
req.wValue = cpu_to_le16 ((USB_DT_CONFIG << 8) | 0);
// last data packet "should" be DATA1, not DATA0
len = 1024 - udev->descriptor.bMaxPacketSize0;
- expected = -EREMOTEIO;
+ expected = -EREMOTEIO; // ok
break;
case 14: // short read; try to fill the last packet
req.wValue = cpu_to_le16 ((USB_DT_DEVICE << 8) | 0);
@@ -961,11 +961,11 @@ test_ctrl_queue (struct usbtest_dev *dev, struct usbtest_param *param)
case 8: len = 24; break;
case 16: len = 32; break;
}
- expected = -EREMOTEIO;
+ expected = -EREMOTEIO; // ok
break;
default:
ERROR(dev, "bogus number of ctrl queue testcases!\n");
- context.status = -EINVAL;
+ context.status = -EINVAL; // ok
goto cleanup;
}
req.wLength = cpu_to_le16 (len);
--
next reply other threads:[~2008-05-11 20:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-11 20:22 Marcin Slusarz [this message]
2008-05-12 8:02 ` drivers/usb/misc/usbtest.c weirdness David Brownell
2008-05-12 18:17 ` [PATCH] usb/usbtest: comment on why this code "expects" negative and positive errnos Marcin Slusarz
2008-05-13 22:07 ` patch usbtest-comment-on-why-this-code-expects-negative-and-positive-errnos.patch added to gregkh-2.6 tree gregkh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080511202222.GP19058@joi \
--to=marcin.slusarz@gmail.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox