Message ID | 20090126205043.GA15581@oksana.dev.rtsoft.ru (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Kumar Gala |
Headers | show |
On Jan 26, 2009, at 2:50 PM, Anton Vorontsov wrote: > commit 77ecaf2d5a8bfd548eed3f05c1c2e6573d5de4ba ("gianfar: Fix VLAN > HW feature related frame/buffer size calculation") wrongly removed > priv->vlgrp assignment, and now priv->vlgrp is always NULL. > > This patch fixes the issue, plus fixes following sparse warning > introduced by the same commit: > gianfar.c:1406:13: warning: context imbalance in > 'gfar_vlan_rx_register' - wrong count at exit > > gfar_vlan_rx_register() checks for "if (old_grp == grp)" and tries > to return w/o dropping the lock. > > According to net/8021q/vlan.c VLAN core issues rx_register() callback: > 1. In register_vlan_dev() only on a newly created group; > 2. In unregister_vlan_dev() only if the group becomes empty. > > Thus the check in the gianfar driver isn't needed. > > Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Andy Fleming <afleming@freescale.com>
From: Andy Fleming <afleming@freescale.com> Date: Mon, 26 Jan 2009 15:07:37 -0600 > > On Jan 26, 2009, at 2:50 PM, Anton Vorontsov wrote: > > > commit 77ecaf2d5a8bfd548eed3f05c1c2e6573d5de4ba ("gianfar: Fix VLAN > > HW feature related frame/buffer size calculation") wrongly removed > > priv->vlgrp assignment, and now priv->vlgrp is always NULL. ... > > Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> > > Acked-by: Andy Fleming <afleming@freescale.com> Applied, thanks guys.
> -----Original Message----- > From: Fleming Andy-AFLEMING > Sent: Monday, January 26, 2009 3:08 PM > To: Anton Vorontsov > Cc: Jeff Garzik; David Miller; Haruki Dai-R35557; netdev@vger.kernel.org; > linuxppc-dev@ozlabs.org > Subject: Re: [PATCH] gianfar: Revive VLAN support > > > On Jan 26, 2009, at 2:50 PM, Anton Vorontsov wrote: > > > commit 77ecaf2d5a8bfd548eed3f05c1c2e6573d5de4ba ("gianfar: Fix VLAN > > HW feature related frame/buffer size calculation") wrongly removed > > priv->vlgrp assignment, and now priv->vlgrp is always NULL. > > > > This patch fixes the issue, plus fixes following sparse warning > > introduced by the same commit: > > gianfar.c:1406:13: warning: context imbalance in > > 'gfar_vlan_rx_register' - wrong count at exit > > > > gfar_vlan_rx_register() checks for "if (old_grp == grp)" and tries > > to return w/o dropping the lock. > > > > According to net/8021q/vlan.c VLAN core issues rx_register() callback: > > 1. In register_vlan_dev() only on a newly created group; > > 2. In unregister_vlan_dev() only if the group becomes empty. > > > > Thus the check in the gianfar driver isn't needed. > > > > Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> > > Acked-by: Andy Fleming <afleming@freescale.com> Acked-by: Dai Haruki <dai.haruki@freescale.com>
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index 228b88f..6d406f9 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -1408,15 +1408,11 @@ static void gfar_vlan_rx_register(struct net_device *dev, { struct gfar_private *priv = netdev_priv(dev); unsigned long flags; - struct vlan_group *old_grp; u32 tempval; spin_lock_irqsave(&priv->rxlock, flags); - old_grp = priv->vlgrp; - - if (old_grp == grp) - return; + priv->vlgrp = grp; if (grp) { /* Enable VLAN tag insertion */
commit 77ecaf2d5a8bfd548eed3f05c1c2e6573d5de4ba ("gianfar: Fix VLAN HW feature related frame/buffer size calculation") wrongly removed priv->vlgrp assignment, and now priv->vlgrp is always NULL. This patch fixes the issue, plus fixes following sparse warning introduced by the same commit: gianfar.c:1406:13: warning: context imbalance in 'gfar_vlan_rx_register' - wrong count at exit gfar_vlan_rx_register() checks for "if (old_grp == grp)" and tries to return w/o dropping the lock. According to net/8021q/vlan.c VLAN core issues rx_register() callback: 1. In register_vlan_dev() only on a newly created group; 2. In unregister_vlan_dev() only if the group becomes empty. Thus the check in the gianfar driver isn't needed. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> --- drivers/net/gianfar.c | 6 +----- 1 files changed, 1 insertions(+), 5 deletions(-)