From patchwork Thu Aug 8 06:30:26 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Byungho An X-Patchwork-Id: 265665 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 7CF2A2C0090 for ; Thu, 8 Aug 2013 16:30:52 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932425Ab3HHGaa (ORCPT ); Thu, 8 Aug 2013 02:30:30 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:12125 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754771Ab3HHGa3 (ORCPT ); Thu, 8 Aug 2013 02:30:29 -0400 Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MR700LO08QP9D50@mailout4.samsung.com> for netdev@vger.kernel.org; Thu, 08 Aug 2013 15:30:27 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.51]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 2B.B9.29708.20B33025; Thu, 08 Aug 2013 15:30:26 +0900 (KST) X-AuditID: cbfee690-b7f6f6d00000740c-48-52033b028390 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 16.B0.31505.20B33025; Thu, 08 Aug 2013 15:30:26 +0900 (KST) Received: from DObh74an01 ([12.23.120.86]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MR700GH68QQU720@mmp1.samsung.com>; Thu, 08 Aug 2013 15:30:26 +0900 (KST) From: Byungho An To: netdev@vger.kernel.org Cc: 'Giuseppe CAVALLARO' , =?ks_c_5601-1987?B?J7HosbnB+Cc=?= , davem@davemloft.net, cpgs@samsung.com Subject: [PATCH] net: stmmac: Fixed the condition of extend_desc for jumbo frame Date: Thu, 08 Aug 2013 15:30:26 +0900 Message-id: <004701ce9400$c4ba2f10$4e2e8d30$%an@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=ks_c_5601-1987 Content-transfer-encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac6UAMRqr6xraZ/BRfu4rHbHlmLKKw== Content-language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrBIsWRmVeSWpSXmKPExsVy+t8zY10ma+Ygg+MrVSxeHtK0mHO+hcWi d8FVNotjC8Qs/r/eyujA6rFl5U0mj74tqxg9nv7Yy+zxeZNcAEsUl01Kak5mWWqRvl0CV8bD Lq2CtbwVv1+vYG1g/MTVxcjJISFgItG/fwcjhC0mceHeerYuRi4OIYFljBIz3y5igSm6dXMf M0RiEaPEjlur2CGcX4wSr97sYAKpYhNQk2ieeZkNxBYRkJL4uGM7WBGzwHRGiaUX/rCCJIQF AiQmdZxnBrFZBFQlTp17B9bMK2Ajce9oGyuELSjxY/I9sNXMAgYS72f1sULY8hKb17wF6uUA Okld4tFfXYhdehK7H/+EKheR2PfiHdQ729glWo9yQKwSkPg2+RALRKusxKYDzBAlkhIHV9xg mcAoNgvJ4llIFs9CsngWkg0LGFlWMYqmFiQXFCelF5noFSfmFpfmpesl5+duYoTE2oQdjPcO WB9iTAZaP5FZSjQ5HxireSXxhsZmRhamJqbGRuaWZqQJK4nzqrdYBwoJpCeWpGanphakFsUX leakFh9iZOLglGpgXD7nRVnkVaNdzMUvw1h+r8w59kj8peTcez/OtW5zmjnRacLE81z27Y06 IbfD78+6/PpnRNfUI6sY73xaHtpU9SlI8eirqW6a5SrZM9xXFYbNavgj2m/Rr86Zzy/Mc3FG bP+rS1u09q/dPeET635H37LbM1OaT/eslOkLU+J6nPtXz+Kldsq3x0osxRmJhlrMRcWJAE88 RPvLAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprGKsWRmVeSWpSXmKPExsVy+t9jAV0ma+Ygg29/5C1eHtK0mHO+hcWi d8FVNotjC8Qs/r/eyujA6rFl5U0mj74tqxg9nv7Yy+zxeZNcAEtUA6NNRmpiSmqRQmpecn5K Zl66rZJ3cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+ArltmDtBaJYWyxJxSoFBAYnGxkr4dpgmh IW66FjCNEbq+IUFwPUYGaCBhHWPGwy6tgrW8Fb9fr2BtYPzE1cXIySEhYCJx6+Y+ZghbTOLC vfVsXYxcHEICixgldtxaxQ7h/GKUePVmBxNIFZuAmkTzzMtsILaIgJTExx3bwYqYBaYzSiy9 8IcVJCEsECAxqeM82FgWAVWJU+fegTXzCthI3DvaxgphC0r8mHyPBcRmFjCQeD+rjxXClpfY vOYtUC8H0EnqEo/+6kLs0pPY/fgnVLmIxL4X7xgnMArMQjJpFpJJs5BMmoWkZQEjyypG0dSC 5ILipPRcI73ixNzi0rx0veT83E2M4Fh+Jr2DcVWDxSFGAQ5GJR7ejgCmICHWxLLiytxDjBIc zEoivBeLgUK8KYmVValF+fFFpTmpxYcYk4EencgsJZqcD0wzeSXxhsYmZkaWRmYWRibm5qQJ K4nzHmy1DhQSSE8sSc1OTS1ILYLZwsTBKdXAGCquVBF4zXrKzXmHRe3cFlx658JxK0j4htTO YyXCCzamdmU/9TBj7X5y5pXmYVFrh6OHpSNlLfzixPifKZ4T2jXltDAn7+NYu/crjRqX1k8T +87W6fdgopfowbUPvnxwEXy468UmB2t2M4kZwiW6SpJ/lp+6Pn/NKa/a+Sb2XuunK+zTU3e4 q8RSnJFoqMVcVJwIAMK330EpAwAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch fixed the condition of extend_desc for jumbo frame. There is no check routine for extend_desc in the stmmac_jumbo_frm function. Even though extend_desc is set if dma_tx is used instead of dma_etx. It causes kernel panic. Signed-off-by: Byungho An --- drivers/net/ethernet/stmicro/stmmac/ring_mode.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/ring_mode.c b/drivers/net/ethernet/stmicro/stmmac/ring_mode.c index c9d942a..1ef9d8a 100644 --- a/drivers/net/ethernet/stmicro/stmmac/ring_mode.c +++ b/drivers/net/ethernet/stmicro/stmmac/ring_mode.c @@ -33,10 +33,15 @@ static unsigned int stmmac_jumbo_frm(void *p, struct sk_buff *skb, int csum) struct stmmac_priv *priv = (struct stmmac_priv *)p; unsigned int txsize = priv->dma_tx_size; unsigned int entry = priv->cur_tx % txsize; - struct dma_desc *desc = priv->dma_tx + entry; + struct dma_desc *desc; unsigned int nopaged_len = skb_headlen(skb); unsigned int bmax, len; + if (priv->extend_desc) + desc = (struct dma_desc *)(priv->dma_etx + entry); + else + desc = priv->dma_tx + entry; + if (priv->plat->enh_desc) bmax = BUF_SIZE_8KiB; else @@ -54,7 +59,11 @@ static unsigned int stmmac_jumbo_frm(void *p, struct sk_buff *skb, int csum) STMMAC_RING_MODE); wmb(); entry = (++priv->cur_tx) % txsize; - desc = priv->dma_tx + entry; + + if (priv->extend_desc) + desc = (struct dma_desc *)(priv->dma_etx + entry); + else + desc = priv->dma_tx + entry; desc->des2 = dma_map_single(priv->device, skb->data + bmax, len, DMA_TO_DEVICE);