via-rhine: Fix force media
PATCH 1/1 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.
The patch is for both 2.4 and 2.6. Please apply.
Roger
drivers/net/via-rhine.c +4 -3
@@ -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); }