All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-m68k@vger.kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Subject: [patch 10/15] m68k: Some network drivers do not check the platform
Date: Thu, 24 Apr 2008 20:29:50 +0200	[thread overview]
Message-ID: <20080424183242.943446357@mail.of.borg> (raw)
In-Reply-To: 20080424182940.424312704@mail.of.borg

[-- Attachment #1: m68k-net-drivers-break-multiplatform.diff --]
[-- Type: text/plain, Size: 2756 bytes --]

From: Geert Uytterhoeven <geert@linux-m68k.org>

Some network drivers do not check whether they're actually running on the
correct platform, causing multi-platform kernels to crash if they are not.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/net/82596.c     |    7 +++++++
 drivers/net/apne.c      |    3 +++
 drivers/net/mac89x0.c   |    3 +++
 drivers/net/macmace.c   |    3 +++
 drivers/net/sun3lance.c |    3 +++
 5 files changed, 19 insertions(+)

--- a/drivers/net/82596.c
+++ b/drivers/net/82596.c
@@ -1162,6 +1162,7 @@ struct net_device * __init i82596_probe(
 		memcpy(eth_addr, (void *) 0xfffc1f2c, 6);	/* YUCK! Get addr from NOVRAM */
 		dev->base_addr = MVME_I596_BASE;
 		dev->irq = (unsigned) MVME16x_IRQ_I596;
+		goto found;
 	}
 #endif
 #ifdef ENABLE_BVME6000_NET
@@ -1176,6 +1177,7 @@ struct net_device * __init i82596_probe(
 		rtc[3] = msr;
 		dev->base_addr = BVME_I596_BASE;
 		dev->irq = (unsigned) BVME_IRQ_I596;
+		goto found;
 	}
 #endif
 #ifdef ENABLE_APRICOT
@@ -1212,8 +1214,13 @@ struct net_device * __init i82596_probe(
 		}
 
 		dev->irq = 10;
+		goto found;
 	}
 #endif
+	err = -ENODEV;
+	goto out;
+
+found:
 	dev->mem_start = (int)__get_free_pages(GFP_ATOMIC, 0);
 	if (!dev->mem_start) {
 		err = -ENOMEM;
--- a/drivers/net/apne.c
+++ b/drivers/net/apne.c
@@ -127,6 +127,9 @@ struct net_device * __init apne_probe(in
 #endif
 	int err;
 
+	if (!MACH_IS_AMIGA)
+		return ERR_PTR(-ENODEV);
+
 	if (apne_owned)
 		return ERR_PTR(-ENODEV);
 
--- a/drivers/net/mac89x0.c
+++ b/drivers/net/mac89x0.c
@@ -183,6 +183,9 @@ struct net_device * __init mac89x0_probe
 	int err = -ENODEV;
 	DECLARE_MAC_BUF(mac);
 
+	if (!MACH_IS_MAC)
+		return ERR_PTR(-ENODEV);
+
 	dev = alloc_etherdev(sizeof(struct net_local));
 	if (!dev)
 		return ERR_PTR(-ENOMEM);
--- a/drivers/net/macmace.c
+++ b/drivers/net/macmace.c
@@ -781,6 +781,9 @@ static int __init mac_mace_init_module(v
 {
 	int err;
 
+	if (!MACH_IS_MAC)
+		return -ENODEV;
+
 	if ((err = platform_driver_register(&mac_mace_driver))) {
 		printk(KERN_ERR "Driver registration failed\n");
 		return err;
--- a/drivers/net/sun3lance.c
+++ b/drivers/net/sun3lance.c
@@ -250,6 +250,9 @@ struct net_device * __init sun3lance_pro
 	static int found;
 	int err = -ENODEV;
 
+	if (!MACH_IS_SUN3 && !MACH_IS_SUN3X)
+		return ERR_PTR(-ENODEV);
+
 	/* check that this machine has an onboard lance */
 	switch(idprom->id_machtype) {
 	case SM_SUN3|SM_3_50:

-- 
Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


  parent reply	other threads:[~2008-04-24 18:39 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-24 18:29 [patch 00/15] m68k patches for 2.6.26 Geert Uytterhoeven
2008-04-24 18:29 ` [patch 01/15] m68k: Convert access_ok() to an inline function Geert Uytterhoeven
2008-04-24 18:29 ` [patch 02/15] m68k: Kill CONFIG_FB_DAFB Geert Uytterhoeven
2008-04-24 18:29   ` Geert Uytterhoeven
2008-04-24 18:29 ` [patch 03/15] m68k: FB_HP300 depends on DIO and doesnt need FB_CFB_FILLRECT Geert Uytterhoeven
2008-04-24 18:29   ` Geert Uytterhoeven
2008-04-24 18:29 ` [patch 04/15] m68k: Kill CONFIG_WHIPPET_SERIAL Geert Uytterhoeven
2008-04-24 18:29 ` [patch 05/15] m68k vme_scc: avoid global namespace pollution Geert Uytterhoeven
2008-04-24 18:29 ` [patch 06/15] m68k: Make gcc aware that BUG() does not return Geert Uytterhoeven
2008-04-24 18:29 ` [patch 07/15] m68k: Correct jump if not running on HP300 Geert Uytterhoeven
2008-04-24 18:29 ` [patch 08/15] m68k: macide doesnt check for Mac Geert Uytterhoeven
2008-04-24 18:29 ` [patch 09/15] m68k: dnfb doesnt check for Apollo Geert Uytterhoeven
2008-04-24 18:29   ` Geert Uytterhoeven
2008-04-24 18:29 ` Geert Uytterhoeven [this message]
2008-04-24 18:42   ` [patch 10/15] m68k: Some network drivers do not check the platform Christoph Hellwig
2008-04-24 18:51     ` Geert Uytterhoeven
2008-04-24 17:54       ` Brad Boyer
2008-04-24 18:53       ` Christoph Hellwig
2008-04-24 18:29 ` [patch 11/15] m68k: Some input " Geert Uytterhoeven
2008-04-24 18:29   ` Geert Uytterhoeven
2008-04-24 18:29 ` [patch 12/15] m68k: Return -ENODEV if no device is found Geert Uytterhoeven
2008-04-24 18:29 ` [patch 13/15] m68k: Q40/Q60 floppy support is broken Geert Uytterhoeven
2008-04-24 18:29 ` [patch 14/15] m68k: Update defconfigs Geert Uytterhoeven
2008-04-24 21:11   ` Joel Becker
2008-04-25  7:29     ` Geert Uytterhoeven
2008-04-24 18:29 ` [patch 15/15] m68k: Add multi_defconfig Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080424183242.943446357@mail.of.borg \
    --to=geert@linux-m68k.org \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.