Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758235Ab2B2RUh (ORCPT ); Wed, 29 Feb 2012 12:20:37 -0500 Received: from mms3.broadcom.com ([216.31.210.19]:1669 "EHLO MMS3.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758184Ab2B2RUf (ORCPT ); Wed, 29 Feb 2012 12:20:35 -0500 X-Server-Uuid: B55A25B1-5D7D-41F8-BC53-C57E7AD3C201 Message-ID: <1330536026.25281.6.camel@lb-tlvb-dmitry> Subject: Re: [PATCH 2/8] bnx2x: adopt bnx2x_validate_addr() to .ndo_validate_addr changes From: "Dmitry Kravkov" To: "Danny Kukawka" cc: "Eilon Greenstein" , netdev@vger.kernel.org, "David S. Miller" , linux-kernel@vger.kernel.org Date: Wed, 29 Feb 2012 19:20:26 +0200 In-Reply-To: <201202291808.30599.danny.kukawka@bisect.de> References: <1330530176-24952-1-git-send-email-danny.kukawka@bisect.de> <1330530176-24952-3-git-send-email-danny.kukawka@bisect.de> <1330532535.25281.2.camel@lb-tlvb-dmitry> <201202291808.30599.danny.kukawka@bisect.de> X-Mailer: Evolution 3.2.2- MIME-Version: 1.0 X-WSS-ID: 6350BFF850428934538-01-01 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2343 Lines: 73 On Wed, 2012-02-29 at 18:08 +0100, Danny Kukawka wrote: > On Mittwoch, 29. Februar 2012, Dmitry Kravkov wrote: > > On Wed, 2012-02-29 at 16:42 +0100, Danny Kukawka wrote: > > > Adopted bnx2x_validate_addr() to changes in .ndo_validate_addr, > > > handle second parameter to be validated. > > > > > > Signed-off-by: Danny Kukawka > > > --- > > > drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 13 ++++++++++--- > > > 1 files changed, 10 insertions(+), 3 deletions(-) > > > > > > diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c > > > b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index b4afef6..d25ef1e > > > 100644 > > > --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c > > > +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c > > > @@ -10532,12 +10532,19 @@ static void poll_bnx2x(struct net_device *dev) > > > } > > > #endif > > > > > > -static int bnx2x_validate_addr(struct net_device *dev) > > > +static int bnx2x_validate_addr(struct net_device *dev, void *addr) > > > { > > > struct bnx2x *bp = netdev_priv(dev); > > > + struct sockaddr *saddr; > > > > > > - if (!bnx2x_is_valid_ether_addr(bp, dev->dev_addr)) > > > - return -EADDRNOTAVAIL; > > > + if (addr) { > > > + saddr = addr; > > > + if (!bnx2x_is_valid_ether_addr(bp, saddr->sa_data)) > > > + return -EADDRNOTAVAIL; > > > + } else { > > > + if (!bnx2x_is_valid_ether_addr(bp, dev->dev_addr)) > > > + return -EADDRNOTAVAIL; > > > + } > > > return 0; > > > } > > > > Isn't it preferred to calculate the correct address for test and then > > call bnx2x_is_valid_ether_addr() at the end? > > Do you mean something like this: BUT: > int eth_validate_addr(struct net_device *dev, void *addr) > { You still need to extract bp here: struct bnx2x *bp = netdev_priv(dev); > u8 *vaddr; > > if (addr) > vaddr = ((struct sockaddr *) addr)->sa_data; > else > vaddr = dev->dev_addr; > > if (!is_valid_ether_addr(vaddr)) and call internal function here: if (!bnx2x_is_valid_ether_addr(bp, vaddr)) > return -EADDRNOTAVAIL; > > return 0; > } > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/