diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 00:04:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 00:04:44 -0400 |
commit | f8965467f366fd18f01feafb5db10512d7b4422c (patch) | |
tree | 3706a9cd779859271ca61b85c63a1bc3f82d626e /drivers/net/starfire.c | |
parent | a26272e5200765691e67d6780e52b32498fdb659 (diff) | |
parent | 2ec8c6bb5d8f3a62a79f463525054bae1e3d4487 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1674 commits)
qlcnic: adding co maintainer
ixgbe: add support for active DA cables
ixgbe: dcb, do not tag tc_prio_control frames
ixgbe: fix ixgbe_tx_is_paused logic
ixgbe: always enable vlan strip/insert when DCB is enabled
ixgbe: remove some redundant code in setting FCoE FIP filter
ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp
ixgbe: fix header len when unsplit packet overflows to data buffer
ipv6: Never schedule DAD timer on dead address
ipv6: Use POSTDAD state
ipv6: Use state_lock to protect ifa state
ipv6: Replace inet6_ifaddr->dead with state
cxgb4: notify upper drivers if the device is already up when they load
cxgb4: keep interrupts available when the ports are brought down
cxgb4: fix initial addition of MAC address
cnic: Return SPQ credit to bnx2x after ring setup and shutdown.
cnic: Convert cnic_local_flags to atomic ops.
can: Fix SJA1000 command register writes on SMP systems
bridge: fix build for CONFIG_SYSFS disabled
ARCNET: Limit com20020 PCI ID matches for SOHARD cards
...
Fix up various conflicts with pcmcia tree drivers/net/
{pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and
wireless/orinoco/spectrum_cs.c} and feature removal
(Documentation/feature-removal-schedule.txt).
Also fix a non-content conflict due to pm_qos_requirement getting
renamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c
Diffstat (limited to 'drivers/net/starfire.c')
-rw-r--r-- | drivers/net/starfire.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c index 6dfa69899019..74b7ae76906e 100644 --- a/drivers/net/starfire.c +++ b/drivers/net/starfire.c | |||
@@ -1173,7 +1173,7 @@ static void tx_timeout(struct net_device *dev) | |||
1173 | 1173 | ||
1174 | /* Trigger an immediate transmit demand. */ | 1174 | /* Trigger an immediate transmit demand. */ |
1175 | 1175 | ||
1176 | dev->trans_start = jiffies; | 1176 | dev->trans_start = jiffies; /* prevent tx timeout */ |
1177 | np->stats.tx_errors++; | 1177 | np->stats.tx_errors++; |
1178 | netif_wake_queue(dev); | 1178 | netif_wake_queue(dev); |
1179 | } | 1179 | } |
@@ -1221,8 +1221,6 @@ static void init_ring(struct net_device *dev) | |||
1221 | 1221 | ||
1222 | for (i = 0; i < TX_RING_SIZE; i++) | 1222 | for (i = 0; i < TX_RING_SIZE; i++) |
1223 | memset(&np->tx_info[i], 0, sizeof(np->tx_info[i])); | 1223 | memset(&np->tx_info[i], 0, sizeof(np->tx_info[i])); |
1224 | |||
1225 | return; | ||
1226 | } | 1224 | } |
1227 | 1225 | ||
1228 | 1226 | ||
@@ -1312,8 +1310,6 @@ static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev) | |||
1312 | if ((np->cur_tx - np->dirty_tx) + 4 > TX_RING_SIZE) | 1310 | if ((np->cur_tx - np->dirty_tx) + 4 > TX_RING_SIZE) |
1313 | netif_stop_queue(dev); | 1311 | netif_stop_queue(dev); |
1314 | 1312 | ||
1315 | dev->trans_start = jiffies; | ||
1316 | |||
1317 | return NETDEV_TX_OK; | 1313 | return NETDEV_TX_OK; |
1318 | } | 1314 | } |
1319 | 1315 | ||
@@ -1766,7 +1762,7 @@ static void set_rx_mode(struct net_device *dev) | |||
1766 | struct netdev_private *np = netdev_priv(dev); | 1762 | struct netdev_private *np = netdev_priv(dev); |
1767 | void __iomem *ioaddr = np->base; | 1763 | void __iomem *ioaddr = np->base; |
1768 | u32 rx_mode = MinVLANPrio; | 1764 | u32 rx_mode = MinVLANPrio; |
1769 | struct dev_mc_list *mclist; | 1765 | struct netdev_hw_addr *ha; |
1770 | int i; | 1766 | int i; |
1771 | #ifdef VLAN_SUPPORT | 1767 | #ifdef VLAN_SUPPORT |
1772 | 1768 | ||
@@ -1804,8 +1800,8 @@ static void set_rx_mode(struct net_device *dev) | |||
1804 | /* Use the 16 element perfect filter, skip first two entries. */ | 1800 | /* Use the 16 element perfect filter, skip first two entries. */ |
1805 | void __iomem *filter_addr = ioaddr + PerfFilterTable + 2 * 16; | 1801 | void __iomem *filter_addr = ioaddr + PerfFilterTable + 2 * 16; |
1806 | __be16 *eaddrs; | 1802 | __be16 *eaddrs; |
1807 | netdev_for_each_mc_addr(mclist, dev) { | 1803 | netdev_for_each_mc_addr(ha, dev) { |
1808 | eaddrs = (__be16 *)mclist->dmi_addr; | 1804 | eaddrs = (__be16 *) ha->addr; |
1809 | writew(be16_to_cpu(eaddrs[2]), filter_addr); filter_addr += 4; | 1805 | writew(be16_to_cpu(eaddrs[2]), filter_addr); filter_addr += 4; |
1810 | writew(be16_to_cpu(eaddrs[1]), filter_addr); filter_addr += 4; | 1806 | writew(be16_to_cpu(eaddrs[1]), filter_addr); filter_addr += 4; |
1811 | writew(be16_to_cpu(eaddrs[0]), filter_addr); filter_addr += 8; | 1807 | writew(be16_to_cpu(eaddrs[0]), filter_addr); filter_addr += 8; |
@@ -1825,10 +1821,10 @@ static void set_rx_mode(struct net_device *dev) | |||
1825 | __le16 mc_filter[32] __attribute__ ((aligned(sizeof(long)))); /* Multicast hash filter */ | 1821 | __le16 mc_filter[32] __attribute__ ((aligned(sizeof(long)))); /* Multicast hash filter */ |
1826 | 1822 | ||
1827 | memset(mc_filter, 0, sizeof(mc_filter)); | 1823 | memset(mc_filter, 0, sizeof(mc_filter)); |
1828 | netdev_for_each_mc_addr(mclist, dev) { | 1824 | netdev_for_each_mc_addr(ha, dev) { |
1829 | /* The chip uses the upper 9 CRC bits | 1825 | /* The chip uses the upper 9 CRC bits |
1830 | as index into the hash table */ | 1826 | as index into the hash table */ |
1831 | int bit_nr = ether_crc_le(ETH_ALEN, mclist->dmi_addr) >> 23; | 1827 | int bit_nr = ether_crc_le(ETH_ALEN, ha->addr) >> 23; |
1832 | __le32 *fptr = (__le32 *) &mc_filter[(bit_nr >> 4) & ~1]; | 1828 | __le32 *fptr = (__le32 *) &mc_filter[(bit_nr >> 4) & ~1]; |
1833 | 1829 | ||
1834 | *fptr |= cpu_to_le32(1 << (bit_nr & 31)); | 1830 | *fptr |= cpu_to_le32(1 << (bit_nr & 31)); |