From patchwork Tue Apr 30 09:27:28 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mugunthan V N X-Patchwork-Id: 2503881 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 8D565DF2F2 for ; Tue, 30 Apr 2013 09:27:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759915Ab3D3J1n (ORCPT ); Tue, 30 Apr 2013 05:27:43 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:40664 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759854Ab3D3J1m (ORCPT ); Tue, 30 Apr 2013 05:27:42 -0400 Received: from dflxv15.itg.ti.com ([128.247.5.124]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id r3U9RWeW010021; Tue, 30 Apr 2013 04:27:32 -0500 Received: from DFLE72.ent.ti.com (dfle72.ent.ti.com [128.247.5.109]) by dflxv15.itg.ti.com (8.14.3/8.13.8) with ESMTP id r3U9RWwe028275; Tue, 30 Apr 2013 04:27:32 -0500 Received: from dlelxv23.itg.ti.com (172.17.1.198) by DFLE72.ent.ti.com (128.247.5.109) with Microsoft SMTP Server id 14.2.342.3; Tue, 30 Apr 2013 04:27:31 -0500 Received: from psplinux063.india.ti.com (dbdp20.itg.ti.com [172.24.170.38]) by dlelxv23.itg.ti.com (8.13.8/8.13.8) with ESMTP id r3U9RTwD026450; Tue, 30 Apr 2013 04:27:30 -0500 From: Mugunthan V N To: CC: , , Mugunthan V N , Sebastian Siewior Subject: [net-next PATCH v2 1/1] drivers: net: cpsw: fix kernel warn on cpsw irq enable Date: Tue, 30 Apr 2013 14:57:28 +0530 Message-ID: <1367314048-11503-1-git-send-email-mugunthanvnm@ti.com> X-Mailer: git-send-email 1.8.1 MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org With the commit a11fbba (net/cpsw: fix irq_disable() with threaded interrupts) from Sebastian Siewior, a kernel warning is generated as below. This warning is generated as the irq_enabled is not initialized for the primary interface and in probe it is initialized for the second interface. This patch moves irq_enabled initialization from second interface to primary interface. [ 3.049173] net eth0: phy found : id is : 0x4dd074 [ 3.054552] net eth0: phy found : id is : 0x4dd074 [ 3.070421] ------------[ cut here ]------------ [ 3.075308] WARNING: at kernel/irq/manage.c:437 enable_irq+0x3c/0x74() [ 3.082173] Unbalanced enable for IRQ 56 [ 3.086299] Modules linked in: [ 3.089557] [] (unwind_backtrace+0x0/0xf0) from [] (warn_slowpath_common+0x4c/0x68) [ 3.099450] [] (warn_slowpath_common+0x4c/0x68) from [] (warn_slowpath_fmt+0x30/0x40) [ 3.109521] [] (warn_slowpath_fmt+0x30/0x40) from [] (enable_irq+0x3c/0x74) [ 3.118681] [] (enable_irq+0x3c/0x74) from [] (cpsw_ndo_open+0x61c/0x684) [ 3.127669] [] (cpsw_ndo_open+0x61c/0x684) from [] (__dev_open+0x9c/0xf8) [ 3.136646] [] (__dev_open+0x9c/0xf8) from [] (__dev_change_flags+0x78/0x13c) [ 3.145988] [] (__dev_change_flags+0x78/0x13c) from [] (dev_change_flags+0x10/0x48) [ 3.155884] [] (dev_change_flags+0x10/0x48) from [] (ip_auto_config+0x198/0x111c) [ 3.165592] [] (ip_auto_config+0x198/0x111c) from [] (do_one_initcall+0x34/0x180) [ 3.175309] [] (do_one_initcall+0x34/0x180) from [] (kernel_init_freeable+0xfc/0x1c8) [ 3.185393] [] (kernel_init_freeable+0xfc/0x1c8) from [] (kernel_init+0x8/0xe4) [ 3.194929] [] (kernel_init+0x8/0xe4) from [] (ret_from_fork+0x14/0x24) [ 3.203712] ---[ end trace d6f979da080bc391 ]--- Cc: Sebastian Siewior Signed-off-by: Mugunthan V N --- Changes from initial version: * added previous commit summary * changed secondary interface to second interface drivers/net/ethernet/ti/cpsw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c index 4e2d224..59c4391 100644 --- a/drivers/net/ethernet/ti/cpsw.c +++ b/drivers/net/ethernet/ti/cpsw.c @@ -1633,7 +1633,6 @@ static int cpsw_probe_dual_emac(struct platform_device *pdev, priv_sl2->irqs_table[i] = priv->irqs_table[i]; priv_sl2->num_irqs = priv->num_irqs; } - priv->irq_enabled = true; ndev->features |= NETIF_F_HW_VLAN_CTAG_FILTER; ndev->netdev_ops = &cpsw_netdev_ops; @@ -1679,6 +1678,7 @@ static int cpsw_probe(struct platform_device *pdev) priv->msg_enable = netif_msg_init(debug_level, CPSW_DEBUG); priv->rx_packet_max = max(rx_packet_max, 128); priv->cpts = devm_kzalloc(&pdev->dev, sizeof(struct cpts), GFP_KERNEL); + priv->irq_enabled = true; if (!ndev) { pr_err("error allocating cpts\n"); goto clean_ndev_ret;