diff options
author | Sjur Brændeland <sjur.brandeland@stericsson.com> | 2011-04-11 10:43:51 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-11 15:08:48 -0700 |
commit | 4dd820c088d201e526840c9dbc2f0b87a0a41868 (patch) | |
tree | fac7a3a70bd32df3104ae6f1273a727fb0fa006f /net/caif/cffrml.c | |
parent | 73d6ac633c6c0ca703f90db0b808d9593e46aef6 (diff) | |
download | op-kernel-dev-4dd820c088d201e526840c9dbc2f0b87a0a41868.zip op-kernel-dev-4dd820c088d201e526840c9dbc2f0b87a0a41868.tar.gz |
caif: Don't resend if dev_queue_xmit fails.
If CAIF Link Layer returns an error, we no longer try to re-build the
CAIF packet and resend it. Instead, we simply return any transmission
errors to the socket client.
Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/caif/cffrml.c')
-rw-r--r-- | net/caif/cffrml.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/net/caif/cffrml.c b/net/caif/cffrml.c index a445043..2423fed 100644 --- a/net/caif/cffrml.c +++ b/net/caif/cffrml.c @@ -120,7 +120,6 @@ static int cffrml_transmit(struct cflayer *layr, struct cfpkt *pkt) int tmp; u16 chks; u16 len; - int ret; struct cffrml *this = container_obj(layr); if (this->dofcs) { chks = cfpkt_iterate(pkt, cffrml_checksum, 0xffff); @@ -137,12 +136,7 @@ static int cffrml_transmit(struct cflayer *layr, struct cfpkt *pkt) pr_err("Packet is erroneous!\n"); return -EPROTO; } - ret = layr->dn->transmit(layr->dn, pkt); - if (ret < 0) { - /* Remove header on faulty packet. */ - cfpkt_extr_head(pkt, &tmp, 2); - } - return ret; + return layr->dn->transmit(layr->dn, pkt); } static void cffrml_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl, |