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>
This commit is contained in:

committed by
David S. Miller

parent
73d6ac633c
commit
4dd820c088
@@ -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,
|
||||
|
Reference in New Issue
Block a user