Messages in this thread Patch in this message | | | Date | Sun, 23 May 2004 12:48:59 +0200 | From | Roger Luethi <> | Subject | [1/4][PATCH 2.6] via-rhine: Fix force media |
| |
Lucas Nussbaum and Dirk Koeppen each found independently that the code for forcing media options in via-rhine is borked and suggested the fix below. I've been sitting on this way too long because there is more badness in the immediate vicinity which needs a bigger surgery.
The second hunk fixes a braino I managed to introduce myself. --- linux-2.6.6/drivers/net/via-rhine.c 2004-05-20 16:17:38.228468522 +0200 +++ linux-2.6.6-patch/drivers/net/via-rhine.c 2004-05-20 17:46:34.466916644 +0200 @@ -860,7 +860,7 @@ if (option & 0x220) np->mii_if.full_duplex = 1; np->default_port = option & 0x3ff; - if (np->default_port & 0x330) { + if (option & 0x330) { /* FIXME: shouldn't someone check this variable? */ /* np->medialock = 1; */ printk(KERN_INFO " Forcing %dMbs %s-duplex operation.\n", @@ -1683,8 +1683,9 @@ printk(KERN_INFO "%s: Tx descriptor write-back race.\n", dev->name); } - if ((intr_status & IntrTxError) && ~( IntrTxAborted | IntrTxUnderrun | - IntrTxDescRace )) { + if ((intr_status & IntrTxError) && + (intr_status & ( IntrTxAborted | + IntrTxUnderrun | IntrTxDescRace )) == 0) { if (np->tx_thresh < 0xE0) { writeb(np->tx_thresh += 0x20, ioaddr + TxConfig); } | |