Ejemplo n.º 1
0
static void
netxen_nic_diag_test(struct net_device *dev, struct ethtool_test *eth_test,
		     u64 * data)
{
	if (eth_test->flags == ETH_TEST_FL_OFFLINE) {	/* offline tests */
		/* link test */
		if (!(data[4] = (u64) netxen_nic_get_link(dev)))
			eth_test->flags |= ETH_TEST_FL_FAILED;

		if (netif_running(dev))
			dev->stop(dev);

		/* register tests */
		if (!(data[0] = netxen_nic_reg_test(dev)))
			eth_test->flags |= ETH_TEST_FL_FAILED;
		/* other tests pass as of now */
		data[1] = data[2] = data[3] = 1;
		if (netif_running(dev))
			dev->open(dev);
	} else {		/* online tests */
		/* link test */
		if (!(data[4] = (u64) netxen_nic_get_link(dev)))
			eth_test->flags |= ETH_TEST_FL_FAILED;

		/* other tests pass by default */
		data[0] = data[1] = data[2] = data[3] = 1;
	}
}
Ejemplo n.º 2
0
static void
netxen_nic_diag_test(struct net_device *dev, struct ethtool_test *eth_test,
		     u64 * data)
{
	memset(data, 0, sizeof(uint64_t) * NETXEN_NIC_TEST_LEN);
	if ((data[0] = netxen_nic_reg_test(dev)))
		eth_test->flags |= ETH_TEST_FL_FAILED;
	/* link test */
	if ((data[1] = (u64) netxen_nic_test_link(dev)))
		eth_test->flags |= ETH_TEST_FL_FAILED;
}