From 1f6e89a89f6b9c2cea6a3645a2325948900e6f95 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Mon, 28 Jul 2008 13:23:07 +0000 Subject: [PATCH] Display real ethernet address. --- TODO | 1 - master/cdev.c | 15 +++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/TODO b/TODO index 95fb7ebe..30d59b8e 100644 --- a/TODO +++ b/TODO @@ -14,7 +14,6 @@ Version 1.4.0: * Get original driver for r8169. * Race in jiffies frame timeout? * ethercat tool: - - Display attached device's MAC address instead of ff's. - Data type abbreviations. - Add a -n (numeric) switch. - Check for options, remove global variables. diff --git a/master/cdev.c b/master/cdev.c index 6a4a5bba..bbceede9 100644 --- a/master/cdev.c +++ b/master/cdev.c @@ -135,11 +135,22 @@ int ec_cdev_ioctl_master( up(&master->master_sem); down(&master->device_sem); - memcpy(data.devices[0].address, master->main_mac, ETH_ALEN); + if (master->main_device.dev) { + memcpy(data.devices[0].address, + master->main_device.dev->dev_addr, ETH_ALEN); + } else { + memcpy(data.devices[0].address, master->main_mac, ETH_ALEN); + } data.devices[0].attached = master->main_device.dev ? 1 : 0; data.devices[0].tx_count = master->main_device.tx_count; data.devices[0].rx_count = master->main_device.rx_count; - memcpy(data.devices[1].address, master->backup_mac, ETH_ALEN); + + if (master->backup_device.dev) { + memcpy(data.devices[1].address, + master->backup_device.dev->dev_addr, ETH_ALEN); + } else { + memcpy(data.devices[1].address, master->backup_mac, ETH_ALEN); + } data.devices[1].attached = master->backup_device.dev ? 1 : 0; data.devices[1].tx_count = master->backup_device.tx_count; data.devices[1].rx_count = master->backup_device.rx_count;