From patchwork Fri Jun 21 16:40:55 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Muellner X-Patchwork-Id: 253290 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 994D52C03A0 for ; Sat, 22 Jun 2013 03:07:15 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1423507Ab3FURG5 (ORCPT ); Fri, 21 Jun 2013 13:06:57 -0400 Received: from vegas.theobroma-systems.com ([88.198.52.168]:50949 "EHLO mail.theobroma-systems.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1423415Ab3FURG4 (ORCPT ); Fri, 21 Jun 2013 13:06:56 -0400 X-Greylist: delayed 1556 seconds by postgrey-1.27 at vger.kernel.org; Fri, 21 Jun 2013 13:06:55 EDT Received: from localhost ([127.0.0.1]:60559 helo=mail.theobroma-systems.com ident=www-data) by mail.theobroma-systems.com with esmtp (Exim 4.63) (envelope-from ) id 1Uq4ON-0003J7-1U; Fri, 21 Jun 2013 18:40:57 +0200 Received: from 62.178.124.14 (SquirrelMail authenticated user christoph.muellner@theobroma-systems.com) by mail.theobroma-systems.com with HTTP; Fri, 21 Jun 2013 18:40:55 +0200 (CEST) Message-ID: <61455.62.178.124.14.1371832855.squirrel@mail.theobroma-systems.com> Date: Fri, 21 Jun 2013 18:40:55 +0200 (CEST) Subject: [PATCH] net: fec: Fix multicast list setup in fec_restart(). From: Christoph =?iso-8859-1?Q?M=FCllner?= To: linux-kernel@vger.kernel.org Cc: "Grant Likely" , "Rob Herring" , "David S. Miller" , "Fabio Estevam" , netdev@vger.kernel.org User-Agent: SquirrelMail/1.4.9a MIME-Version: 1.0 X-Priority: 3 (Normal) Importance: Normal Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Setup the multicast list of the net_device instead of clearing it blindly. This restores the multicast groups in case of a link down/up event. Signed-off-by: Christoph Muellner --- drivers/net/ethernet/freescale/fec_main.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index a667015..8e8e743 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -60,6 +60,8 @@ #include "fec.h" +static void set_multicast_list(struct net_device *ndev); + #if defined(CONFIG_ARM) #define FEC_ALIGNMENT 0xf #else @@ -472,8 +474,7 @@ fec_restart(struct net_device *ndev, int duplex) writel(0xffc00000, fep->hwp + FEC_IEVENT); /* Reset all multicast. */ - writel(0, fep->hwp + FEC_GRP_HASH_TABLE_HIGH); - writel(0, fep->hwp + FEC_GRP_HASH_TABLE_LOW); + set_multicast_list(ndev); #ifndef CONFIG_M5272 writel(0, fep->hwp + FEC_HASH_TABLE_HIGH); writel(0, fep->hwp + FEC_HASH_TABLE_LOW);