sis900: generate fake MAC address if the hardware doesn't have one

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Thursday, January 15, 2009 - 7:04 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1d5e6...
Commit:     d1d5e6b1cead3df6f722d1d458874bd7f93da8d6
Parent:     d7e094d4212bc72f5575e54edfef1349e0c4cdb5
Author:     Daniele Venzano <venza@brownhat.org>
AuthorDate: Wed Jan 14 20:46:24 2009 -0800
Committer:  David S. Miller <davem@davemloft.net>
CommitDate: Wed Jan 14 20:46:24 2009 -0800

    sis900: generate fake MAC address if the hardware doesn't have one
    
    The attached patch modifies the sis900 driver when the MAC address
    read from the hardware is invalid. As suggested, the patch now
    generates a random address so that the user can go on and use
    the hardware. In any case a message is also shown to warn on the
    unexpected condition.
    This seems to happen with newer HW implementation of the sis900
    chipset, since this never came up before.
    
    Patch is against vanilla 2.6.28 (but the driver doesn't change so often,
    so it will probably apply to older/newer versions too).
    
    See bugzilla ID 10201 and 11649 and ignore the previous patch.
    
    Signed-off-by: Daniele Venzano <venza@brownhat.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/net/sis900.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c
index 6cbefca..be4465b 100644
--- a/drivers/net/sis900.c
+++ b/drivers/net/sis900.c
@@ -509,10 +509,10 @@ static int __devinit sis900_probe(struct pci_dev *pci_dev,
 	else
 		ret = sis900_get_mac_addr(pci_dev, net_dev);
 
-	if (ret == 0) {
-		printk(KERN_WARNING "%s: Cannot read MAC address.\n", dev_name);
-		ret = -ENODEV;
-		goto err_unmap_rx;
+	if (!ret || !is_valid_ether_addr(net_dev->dev_addr)) {
+		random_ether_addr(net_dev->dev_addr);
+		printk(KERN_WARNING "%s: Unreadable or invalid MAC address,"
+				"using random generated one\n", dev_name);
 	}
 
 	/* 630ET : set the mii access mode as software-mode */
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
sis900: generate fake MAC address if the hardware doesn't ..., Linux Kernel Mailing ..., (Thu Jan 15, 7:04 pm)