From patchwork Wed Dec 11 10:50:26 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dean Jenkins X-Patchwork-Id: 299965 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 8F8672C00A6 for ; Wed, 11 Dec 2013 21:59:26 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751577Ab3LKK7X (ORCPT ); Wed, 11 Dec 2013 05:59:23 -0500 Received: from gateway05.m3-connect.de ([88.79.237.15]:51949 "EHLO mail.mentor.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751506Ab3LKK7O (ORCPT ); Wed, 11 Dec 2013 05:59:14 -0500 Received: by mail.mentor.com (Postfix, from userid 1000) id 538B490097E; Wed, 11 Dec 2013 10:50:28 +0000 (GMT) From: Dean Jenkins To: netdev@vger.kernel.org, davem@davemloft.net Subject: [PATCH 2/4] asix: Tidy-up asix_rx_fixup_internal() logic Date: Wed, 11 Dec 2013 10:50:26 +0000 Message-Id: <1386759028-3534-3-git-send-email-Dean_Jenkins@mentor.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1386759028-3534-1-git-send-email-Dean_Jenkins@mentor.com> References: <1386759028-3534-1-git-send-email-Dean_Jenkins@mentor.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Tidy-up the Data header 32-bit word synchronisation logic in asix_rx_fixup_internal() by removing redundant logic tests. Signed-off-by: Dean Jenkins --- drivers/net/usb/asix_common.c | 45 +++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/drivers/net/usb/asix_common.c b/drivers/net/usb/asix_common.c index 2a5b2f8..1d44c1e 100644 --- a/drivers/net/usb/asix_common.c +++ b/drivers/net/usb/asix_common.c @@ -62,21 +62,19 @@ int asix_rx_fixup_internal(struct usbnet *dev, struct sk_buff *skb, unsigned char *data; if (!rx->remaining) { - if ((skb->len - offset == sizeof(u16)) || - rx->split_head) { - if(!rx->split_head) { - rx->header = get_unaligned_le16( - skb->data + offset); - rx->split_head = true; - offset += sizeof(u16); - break; - } else { - rx->header |= (get_unaligned_le16( - skb->data + offset) - << 16); - rx->split_head = false; - offset += sizeof(u16); - } + if (skb->len - offset == sizeof(u16)) { + rx->header = get_unaligned_le16( + skb->data + offset); + rx->split_head = true; + offset += sizeof(u16); + break; + } + + if (rx->split_head == true) { + rx->header |= (get_unaligned_le16( + skb->data + offset) << 16); + rx->split_head = false; + offset += sizeof(u16); } else { rx->header = get_unaligned_le32(skb->data + offset); @@ -93,16 +91,15 @@ int asix_rx_fixup_internal(struct usbnet *dev, struct sk_buff *skb, rx->ax_skb = netdev_alloc_skb_ip_align(dev->net, size); if (!rx->ax_skb) return 0; - rx->remaining = size; - } - if (rx->remaining > dev->net->mtu + ETH_HLEN + VLAN_HLEN) { - netdev_err(dev->net, "asix_rx_fixup() Bad RX Length %d\n", - rx->remaining); - kfree_skb(rx->ax_skb); - rx->ax_skb = NULL; - rx->remaining = 0; - return 0; + if (size > dev->net->mtu + ETH_HLEN + VLAN_HLEN) { + netdev_err(dev->net, "asix_rx_fixup() Bad RX Length %d\n", + size); + kfree_skb(rx->ax_skb); + rx->ax_skb = NULL; + return 0; + } + rx->remaining = size; } if (rx->remaining > skb->len - offset) {