de2104x: remove BUG_ON() when changing media type
authorOndrej Zary <linux@rainbow-software.org>
Mon, 25 Feb 2008 17:45:46 +0000 (18:45 +0100)
committerJeff Garzik <jeff@garzik.org>
Wed, 5 Mar 2008 11:27:50 +0000 (06:27 -0500)
When the chip dies (probably because of a bug somewhere in the driver),
de_stop_rxtx() fails and changing the media type crashes the whole machine.
Replace BUG_ON() in de_set_media() with a warning.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/tulip/de2104x.c

index 77d9dd7ea34f647f77e04d1c30bc20257146de55..567c62757e9d154ec39b5083d1f0f4b28bcf18ad 100644 (file)
@@ -910,7 +910,8 @@ static void de_set_media (struct de_private *de)
        unsigned media = de->media_type;
        u32 macmode = dr32(MacMode);
 
-       BUG_ON(de_is_running(de));
+       if (de_is_running(de))
+               printk(KERN_WARNING "%s: chip is running while changing media!\n", de->dev->name);
 
        if (de->de21040)
                dw32(CSR11, FULL_DUPLEX_MAGIC);