[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110616084238.7830cd92@nehalam.ftrdhcpuser.net>
Date: Thu, 16 Jun 2011 08:42:38 -0700
From: Stephen Hemminger <shemminger@...tta.com>
To: Antoine Reversat <a.reversat@...il.com>
Cc: Stephen Hemminger <stephen.hemminger@...tta.com>,
netdev@...r.kernel.org
Subject: Re: [PATCH 001/001] forcedeth: Don't enable hardware vlan support
on hardware that doesn't support it
On Wed, 15 Jun 2011 17:08:18 -0400
Antoine Reversat <a.reversat@...il.com> wrote:
> On Wed, Jun 15, 2011 at 4:53 PM, Stephen Hemminger
> <stephen.hemminger@...tta.com> wrote:
> >
> > This shouldn't be necessary. rx_register should not be called
> > unless NETIF_F_HW_VLAN_RX is set; and device should not be setting
> > NETIF_F_HW_VLAN_RX unless DEV_HAS_VLAN is set.
>
> I can confirm that rx_register gets called on hardware that doesn't
> have vlan support (namely MCP79).
>
> From what I can see in vlan.c (in register_vlan_dev) there is no check
> on the features of the device before calling the register function :
>
> if (ngrp) {
> if (ops->ndo_vlan_rx_register)
> ops->ndo_vlan_rx_register(real_dev, ngrp);
> rcu_assign_pointer(real_dev->vlgrp, ngrp);
> }
>
> If the function exists, it's called. Should I send a patch to call the
> function only if the hardware supports it ?
>
> >
> > The real problem is vlan_dev.c, and applies to all devices.
That is was suggesting because other drivers may have the same issue
where they need to define rx_register for some hardware and control
usage of vlan by the feature bits.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists