--- drivers/net/tulip/de2104x.c.orig 2012-01-12 23:12:31.000000000 +0100 +++ drivers/net/tulip/de2104x.c 2012-01-12 23:15:52.000000000 +0100 @@ -358,10 +358,10 @@ }; /* 21040 transceiver register settings: - * TP AUTO(unused), BNC(unused), AUI, TP, TP FD*/ -static u16 t21040_csr13[] = { 0, 0, 0x8F09, 0x8F01, 0x8F01, }; -static u16 t21040_csr14[] = { 0, 0, 0x0705, 0xFFFF, 0xFFFD, }; -static u16 t21040_csr15[] = { 0, 0, 0x0006, 0x0000, 0x0000, }; + * TP AUTO(unused), BNC, AUI, TP, TP FD*/ +static u16 t21040_csr13[] = { 0, 0x8F0D, 0x8F09, 0x8F01, 0x8F01, }; +static u16 t21040_csr14[] = { 0, 0x0705, 0x0705, 0xFFFF, 0xFFFD, }; +static u16 t21040_csr15[] = { 0, 0x0006, 0x0006, 0x0000, 0x0000, }; /* 21041 transceiver register settings: TP AUTO, BNC, AUI, TP, TP FD*/ static u16 t21041_csr13[] = { 0xEF01, 0xEF09, 0xEF09, 0xEF01, 0xEF09, }; @@ -975,7 +975,7 @@ carrier = (status & NetCxnErr) ? 0 : 1; if (carrier) { - if (de->media_type != DE_MEDIA_AUI && (status & LinkFailStatus)) + if (de->media_type != DE_MEDIA_AUI && de->media_type != DE_MEDIA_BNC && (status & LinkFailStatus)) goto no_link_yet; de->media_timer.expires = jiffies + DE_TIMER_LINK; @@ -1536,8 +1536,6 @@ return -EINVAL; if (ecmd->port != PORT_TP && ecmd->port != PORT_AUI && ecmd->port != PORT_BNC) return -EINVAL; - if (de->de21040 && ecmd->port == PORT_BNC) - return -EINVAL; if (ecmd->transceiver != XCVR_INTERNAL) return -EINVAL; if (ecmd->autoneg != AUTONEG_DISABLE && ecmd->autoneg != AUTONEG_ENABLE) @@ -1731,12 +1729,14 @@ de->media_type = DE_MEDIA_TP; de->media_supported |= SUPPORTED_TP | SUPPORTED_10baseT_Full | - SUPPORTED_10baseT_Half | SUPPORTED_AUI; + SUPPORTED_10baseT_Half | SUPPORTED_AUI | + SUPPORTED_BNC; de->media_advertise = de->media_supported; for (i = 0; i < DE_MAX_MEDIA; i++) { switch (i) { case DE_MEDIA_AUI: + case DE_MEDIA_BNC: case DE_MEDIA_TP: case DE_MEDIA_TP_FD: de->media[i].type = i;