From e76569eb3676b21930b6b471c1f33ed18a0d5627 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 11 May 2006 15:07:28 -0700 Subject: [PATCH] --- yaml --- r: 26776 b: refs/heads/master c: 843a46f423a508b3a443a08baa903c6da02f3297 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/sky2.c | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e7f1182dc8fe..fe285aa50db3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: de54bc0f00c23a805f4ad2146c5a1fd5e2abe1e9 +refs/heads/master: 843a46f423a508b3a443a08baa903c6da02f3297 diff --git a/trunk/drivers/net/sky2.c b/trunk/drivers/net/sky2.c index ffd267fab21d..62be6d99d05c 100644 --- a/trunk/drivers/net/sky2.c +++ b/trunk/drivers/net/sky2.c @@ -1020,8 +1020,19 @@ static int sky2_up(struct net_device *dev) struct sky2_hw *hw = sky2->hw; unsigned port = sky2->port; u32 ramsize, rxspace, imask; - int err = -ENOMEM; + int err; + struct net_device *otherdev = hw->dev[sky2->port^1]; + /* Block bringing up both ports at the same time on a dual port card. + * There is an unfixed bug where receiver gets confused and picks up + * packets out of order. Until this is fixed, prevent data corruption. + */ + if (otherdev && netif_running(otherdev)) { + printk(KERN_INFO PFX "dual port support is disabled.\n"); + return -EBUSY; + } + + err = -ENOMEM; if (netif_msg_ifup(sky2)) printk(KERN_INFO PFX "%s: enabling interface\n", dev->name);