Loading drivers/net/sky2.c +25 −16 Original line number Diff line number Diff line Loading @@ -1525,16 +1525,16 @@ static void sky2_free_buffers(struct sky2_port *sky2) sky2->rx_ring = NULL; } /* Bring up network interface. */ static int sky2_up(struct net_device *dev) static void sky2_hw_up(struct sky2_port *sky2) { struct sky2_port *sky2 = netdev_priv(dev); struct sky2_hw *hw = sky2->hw; unsigned port = sky2->port; u32 imask, ramsize; int cap, err; u32 ramsize; int cap; struct net_device *otherdev = hw->dev[sky2->port^1]; tx_init(sky2); /* * On dual port PCI-X card, there is an problem where status * can be received out of order due to split transactions Loading @@ -1546,17 +1546,8 @@ static int sky2_up(struct net_device *dev) cmd = sky2_pci_read16(hw, cap + PCI_X_CMD); cmd &= ~PCI_X_CMD_MAX_SPLIT; sky2_pci_write16(hw, cap + PCI_X_CMD, cmd); } netif_carrier_off(dev); err = sky2_alloc_buffers(sky2); if (err) goto err_out; tx_init(sky2); sky2_mac_init(hw, port); /* Register is number of 4K blocks on internal RAM buffer. */ Loading @@ -1564,7 +1555,7 @@ static int sky2_up(struct net_device *dev) if (ramsize > 0) { u32 rxspace; pr_debug(PFX "%s: ram buffer %dK\n", dev->name, ramsize); pr_debug(PFX "%s: ram buffer %dK\n", sky2->netdev->name, ramsize); if (ramsize < 16) rxspace = ramsize / 2; else Loading Loading @@ -1597,6 +1588,24 @@ static int sky2_up(struct net_device *dev) #endif sky2_rx_start(sky2); } /* Bring up network interface. */ static int sky2_up(struct net_device *dev) { struct sky2_port *sky2 = netdev_priv(dev); struct sky2_hw *hw = sky2->hw; unsigned port = sky2->port; u32 imask; int err; netif_carrier_off(dev); err = sky2_alloc_buffers(sky2); if (err) goto err_out; sky2_hw_up(sky2); /* Enable interrupts from phy/mac for port */ imask = sky2_read32(hw, B0_IMSK); Loading Loading
drivers/net/sky2.c +25 −16 Original line number Diff line number Diff line Loading @@ -1525,16 +1525,16 @@ static void sky2_free_buffers(struct sky2_port *sky2) sky2->rx_ring = NULL; } /* Bring up network interface. */ static int sky2_up(struct net_device *dev) static void sky2_hw_up(struct sky2_port *sky2) { struct sky2_port *sky2 = netdev_priv(dev); struct sky2_hw *hw = sky2->hw; unsigned port = sky2->port; u32 imask, ramsize; int cap, err; u32 ramsize; int cap; struct net_device *otherdev = hw->dev[sky2->port^1]; tx_init(sky2); /* * On dual port PCI-X card, there is an problem where status * can be received out of order due to split transactions Loading @@ -1546,17 +1546,8 @@ static int sky2_up(struct net_device *dev) cmd = sky2_pci_read16(hw, cap + PCI_X_CMD); cmd &= ~PCI_X_CMD_MAX_SPLIT; sky2_pci_write16(hw, cap + PCI_X_CMD, cmd); } netif_carrier_off(dev); err = sky2_alloc_buffers(sky2); if (err) goto err_out; tx_init(sky2); sky2_mac_init(hw, port); /* Register is number of 4K blocks on internal RAM buffer. */ Loading @@ -1564,7 +1555,7 @@ static int sky2_up(struct net_device *dev) if (ramsize > 0) { u32 rxspace; pr_debug(PFX "%s: ram buffer %dK\n", dev->name, ramsize); pr_debug(PFX "%s: ram buffer %dK\n", sky2->netdev->name, ramsize); if (ramsize < 16) rxspace = ramsize / 2; else Loading Loading @@ -1597,6 +1588,24 @@ static int sky2_up(struct net_device *dev) #endif sky2_rx_start(sky2); } /* Bring up network interface. */ static int sky2_up(struct net_device *dev) { struct sky2_port *sky2 = netdev_priv(dev); struct sky2_hw *hw = sky2->hw; unsigned port = sky2->port; u32 imask; int err; netif_carrier_off(dev); err = sky2_alloc_buffers(sky2); if (err) goto err_out; sky2_hw_up(sky2); /* Enable interrupts from phy/mac for port */ imask = sky2_read32(hw, B0_IMSK); Loading