caif: Bugfix for socket priority, bindtodev and dbg channel.
Changes: o Bugfix: SO_PRIORITY for SOL_SOCKET could not be handled in caif's setsockopt, using the struct sock attribute priority instead. o Bugfix: SO_BINDTODEVICE for SOL_SOCKET could not be handled in caif's setsockopt, using the struct sock attribute ifindex instead. o Wrong assert statement for RFM layer segmentation. o CAIF Debug channels was not working over SPI, caif_payload_info containing padding info must be initialized. o Check on pointer before dereferencing when unregister dev in caif_dev.c Signed-off-by: Sjur Braendeland <sjur.brandeland@stericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
6cc0e949af
commit
f2527ec436
@@ -12,6 +12,8 @@
|
||||
#include <net/caif/cfsrvl.h>
|
||||
#include <net/caif/cfpkt.h>
|
||||
|
||||
#define container_obj(layr) ((struct cfsrvl *) layr)
|
||||
|
||||
static int cfdbgl_receive(struct cflayer *layr, struct cfpkt *pkt);
|
||||
static int cfdbgl_transmit(struct cflayer *layr, struct cfpkt *pkt);
|
||||
|
||||
@@ -38,5 +40,17 @@ static int cfdbgl_receive(struct cflayer *layr, struct cfpkt *pkt)
|
||||
|
||||
static int cfdbgl_transmit(struct cflayer *layr, struct cfpkt *pkt)
|
||||
{
|
||||
struct cfsrvl *service = container_obj(layr);
|
||||
struct caif_payload_info *info;
|
||||
int ret;
|
||||
|
||||
if (!cfsrvl_ready(service, &ret))
|
||||
return ret;
|
||||
|
||||
/* Add info for MUX-layer to route the packet out */
|
||||
info = cfpkt_info(pkt);
|
||||
info->channel_id = service->layer.id;
|
||||
info->dev_info = &service->dev_info;
|
||||
|
||||
return layr->dn->transmit(layr->dn, pkt);
|
||||
}
|
||||
|
Reference in New Issue
Block a user