Merge branch 'upstream-fixes' from master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6

+21 -3
+1 -1
drivers/net/8390.c
··· 1094 1094 1095 1095 outb_p(E8390_NODMA+E8390_PAGE0, e8390_base+E8390_CMD); 1096 1096 1097 - if (inb_p(e8390_base) & E8390_TRANS) 1097 + if (inb_p(e8390_base + E8390_CMD) & E8390_TRANS) 1098 1098 { 1099 1099 printk(KERN_WARNING "%s: trigger_send() called with the transmitter busy.\n", 1100 1100 dev->name);
+20 -2
drivers/net/skge.c
··· 1643 1643 | GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA); 1644 1644 } 1645 1645 1646 + /* Apparently, early versions of Yukon-Lite had wrong chip_id? */ 1647 + static int is_yukon_lite_a0(struct skge_hw *hw) 1648 + { 1649 + u32 reg; 1650 + int ret; 1651 + 1652 + if (hw->chip_id != CHIP_ID_YUKON) 1653 + return 0; 1654 + 1655 + reg = skge_read32(hw, B2_FAR); 1656 + skge_write8(hw, B2_FAR + 3, 0xff); 1657 + ret = (skge_read8(hw, B2_FAR + 3) != 0); 1658 + skge_write32(hw, B2_FAR, reg); 1659 + return ret; 1660 + } 1661 + 1646 1662 static void yukon_mac_init(struct skge_hw *hw, int port) 1647 1663 { 1648 1664 struct skge_port *skge = netdev_priv(hw->dev[port]); ··· 1774 1758 /* Configure Rx MAC FIFO */ 1775 1759 skge_write16(hw, SK_REG(port, RX_GMF_FL_MSK), RX_FF_FL_DEF_MSK); 1776 1760 reg = GMF_OPER_ON | GMF_RX_F_FL_ON; 1777 - if (hw->chip_id == CHIP_ID_YUKON_LITE && 1778 - hw->chip_rev >= CHIP_REV_YU_LITE_A3) 1761 + 1762 + /* disable Rx GMAC FIFO Flush for YUKON-Lite Rev. A0 only */ 1763 + if (is_yukon_lite_a0(hw)) 1779 1764 reg &= ~GMF_RX_F_FL_ON; 1765 + 1780 1766 skge_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_CLR); 1781 1767 skge_write16(hw, SK_REG(port, RX_GMF_CTRL_T), reg); 1782 1768 /*