diff options
Diffstat (limited to 'net/caif')
| -rw-r--r-- | net/caif/caif_dev.c | 1 | ||||
| -rw-r--r-- | net/caif/caif_socket.c | 8 | ||||
| -rw-r--r-- | net/caif/caif_usb.c | 5 | ||||
| -rw-r--r-- | net/caif/cfpkt_skbuff.c | 12 | ||||
| -rw-r--r-- | net/caif/cfsrvl.c | 1 | ||||
| -rw-r--r-- | net/caif/chnl_net.c | 3 | 
6 files changed, 8 insertions, 22 deletions
diff --git a/net/caif/caif_dev.c b/net/caif/caif_dev.c index 4dca159435c..edbca468fa7 100644 --- a/net/caif/caif_dev.c +++ b/net/caif/caif_dev.c @@ -22,6 +22,7 @@  #include <net/pkt_sched.h>  #include <net/caif/caif_device.h>  #include <net/caif/caif_layer.h> +#include <net/caif/caif_dev.h>  #include <net/caif/cfpkt.h>  #include <net/caif/cfcnfg.h>  #include <net/caif/cfserl.h> diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c index 05a41c7ec30..e8437094d15 100644 --- a/net/caif/caif_socket.c +++ b/net/caif/caif_socket.c @@ -124,7 +124,6 @@ static void caif_flow_ctrl(struct sock *sk, int mode)  static int caif_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)  {  	int err; -	int skb_len;  	unsigned long flags;  	struct sk_buff_head *list = &sk->sk_receive_queue;  	struct caifsock *cf_sk = container_of(sk, struct caifsock, sk); @@ -153,14 +152,13 @@ static int caif_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)  	 * may be freed by other threads of control pulling packets  	 * from the queue.  	 */ -	skb_len = skb->len;  	spin_lock_irqsave(&list->lock, flags);  	if (!sock_flag(sk, SOCK_DEAD))  		__skb_queue_tail(list, skb);  	spin_unlock_irqrestore(&list->lock, flags);  	if (!sock_flag(sk, SOCK_DEAD)) -		sk->sk_data_ready(sk, skb_len); +		sk->sk_data_ready(sk);  	else  		kfree_skb(skb);  	return 0; @@ -286,8 +284,6 @@ static int caif_seqpkt_recvmsg(struct kiocb *iocb, struct socket *sock,  	if (m->msg_flags&MSG_OOB)  		goto read_error; -	m->msg_namelen = 0; -  	skb = skb_recv_datagram(sk, flags, 0 , &ret);  	if (!skb)  		goto read_error; @@ -361,8 +357,6 @@ static int caif_stream_recvmsg(struct kiocb *iocb, struct socket *sock,  	if (flags&MSG_OOB)  		goto out; -	msg->msg_namelen = 0; -  	/*  	 * Lock the socket to prevent queue disordering  	 * while sleeps in memcpy_tomsg diff --git a/net/caif/caif_usb.c b/net/caif/caif_usb.c index 75ed04b78fa..ba02db02290 100644 --- a/net/caif/caif_usb.c +++ b/net/caif/caif_usb.c @@ -14,6 +14,7 @@  #include <linux/mii.h>  #include <linux/usb.h>  #include <linux/usb/usbnet.h> +#include <linux/etherdevice.h>  #include <net/netns/generic.h>  #include <net/caif/caif_dev.h>  #include <net/caif/caif_layer.h> @@ -105,8 +106,8 @@ static struct cflayer *cfusbl_create(int phyid, u8 ethaddr[ETH_ALEN],  	 *	5-11	source address  	 *	12-13	protocol type  	 */ -	memcpy(&this->tx_eth_hdr[ETH_ALEN], braddr, ETH_ALEN); -	memcpy(&this->tx_eth_hdr[ETH_ALEN], ethaddr, ETH_ALEN); +	ether_addr_copy(&this->tx_eth_hdr[ETH_ALEN], braddr); +	ether_addr_copy(&this->tx_eth_hdr[ETH_ALEN], ethaddr);  	this->tx_eth_hdr[12] = cpu_to_be16(ETH_P_802_EX1) & 0xff;  	this->tx_eth_hdr[13] = (cpu_to_be16(ETH_P_802_EX1) >> 8) & 0xff;  	pr_debug("caif ethernet TX-header dst:%pM src:%pM type:%02x%02x\n", diff --git a/net/caif/cfpkt_skbuff.c b/net/caif/cfpkt_skbuff.c index 6493351f39c..1be0b521ac4 100644 --- a/net/caif/cfpkt_skbuff.c +++ b/net/caif/cfpkt_skbuff.c @@ -203,20 +203,10 @@ int cfpkt_add_body(struct cfpkt *pkt, const void *data, u16 len)  			PKT_ERROR(pkt, "cow failed\n");  			return -EPROTO;  		} -		/* -		 * Is the SKB non-linear after skb_cow_data()? If so, we are -		 * going to add data to the last SKB, so we need to adjust -		 * lengths of the top SKB. -		 */ -		if (lastskb != skb) { -			pr_warn("Packet is non-linear\n"); -			skb->len += len; -			skb->data_len += len; -		}  	}  	/* All set to put the last SKB and optionally write data there. */ -	to = skb_put(lastskb, len); +	to = pskb_put(skb, lastskb, len);  	if (likely(data))  		memcpy(to, data, len);  	return 0; diff --git a/net/caif/cfsrvl.c b/net/caif/cfsrvl.c index 353f793d1b3..a6e11546305 100644 --- a/net/caif/cfsrvl.c +++ b/net/caif/cfsrvl.c @@ -15,6 +15,7 @@  #include <net/caif/caif_layer.h>  #include <net/caif/cfsrvl.h>  #include <net/caif/cfpkt.h> +#include <net/caif/caif_dev.h>  #define SRVL_CTRL_PKT_SIZE 1  #define SRVL_FLOW_OFF 0x81 diff --git a/net/caif/chnl_net.c b/net/caif/chnl_net.c index 7344a8fa1bb..4589ff67bfa 100644 --- a/net/caif/chnl_net.c +++ b/net/caif/chnl_net.c @@ -285,7 +285,7 @@ static int chnl_net_open(struct net_device *dev)  				goto error;  		} -		lldev = dev_get_by_index(dev_net(dev), llifindex); +		lldev = __dev_get_by_index(dev_net(dev), llifindex);  		if (lldev == NULL) {  			pr_debug("no interface?\n"); @@ -307,7 +307,6 @@ static int chnl_net_open(struct net_device *dev)  		mtu = min_t(int, dev->mtu, lldev->mtu - (headroom + tailroom));  		mtu = min_t(int, GPRS_PDP_MTU, mtu);  		dev_set_mtu(dev, mtu); -		dev_put(lldev);  		if (mtu < 100) {  			pr_warn("CAIF Interface MTU too small (%d)\n", mtu);  | 
