/* Periodic accumulation of MAC statistics. This is used only if the MAC does not have any other way to prevent stats counter overflow.  */
static void mac_stats_task(struct work_struct *work)
/* Periodic accumulation of MAC statistics. This is used only if the MAC does not have any other way to prevent stats counter overflow.  */
static void mac_stats_task(struct work_struct *work)
{
	int i;
	struct adapter *adapter =
		container_of(work, struct adapter, stats_update_task.work);
	for_each_port(adapter, i) {
		struct port_info *p = &adapter->port[i];
		if (netif_running(p->dev))
			p->mac->ops->statistics_update(p->mac,
						       MAC_STATS_UPDATE_FAST);
	}
	spin_lock(&adapter->work_lock);
	if (adapter->open_device_map & PORT_MASK)
		schedule_mac_stats_update(adapter,
					  adapter->params.stats_update_period);
	spin_unlock(&adapter->work_lock);
}