From patchwork Mon Jan 23 18:32:20 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Torne (Richard Coles)" X-Patchwork-Id: 137452 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 1E36B1007D3 for ; Tue, 24 Jan 2012 05:32:47 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753652Ab2AWScc (ORCPT ); Mon, 23 Jan 2012 13:32:32 -0500 Received: from mail-ey0-f202.google.com ([209.85.215.202]:58905 "EHLO mail-ey0-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753152Ab2AWSca (ORCPT ); Mon, 23 Jan 2012 13:32:30 -0500 Received: by eaaf1 with SMTP id f1so119925eaa.1 for ; Mon, 23 Jan 2012 10:32:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; bh=KGM0EtQSDP+Vr9MqYitb8/fI/67fL10m9lA9hwp5T9s=; b=V4vXopAjCVG+6ZZIoUG2AEd/82QMG6wkUJtYKoFRMV8couS5Qz9nyw5xxwWcOeMxIn d41ECyT5M8lI3x0igIq1H9ULz0WvlkrdUclnqC6vDYh7xgQr7YkgASFM06YQ9dj849o5 ynkE8Wmf0u+y+BsI4+hI4qp98hOGR1WJ5tWEM= Received: by 10.213.7.135 with SMTP id d7mr702588ebd.1.1327343549432; Mon, 23 Jan 2012 10:32:29 -0800 (PST) Received: by 10.213.7.135 with SMTP id d7mr702574ebd.1.1327343548974; Mon, 23 Jan 2012 10:32:28 -0800 (PST) Received: from hpza9.eem.corp.google.com ([74.125.121.33]) by gmr-mx.google.com with ESMTPS id g43si9584965eea.0.2012.01.23.10.32.28 (version=TLSv1/SSLv3 cipher=AES128-SHA); Mon, 23 Jan 2012 10:32:28 -0800 (PST) Received: from fenrir.lon.corp.google.com (fenrir.lon.corp.google.com [172.16.13.82]) by hpza9.eem.corp.google.com (Postfix) with ESMTP id E4F705C0063; Mon, 23 Jan 2012 10:32:28 -0800 (PST) Received: by fenrir.lon.corp.google.com (Postfix, from userid 126732) id 62269E5635; Mon, 23 Jan 2012 18:32:28 +0000 (GMT) From: "Torne (Richard Coles)" To: nic_swsd@realtek.com, romieu@fr.zoreil.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "Torne (Richard Coles)" Subject: [PATCH] r8169: Randomise invalid MAC addresses Date: Mon, 23 Jan 2012 18:32:20 +0000 Message-Id: <1327343540-30348-1-git-send-email-torne@google.com> X-Mailer: git-send-email 1.7.7.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: "Torne (Richard Coles)" If the default MAC address stored in the card is invalid, replace it with a random address and complain about it. Signed-off-by: Torne (Richard Coles) --- drivers/net/ethernet/realtek/r8169.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 7a0c800..ec5ebbb 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -4103,6 +4103,14 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) /* Get MAC address */ for (i = 0; i < ETH_ALEN; i++) dev->dev_addr[i] = RTL_R8(MAC0 + i); + + if (!is_valid_ether_addr(dev->dev_addr)) { + /* Report it and use a random ethernet address instead */ + netdev_err(dev, "Invalid MAC address: %pM\n", dev->dev_addr); + random_ether_addr(dev->dev_addr); + netdev_info(dev, "Using random MAC address: %pM\n", + dev->dev_addr); + } memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops);