From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:34898 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754571AbbLKUWh (ORCPT ); Fri, 11 Dec 2015 15:22:37 -0500 Subject: Patch "via-rhine: fix VLAN receive handling regression." has been added to the 4.2-stable tree To: andrej@ota.si, davem@davemloft.net, gregkh@linuxfoundation.org, romieu@fr.zoreil.com Cc: , From: Date: Fri, 11 Dec 2015 08:49:25 -0800 Message-ID: <1449852565249188@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled via-rhine: fix VLAN receive handling regression. to the 4.2-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: via-rhine-fix-vlan-receive-handling-regression.patch and it can be found in the queue-4.2 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From foo@baz Fri Dec 11 11:38:35 EST 2015 From: Andrej Ota Date: Thu, 15 Oct 2015 00:14:37 +0200 Subject: via-rhine: fix VLAN receive handling regression. From: Andrej Ota [ Upstream commit 5f715c097965c0ad037f64393d0b95c50287775b ] Because eth_type_trans() consumes ethernet header worth of bytes, a call to read TCI from end of packet using rhine_rx_vlan_tag() no longer works as it's reading from an invalid offset. Tested to be working on PCEngines Alix board. Fixes: 810f19bcb862 ("via-rhine: add consistent memory barrier in vlan receive code.") Signed-off-by: Andrej Ota Acked-by: Francois Romieu Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/via/via-rhine.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/net/ethernet/via/via-rhine.c +++ b/drivers/net/ethernet/via/via-rhine.c @@ -2134,10 +2134,11 @@ static int rhine_rx(struct net_device *d } skb_put(skb, pkt_len); - skb->protocol = eth_type_trans(skb, dev); rhine_rx_vlan_tag(skb, desc, data_size); + skb->protocol = eth_type_trans(skb, dev); + netif_receive_skb(skb); u64_stats_update_begin(&rp->rx_stats.syncp); Patches currently in stable-queue which might be from andrej@ota.si are queue-4.2/via-rhine-fix-vlan-receive-handling-regression.patch