From: Antonio Ospite Date: Wed, 14 Nov 2012 11:08:07 +0000 (+0100) Subject: am7xxx: add a note on the symmetry of read_header() and send_header() X-Git-Tag: v0.1.3~9 X-Git-Url: https://git.ao2.it/libam7xxx.git/commitdiff_plain/2c897cad505d3ba27723dcff7252ff123d90ab53?ds=inline;hp=c8837a57134230c335a85da22322fd794b19ff44 am7xxx: add a note on the symmetry of read_header() and send_header() In read_header we do: 1. read data 2. unserialize header 3. validity check 4. dump header In send_header: 1. dump header 2. validity check (we skip it, actually) 3. serialize header 4. send data --- diff --git a/src/am7xxx.c b/src/am7xxx.c index 47e04bb..c039147 100644 --- a/src/am7xxx.c +++ b/src/am7xxx.c @@ -386,8 +386,6 @@ static int read_header(am7xxx_device *dev, struct am7xxx_header *h) unserialize_header(dev->buffer, h); - debug_dump_header(dev->ctx, h); - if (h->direction == AM7XXX_DIRECTION_IN) { ret = 0; } else { @@ -396,6 +394,8 @@ static int read_header(am7xxx_device *dev, struct am7xxx_header *h) ret = -EINVAL; } + debug_dump_header(dev->ctx, h); + out: return ret; } @@ -406,7 +406,13 @@ static int send_header(am7xxx_device *dev, struct am7xxx_header *h) debug_dump_header(dev->ctx, h); + /* For symmetry with read_header() we should check here for + * h->direction == AM7XXX_DIRECTION_OUT but we just ensure that in all + * the callers and save some cycles here. + */ + serialize_header(h, dev->buffer); + ret = send_data(dev, dev->buffer, AM7XXX_HEADER_WIRE_SIZE); if (ret < 0) error(dev->ctx, "failed to send data\n");