diff options
author | Claudiu Manoil <claudiu.manoil@freescale.com> | 2013-03-28 08:47:35 (GMT) |
---|---|---|
committer | Fleming Andrew-AFLEMING <AFLEMING@freescale.com> | 2013-04-03 21:14:55 (GMT) |
commit | 3bb568b890309eac9f36674ad0d956c32292ec00 (patch) | |
tree | e610185304c6661a75a4beb7222ff6237ae7e597 /drivers/net/ethernet/freescale/gianfar_sysfs.c | |
parent | cabbbf0bc6013f3ed6249837187dd5c39d0d0ed9 (diff) | |
download | linux-fsl-qoriq-3bb568b890309eac9f36674ad0d956c32292ec00.tar.xz |
gianfar: Add module param to enable/disable skb recycling
The gfar_skb_recycling_en driver option (boot time or module load time)
when disabled (set to 'N') effectively prevents recycling of skbs.
The option is enabled by default.
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Change-Id: Ib54fbd4bcc0102e10e8fa4e2a658272a6b8192ff
Reviewed-on: http://git.am.freescale.net:8181/871
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/gianfar_sysfs.c')
-rw-r--r-- | drivers/net/ethernet/freescale/gianfar_sysfs.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/gianfar_sysfs.c b/drivers/net/ethernet/freescale/gianfar_sysfs.c index 2ea7008..0c420e8 100644 --- a/drivers/net/ethernet/freescale/gianfar_sysfs.c +++ b/drivers/net/ethernet/freescale/gianfar_sysfs.c @@ -340,8 +340,9 @@ static ssize_t gfar_show_recycle_target(struct device *dev, char *buf) { struct gfar_private *priv = netdev_priv(to_net_dev(dev)); + char *name = gfar_skb_recycling_en ? priv->recycle_ndev->name : ""; - return sprintf(buf, "%s\n", priv->recycle_ndev->name); + return sprintf(buf, "%s\n", name); } static ssize_t gfar_set_recycle_target(struct device *dev, @@ -353,6 +354,9 @@ static ssize_t gfar_set_recycle_target(struct device *dev, struct gfar_private *priv_target; int found = 0; + if (!gfar_skb_recycling_en) + return count; + list_for_each_entry(priv_target, &gfar_recycle_queues, recycle_node) { char *name = priv_target->ndev->name; if ((strlen(name) == count - 1) && |