diff options
Diffstat (limited to 'drivers/net/usb/rndis_host.c')
| -rw-r--r-- | drivers/net/usb/rndis_host.c | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c index 0caa8008c51..490fa8f5542 100644 --- a/drivers/net/usb/rndis_host.c +++ b/drivers/net/usb/rndis_host.c @@ -114,8 +114,8 @@ int rndis_command(struct usbnet *dev, struct rndis_msg_hdr *buf, int buflen)  	 */  	/* Issue the request; xid is unique, don't bother byteswapping it */ -	if (likely(buf->msg_type != RNDIS_MSG_HALT -			&& buf->msg_type != RNDIS_MSG_RESET)) { +	if (likely(buf->msg_type != RNDIS_MSG_HALT && +		   buf->msg_type != RNDIS_MSG_RESET)) {  		xid = dev->xid++;  		if (!xid)  			xid = dev->xid++; @@ -362,12 +362,12 @@ generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags)  			retval = -EINVAL;  			goto halt_fail_and_release;  		} -		dev->hard_mtu = tmp; -		net->mtu = dev->hard_mtu - net->hard_header_len;  		dev_warn(&intf->dev,  			 "dev can't take %u byte packets (max %u), "  			 "adjusting MTU to %u\n", -			 dev->hard_mtu, tmp, net->mtu); +			 dev->hard_mtu, tmp, tmp - net->hard_header_len); +		dev->hard_mtu = tmp; +		net->mtu = dev->hard_mtu - net->hard_header_len;  	}  	/* REVISIT:  peripheral "alignment" request is ignored ... */ @@ -493,9 +493,9 @@ int rndis_rx_fixup(struct usbnet *dev, struct sk_buff *skb)  		data_len = le32_to_cpu(hdr->data_len);  		/* don't choke if we see oob, per-packet data, etc */ -		if (unlikely(hdr->msg_type != RNDIS_MSG_PACKET -				|| skb->len < msg_len -				|| (data_offset + data_len + 8) > msg_len)) { +		if (unlikely(hdr->msg_type != RNDIS_MSG_PACKET || +			     skb->len < msg_len || +			     (data_offset + data_len + 8) > msg_len)) {  			dev->net->stats.rx_frame_errors++;  			devdbg(dev, "bad rndis message %d/%d/%d/%d, len %d",  				le32_to_cpu(hdr->msg_type),  |