Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (109 commits) [ETHTOOL]: Fix UFO typo [SCTP]: Fix persistent slowdown in sctp when a gap ack consumes rx buffer. [SCTP]: Send only 1 window update SACK per message. [SCTP]: Don't do CRC32C checksum over loopback. [SCTP] Reset rtt_in_progress for the chunk when processing its sack. [SCTP]: Reject sctp packets with broadcast addresses. [SCTP]: Limit association max_retrans setting in setsockopt. [PFKEYV2]: Fix inconsistent typing in struct sadb_x_kmprivate. [IPV6]: Sum real space for RTAs. [IRDA]: Use put_unaligned() in irlmp_do_discovery(). [BRIDGE]: Add support for NETIF_F_HW_CSUM devices [NET]: Add NETIF_F_GEN_CSUM and NETIF_F_ALL_CSUM [TG3]: Convert to non-LLTX [TG3]: Remove unnecessary tx_lock [TCP]: Add tcp_slow_start_after_idle sysctl. [BNX2]: Update version and reldate [BNX2]: Use CPU native page size [BNX2]: Use compressed firmware [BNX2]: Add firmware decompression [BNX2]: Allow WoL settings on new 5708 chips ... Manual fixup for conflict in drivers/net/tulip/winbond-840.c
This commit is contained in:
@@ -669,9 +669,9 @@ static const struct register_test nv_registers_test[] = {
|
||||
* critical parts:
|
||||
* - rx is (pseudo-) lockless: it relies on the single-threading provided
|
||||
* by the arch code for interrupts.
|
||||
* - tx setup is lockless: it relies on dev->xmit_lock. Actual submission
|
||||
* - tx setup is lockless: it relies on netif_tx_lock. Actual submission
|
||||
* needs dev->priv->lock :-(
|
||||
* - set_multicast_list: preparation lockless, relies on dev->xmit_lock.
|
||||
* - set_multicast_list: preparation lockless, relies on netif_tx_lock.
|
||||
*/
|
||||
|
||||
/* in dev: base, irq */
|
||||
@@ -1405,7 +1405,7 @@ static void drain_ring(struct net_device *dev)
|
||||
|
||||
/*
|
||||
* nv_start_xmit: dev->hard_start_xmit function
|
||||
* Called with dev->xmit_lock held.
|
||||
* Called with netif_tx_lock held.
|
||||
*/
|
||||
static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
{
|
||||
@@ -1599,7 +1599,7 @@ static void nv_tx_done(struct net_device *dev)
|
||||
|
||||
/*
|
||||
* nv_tx_timeout: dev->tx_timeout function
|
||||
* Called with dev->xmit_lock held.
|
||||
* Called with netif_tx_lock held.
|
||||
*/
|
||||
static void nv_tx_timeout(struct net_device *dev)
|
||||
{
|
||||
@@ -1930,7 +1930,7 @@ static int nv_change_mtu(struct net_device *dev, int new_mtu)
|
||||
* Changing the MTU is a rare event, it shouldn't matter.
|
||||
*/
|
||||
nv_disable_irq(dev);
|
||||
spin_lock_bh(&dev->xmit_lock);
|
||||
netif_tx_lock_bh(dev);
|
||||
spin_lock(&np->lock);
|
||||
/* stop engines */
|
||||
nv_stop_rx(dev);
|
||||
@@ -1958,7 +1958,7 @@ static int nv_change_mtu(struct net_device *dev, int new_mtu)
|
||||
nv_start_rx(dev);
|
||||
nv_start_tx(dev);
|
||||
spin_unlock(&np->lock);
|
||||
spin_unlock_bh(&dev->xmit_lock);
|
||||
netif_tx_unlock_bh(dev);
|
||||
nv_enable_irq(dev);
|
||||
}
|
||||
return 0;
|
||||
@@ -1993,7 +1993,7 @@ static int nv_set_mac_address(struct net_device *dev, void *addr)
|
||||
memcpy(dev->dev_addr, macaddr->sa_data, ETH_ALEN);
|
||||
|
||||
if (netif_running(dev)) {
|
||||
spin_lock_bh(&dev->xmit_lock);
|
||||
netif_tx_lock_bh(dev);
|
||||
spin_lock_irq(&np->lock);
|
||||
|
||||
/* stop rx engine */
|
||||
@@ -2005,7 +2005,7 @@ static int nv_set_mac_address(struct net_device *dev, void *addr)
|
||||
/* restart rx engine */
|
||||
nv_start_rx(dev);
|
||||
spin_unlock_irq(&np->lock);
|
||||
spin_unlock_bh(&dev->xmit_lock);
|
||||
netif_tx_unlock_bh(dev);
|
||||
} else {
|
||||
nv_copy_mac_to_hw(dev);
|
||||
}
|
||||
@@ -2014,7 +2014,7 @@ static int nv_set_mac_address(struct net_device *dev, void *addr)
|
||||
|
||||
/*
|
||||
* nv_set_multicast: dev->set_multicast function
|
||||
* Called with dev->xmit_lock held.
|
||||
* Called with netif_tx_lock held.
|
||||
*/
|
||||
static void nv_set_multicast(struct net_device *dev)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user