]> err.no Git - linux-2.6/commitdiff
usbtest: comment on why this code "expects" negative and positive errnos
authorMarcin Slusarz <marcin.slusarz@gmail.com>
Mon, 12 May 2008 18:17:25 +0000 (20:17 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 14 May 2008 17:00:29 +0000 (10:00 -0700)
On Mon, May 12, 2008 at 01:02:22AM -0700, David Brownell wrote:
> On Sunday 11 May 2008, Marcin Slusarz wrote:
> >
> > test_ctrl_queue expects (?) positive and negative errnos.
> > what is going on here?
>
> The sign is just a way to flag something:
>
>                 /* some faults are allowed, not required */
>
> The negative ones are required.  Positive codes are optional,
> in the sense that, depending on how the peripheral happens
> to be implemented, they won't necessarily be triggered.
>
> For example, the test to fetch a device qualifier desriptor
> must succeed if the device is running at high speed.  So that
> test is marked as negative.  But when it's full speed, it
> could legitimately fail; marked as positive.  And so on for
> other tests.
>
> Look at how the codes are *interpreted* to see it work.

Lets document it.

Based on comment from David Brownell <david-b@pacbell.net>.

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/misc/usbtest.c

index 742be3c3594788b23464050e1a09afafed91fbde..054dedd2812718c1c1350acb058f983e1dda3331 100644 (file)
@@ -856,6 +856,11 @@ test_ctrl_queue (struct usbtest_dev *dev, struct usbtest_param *param)
                struct urb              *u;
                struct usb_ctrlrequest  req;
                struct subcase          *reqp;
+
+               /* sign of this variable means:
+                *  -: tested code must return this (negative) error code
+                *  +: tested code may return this (negative too) error code
+                */
                int                     expected = 0;
 
                /* requests here are mostly expected to succeed on any