lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071115150349.51e6d133@freepuppy.rosehill>
Date:	Thu, 15 Nov 2007 15:03:49 -0800
From:	Stephen Hemminger <shemminger@...ux-foundation.org>
To:	"Eliezer Tamir" <eliezert@...adcom.com>
Cc:	netdev@...r.kernel.org, davem@...emloft.net, jeff@...zik.org,
	"masbock" <masbock@...ibm.com>,
	"Eilon Greenstein" <eilong@...adcom.com>,
	"Michael Chan" <mchan@...adcom.com>,
	"Ram Pai" <linuxram@...ibm.com>,
	"Philip Oswald" <poswald@...ell.com>
Subject: Re: [PATCH 2.6.25] add bnx2x driver for BCM57710 - bnx2x.c

1. Please use dev_err() to help user figure out which board has problem:
Not:
		printk(KERN_ERR PFX "Cannot register net device\n");
Instead:
		dev_err(&pdev->dev, "cannot register net device\n");


2. Use new MAC_ADDR() rather than
	printk("node addr ");
	for (i = 0; i < 6; i++)
		printk("%2.2x", dev->dev_addr[i]);
	printk("\n");

3. The reset task logic needs more cleanup/protection.
Don't you want to cancel it on remove, and bp->in_reset_task is
not sufficient protection on SMP??
Could you not flush_scheduled_work(), instead use cancel_delayed_work_sync()?

4. Rather than hard coding mac address, could you use random_ether_address()
instead?

5. Current style police will complain about single line {}
	if (bp->phy_flags & PHY_XGXS_FLAG) {
		cmd->port = PORT_FIBRE;
	} else {
		cmd->port = PORT_TP;
	}
instead:
	if (bp->phy_flags & PHY_XGXS_FLAG)
		cmd->port = PORT_FIBRE;
	else
		cmd->port = PORT_TP;

6. The driver is using per-cpu tx queue, maybe it wants to have multi
queue instead?

7. bnx2x_get_stats() is uneeded. If you leave dev->get_stats() set to NULL
then register_netdev will handle it.


8. Spelling fixes:

>  *
>  * Written by: Eliezer Tamir <eliezert@...adcom.com>
>  * Based on code from Michael Chan's bnx2 driver
>  * UDP CSUM errata workaround by Arik Gendelman
>  * Slowpath rework by Vladislav Zolotarov
>  * Statistics and Link managment by Yitchak Gertner

spelling fix: s/managment/management/


...
>MODULE_PARM_DESC(nomcp, "ignore managment CPU (Implies onefunc)");
management

>MODULE_PARM_DESC(debug, "defualt debug msglevel");
default

> /* indexed by board_t, above */
> static const struct {
> 	char *name;
> } board_info[] __devinitdata = {
> 	{ "Broadcom NetXtreme II BCM57710 XGb" }
> };

why not just 

static const char *board_info[] = {
	"NetXtreme II BCM57710 XGb",
};

> static const struct pci_device_id bnx2x_pci_tbl[] = {
> 	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_57710,
> 		PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM57710 },
> 	{ 0 }
> };
> 

> 	/* reolve from gp_status in case of AN complete and not sgmii */
resolve??


> 	DP(NETIF_MSG_LINK, "enableing BigMAC\n");
enabling


-
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ