*/
static int fcoe_sw_lport_config(struct fc_lport *lp)
{
- int i = 0;
-
lp->link_up = 0;
lp->qfull = 0;
lp->max_retry_count = 3;
lp->service_params = (FCP_SPPF_INIT_FCN | FCP_SPPF_RD_XRDY_DIS |
FCP_SPPF_RETRY | FCP_SPPF_CONF_COMPL);
- /*
- * allocate per cpu stats block
- */
- for_each_online_cpu(i)
- lp->dev_stats[i] = kzalloc(sizeof(struct fcoe_dev_stats),
- GFP_KERNEL);
+ fc_lport_init_stats(lp);
/* lport fc_lport related configuration */
fc_lport_config(lp);
*/
static int fcoe_sw_destroy(struct net_device *netdev)
{
- int cpu;
struct fc_lport *lp = NULL;
struct fcoe_softc *fc;
u8 flogi_maddr[ETH_ALEN];
fcoe_clean_pending_queue(lp);
/* Free memory used by statistical counters */
- for_each_online_cpu(cpu)
- kfree(lp->dev_stats[cpu]);
+ fc_lport_free_stats(lp);
/* Release the net_device and Scsi_Host */
dev_put(fc->real_dev);