am7xxx: don't mention AM7XXX_DIRECTION_OUT in read_header()
authorAntonio Ospite <ospite@studenti.unina.it>
Wed, 14 Nov 2012 11:31:01 +0000 (12:31 +0100)
committerAntonio Ospite <ospite@studenti.unina.it>
Wed, 14 Nov 2012 14:33:19 +0000 (15:33 +0100)
The validity check in read_header() looks for:

h->direction == AM7XXX_DIRECTION_IN

When this is false (direction is _not_equal_ to AM7XXX_DIRECTION_IN) it
cannot be said for sure that the direction field value is going to
really be AM7XXX_DIRECTION_OUT, technically the device may have put
anything there.

So, just report what happens don't try to overguess.

src/am7xxx.c

index c039147..47f79ea 100644 (file)
@@ -390,7 +390,8 @@ static int read_header(am7xxx_device *dev, struct am7xxx_header *h)
                ret = 0;
        } else {
                error(dev->ctx,
                ret = 0;
        } else {
                error(dev->ctx,
-                     "Received a packet with direction AM7XXX_DIRECTION_OUT, weird!\n");
+                     "Expected an AM7XXX_DIRECTION_IN packet, got one with direction = %d. Weird!\n",
+                     h->direction);
                ret = -EINVAL;
        }
 
                ret = -EINVAL;
        }