Message ID | 1312943399-14435-1-git-send-email-wangshaoyan.pt@taobao.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
On Wed, 2011-08-10 at 10:29 +0800, stufever@gmail.com wrote: > Signed-off-by: Wang Shaoyan <wangshaoyan.pt@taobao.com> [] > diff --git a/drivers/net/gianfar_ethtool.c b/drivers/net/gianfar_ethtool.c [] > @@ -686,10 +686,21 @@ static int gfar_ethflow_to_filer_table(struct gfar_private *priv, u64 ethflow, u [] > + if (!local_rqfpr || !local_rqfcr) { > + pr_err("Out of memory\n"); > + ret = 0; > + got err; "got err" is true. Please compile test your patches before sending them. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Yes, I want to test, but I can't open CONFIG_GIANFAR, because I can't find FSL_SOC, am i miss something? > "got err" is true. > > Please compile test your patches before sending them. > > >
On Wed, 2011-08-10 at 11:50 +0800, Wang Shaoyan wrote: > Yes, I want to test, but I can't open CONFIG_GIANFAR, because I can't > find FSL_SOC, am i miss something? A cross compiler for powerpc? You can get one from here: ftp://ftp.kernel.org/pub/tools/crosstool/files/bin/i686/ Pick an appropriate gcc for you. Then read the process docs in Documentation/development-process or google linux cross compiling. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Joe Perches <joe@perches.com> Date: Tue, 09 Aug 2011 21:07:17 -0700 > On Wed, 2011-08-10 at 11:50 +0800, Wang Shaoyan wrote: >> Yes, I want to test, but I can't open CONFIG_GIANFAR, because I can't >> find FSL_SOC, am i miss something? > > A cross compiler for powerpc? This is really misleading, because in the commit message the stack usage message is reported but the patch submitted obviously didn't generate that message since they can't even build test this change. I'm not going to apply this until someone both build and functionally tests this patch. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/gianfar_ethtool.c b/drivers/net/gianfar_ethtool.c index 6e35069..a4777d2 100644 --- a/drivers/net/gianfar_ethtool.c +++ b/drivers/net/gianfar_ethtool.c @@ -686,10 +686,21 @@ static int gfar_ethflow_to_filer_table(struct gfar_private *priv, u64 ethflow, u { unsigned int last_rule_idx = priv->cur_filer_idx; unsigned int cmp_rqfpr; - unsigned int local_rqfpr[MAX_FILER_IDX + 1]; - unsigned int local_rqfcr[MAX_FILER_IDX + 1]; + unsigned int *local_rqfpr; + unsigned int *local_rqfcr; int i = 0x0, k = 0x0; int j = MAX_FILER_IDX, l = 0x0; + int ret = 1; + + local_rqfpr = kmalloc(sizeof(unsigned int) * (MAX_FILER_IDX + 1), + GFP_KERNEL); + local_rqfcr = kmalloc(sizeof(unsigned int) * (MAX_FILER_IDX + 1), + GFP_KERNEL); + if (!local_rqfpr || !local_rqfcr) { + pr_err("Out of memory\n"); + ret = 0; + got err; + } switch (class) { case TCP_V4_FLOW: @@ -706,7 +717,8 @@ static int gfar_ethflow_to_filer_table(struct gfar_private *priv, u64 ethflow, u break; default: pr_err("Right now this class is not supported\n"); - return 0; + ret = 0; + goto err; } for (i = 0; i < MAX_FILER_IDX + 1; i++) { @@ -721,7 +733,8 @@ static int gfar_ethflow_to_filer_table(struct gfar_private *priv, u64 ethflow, u if (i == MAX_FILER_IDX + 1) { pr_err("No parse rule found, can't create hash rules\n"); - return 0; + ret = 0; + goto err; } /* If a match was found, then it begins the starting of a cluster rule @@ -765,7 +778,10 @@ static int gfar_ethflow_to_filer_table(struct gfar_private *priv, u64 ethflow, u priv->cur_filer_idx = priv->cur_filer_idx - 1; } - return 1; +err: + kfree(local_rqfcr); + kfree(local_rqfpr); + return ret; } static int gfar_set_hash_opts(struct gfar_private *priv, struct ethtool_rxnfc *cmd)