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/arm | |
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/arm')
-rw-r--r-- | drivers/net/arm/am79c961a.c | 7 | ||||
-rw-r--r-- | drivers/net/arm/at91_ether.c | 7 | ||||
-rw-r--r-- | drivers/net/arm/ep93xx_eth.c | 2 | ||||
-rw-r--r-- | drivers/net/arm/ether1.c | 1 | ||||
-rw-r--r-- | drivers/net/arm/ether3.c | 1 | ||||
-rw-r--r-- | drivers/net/arm/ixp4xx_eth.c | 9 | ||||
-rw-r--r-- | drivers/net/arm/ks8695net.c | 13 | ||||
-rw-r--r-- | drivers/net/arm/w90p910_ether.c | 7 |
8 files changed, 17 insertions, 30 deletions
diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c index f1f58c5e27bf..8c496fb1ac9e 100644 --- a/drivers/net/arm/am79c961a.c +++ b/drivers/net/arm/am79c961a.c | |||
@@ -383,12 +383,12 @@ static void am79c961_setmulticastlist (struct net_device *dev) | |||
383 | } else if (dev->flags & IFF_ALLMULTI) { | 383 | } else if (dev->flags & IFF_ALLMULTI) { |
384 | memset(multi_hash, 0xff, sizeof(multi_hash)); | 384 | memset(multi_hash, 0xff, sizeof(multi_hash)); |
385 | } else { | 385 | } else { |
386 | struct dev_mc_list *dmi; | 386 | struct netdev_hw_addr *ha; |
387 | 387 | ||
388 | memset(multi_hash, 0x00, sizeof(multi_hash)); | 388 | memset(multi_hash, 0x00, sizeof(multi_hash)); |
389 | 389 | ||
390 | netdev_for_each_mc_addr(dmi, dev) | 390 | netdev_for_each_mc_addr(ha, dev) |
391 | am79c961_mc_hash(dmi->dmi_addr, multi_hash); | 391 | am79c961_mc_hash(ha->addr, multi_hash); |
392 | } | 392 | } |
393 | 393 | ||
394 | spin_lock_irqsave(&priv->chip_lock, flags); | 394 | spin_lock_irqsave(&priv->chip_lock, flags); |
@@ -469,7 +469,6 @@ am79c961_sendpacket(struct sk_buff *skb, struct net_device *dev) | |||
469 | 469 | ||
470 | spin_lock_irqsave(&priv->chip_lock, flags); | 470 | spin_lock_irqsave(&priv->chip_lock, flags); |
471 | write_rreg (dev->base_addr, CSR0, CSR0_TDMD|CSR0_IENA); | 471 | write_rreg (dev->base_addr, CSR0, CSR0_TDMD|CSR0_IENA); |
472 | dev->trans_start = jiffies; | ||
473 | spin_unlock_irqrestore(&priv->chip_lock, flags); | 472 | spin_unlock_irqrestore(&priv->chip_lock, flags); |
474 | 473 | ||
475 | /* | 474 | /* |
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c index aed5b5479b50..e07b314ed8fd 100644 --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c | |||
@@ -557,14 +557,14 @@ static int hash_get_index(__u8 *addr) | |||
557 | */ | 557 | */ |
558 | static void at91ether_sethashtable(struct net_device *dev) | 558 | static void at91ether_sethashtable(struct net_device *dev) |
559 | { | 559 | { |
560 | struct dev_mc_list *curr; | 560 | struct netdev_hw_addr *ha; |
561 | unsigned long mc_filter[2]; | 561 | unsigned long mc_filter[2]; |
562 | unsigned int bitnr; | 562 | unsigned int bitnr; |
563 | 563 | ||
564 | mc_filter[0] = mc_filter[1] = 0; | 564 | mc_filter[0] = mc_filter[1] = 0; |
565 | 565 | ||
566 | netdev_for_each_mc_addr(curr, dev) { | 566 | netdev_for_each_mc_addr(ha, dev) { |
567 | bitnr = hash_get_index(curr->dmi_addr); | 567 | bitnr = hash_get_index(ha->addr); |
568 | mc_filter[bitnr >> 5] |= 1 << (bitnr & 31); | 568 | mc_filter[bitnr >> 5] |= 1 << (bitnr & 31); |
569 | } | 569 | } |
570 | 570 | ||
@@ -824,7 +824,6 @@ static int at91ether_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
824 | /* Set length of the packet in the Transmit Control register */ | 824 | /* Set length of the packet in the Transmit Control register */ |
825 | at91_emac_write(AT91_EMAC_TCR, skb->len); | 825 | at91_emac_write(AT91_EMAC_TCR, skb->len); |
826 | 826 | ||
827 | dev->trans_start = jiffies; | ||
828 | } else { | 827 | } else { |
829 | printk(KERN_ERR "at91_ether.c: at91ether_start_xmit() called, but device is busy!\n"); | 828 | printk(KERN_ERR "at91_ether.c: at91ether_start_xmit() called, but device is busy!\n"); |
830 | return NETDEV_TX_BUSY; /* if we return anything but zero, dev.c:1055 calls kfree_skb(skb) | 829 | return NETDEV_TX_BUSY; /* if we return anything but zero, dev.c:1055 calls kfree_skb(skb) |
diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c index cd17d09f385c..4a5ec9470aa1 100644 --- a/drivers/net/arm/ep93xx_eth.c +++ b/drivers/net/arm/ep93xx_eth.c | |||
@@ -374,8 +374,6 @@ static int ep93xx_xmit(struct sk_buff *skb, struct net_device *dev) | |||
374 | skb->len, DMA_TO_DEVICE); | 374 | skb->len, DMA_TO_DEVICE); |
375 | dev_kfree_skb(skb); | 375 | dev_kfree_skb(skb); |
376 | 376 | ||
377 | dev->trans_start = jiffies; | ||
378 | |||
379 | spin_lock_irq(&ep->tx_pending_lock); | 377 | spin_lock_irq(&ep->tx_pending_lock); |
380 | ep->tx_pending++; | 378 | ep->tx_pending++; |
381 | if (ep->tx_pending == TX_QUEUE_ENTRIES) | 379 | if (ep->tx_pending == TX_QUEUE_ENTRIES) |
diff --git a/drivers/net/arm/ether1.c b/drivers/net/arm/ether1.c index e47c0d962857..b17ab5153f51 100644 --- a/drivers/net/arm/ether1.c +++ b/drivers/net/arm/ether1.c | |||
@@ -736,7 +736,6 @@ ether1_sendpacket (struct sk_buff *skb, struct net_device *dev) | |||
736 | local_irq_restore(flags); | 736 | local_irq_restore(flags); |
737 | 737 | ||
738 | /* handle transmit */ | 738 | /* handle transmit */ |
739 | dev->trans_start = jiffies; | ||
740 | 739 | ||
741 | /* check to see if we have room for a full sized ether frame */ | 740 | /* check to see if we have room for a full sized ether frame */ |
742 | tmp = priv(dev)->tx_head; | 741 | tmp = priv(dev)->tx_head; |
diff --git a/drivers/net/arm/ether3.c b/drivers/net/arm/ether3.c index d9de9bce2395..1361b7367c28 100644 --- a/drivers/net/arm/ether3.c +++ b/drivers/net/arm/ether3.c | |||
@@ -529,7 +529,6 @@ ether3_sendpacket(struct sk_buff *skb, struct net_device *dev) | |||
529 | return NETDEV_TX_BUSY; /* unable to queue */ | 529 | return NETDEV_TX_BUSY; /* unable to queue */ |
530 | } | 530 | } |
531 | 531 | ||
532 | dev->trans_start = jiffies; | ||
533 | ptr = 0x600 * priv(dev)->tx_head; | 532 | ptr = 0x600 * priv(dev)->tx_head; |
534 | priv(dev)->tx_head = next_ptr; | 533 | priv(dev)->tx_head = next_ptr; |
535 | next_ptr *= 0x600; | 534 | next_ptr *= 0x600; |
diff --git a/drivers/net/arm/ixp4xx_eth.c b/drivers/net/arm/ixp4xx_eth.c index 6be8b098b8b4..24df0325090c 100644 --- a/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c | |||
@@ -708,7 +708,6 @@ static int eth_xmit(struct sk_buff *skb, struct net_device *dev) | |||
708 | /* NPE firmware pads short frames with zeros internally */ | 708 | /* NPE firmware pads short frames with zeros internally */ |
709 | wmb(); | 709 | wmb(); |
710 | queue_put_desc(TX_QUEUE(port->id), tx_desc_phys(port, n), desc); | 710 | queue_put_desc(TX_QUEUE(port->id), tx_desc_phys(port, n), desc); |
711 | dev->trans_start = jiffies; | ||
712 | 711 | ||
713 | if (qmgr_stat_below_low_watermark(txreadyq)) { /* empty */ | 712 | if (qmgr_stat_below_low_watermark(txreadyq)) { /* empty */ |
714 | #if DEBUG_TX | 713 | #if DEBUG_TX |
@@ -736,7 +735,7 @@ static int eth_xmit(struct sk_buff *skb, struct net_device *dev) | |||
736 | static void eth_set_mcast_list(struct net_device *dev) | 735 | static void eth_set_mcast_list(struct net_device *dev) |
737 | { | 736 | { |
738 | struct port *port = netdev_priv(dev); | 737 | struct port *port = netdev_priv(dev); |
739 | struct dev_mc_list *mclist; | 738 | struct netdev_hw_addr *ha; |
740 | u8 diffs[ETH_ALEN], *addr; | 739 | u8 diffs[ETH_ALEN], *addr; |
741 | int i; | 740 | int i; |
742 | 741 | ||
@@ -749,11 +748,11 @@ static void eth_set_mcast_list(struct net_device *dev) | |||
749 | memset(diffs, 0, ETH_ALEN); | 748 | memset(diffs, 0, ETH_ALEN); |
750 | 749 | ||
751 | addr = NULL; | 750 | addr = NULL; |
752 | netdev_for_each_mc_addr(mclist, dev) { | 751 | netdev_for_each_mc_addr(ha, dev) { |
753 | if (!addr) | 752 | if (!addr) |
754 | addr = mclist->dmi_addr; /* first MAC address */ | 753 | addr = ha->addr; /* first MAC address */ |
755 | for (i = 0; i < ETH_ALEN; i++) | 754 | for (i = 0; i < ETH_ALEN; i++) |
756 | diffs[i] |= addr[i] ^ mclist->dmi_addr[i]; | 755 | diffs[i] |= addr[i] ^ ha->addr[i]; |
757 | } | 756 | } |
758 | 757 | ||
759 | for (i = 0; i < ETH_ALEN; i++) { | 758 | for (i = 0; i < ETH_ALEN; i++) { |
diff --git a/drivers/net/arm/ks8695net.c b/drivers/net/arm/ks8695net.c index 84f8a8f73802..54c6d849cf25 100644 --- a/drivers/net/arm/ks8695net.c +++ b/drivers/net/arm/ks8695net.c | |||
@@ -332,16 +332,16 @@ ks8695_init_partial_multicast(struct ks8695_priv *ksp, | |||
332 | { | 332 | { |
333 | u32 low, high; | 333 | u32 low, high; |
334 | int i; | 334 | int i; |
335 | struct dev_mc_list *dmi; | 335 | struct netdev_hw_addr *ha; |
336 | 336 | ||
337 | i = 0; | 337 | i = 0; |
338 | netdev_for_each_mc_addr(dmi, ndev) { | 338 | netdev_for_each_mc_addr(ha, ndev) { |
339 | /* Ran out of space in chip? */ | 339 | /* Ran out of space in chip? */ |
340 | BUG_ON(i == KS8695_NR_ADDRESSES); | 340 | BUG_ON(i == KS8695_NR_ADDRESSES); |
341 | 341 | ||
342 | low = (dmi->dmi_addr[2] << 24) | (dmi->dmi_addr[3] << 16) | | 342 | low = (ha->addr[2] << 24) | (ha->addr[3] << 16) | |
343 | (dmi->dmi_addr[4] << 8) | (dmi->dmi_addr[5]); | 343 | (ha->addr[4] << 8) | (ha->addr[5]); |
344 | high = (dmi->dmi_addr[0] << 8) | (dmi->dmi_addr[1]); | 344 | high = (ha->addr[0] << 8) | (ha->addr[1]); |
345 | 345 | ||
346 | ks8695_writereg(ksp, KS8695_AAL_(i), low); | 346 | ks8695_writereg(ksp, KS8695_AAL_(i), low); |
347 | ks8695_writereg(ksp, KS8695_AAH_(i), AAH_E | high); | 347 | ks8695_writereg(ksp, KS8695_AAH_(i), AAH_E | high); |
@@ -1302,8 +1302,6 @@ ks8695_start_xmit(struct sk_buff *skb, struct net_device *ndev) | |||
1302 | if (++ksp->tx_ring_used == MAX_TX_DESC) | 1302 | if (++ksp->tx_ring_used == MAX_TX_DESC) |
1303 | netif_stop_queue(ndev); | 1303 | netif_stop_queue(ndev); |
1304 | 1304 | ||
1305 | ndev->trans_start = jiffies; | ||
1306 | |||
1307 | /* Kick the TX DMA in case it decided to go IDLE */ | 1305 | /* Kick the TX DMA in case it decided to go IDLE */ |
1308 | ks8695_writereg(ksp, KS8695_DTSC, 0); | 1306 | ks8695_writereg(ksp, KS8695_DTSC, 0); |
1309 | 1307 | ||
@@ -1472,7 +1470,6 @@ ks8695_probe(struct platform_device *pdev) | |||
1472 | 1470 | ||
1473 | /* Configure our private structure a little */ | 1471 | /* Configure our private structure a little */ |
1474 | ksp = netdev_priv(ndev); | 1472 | ksp = netdev_priv(ndev); |
1475 | memset(ksp, 0, sizeof(struct ks8695_priv)); | ||
1476 | 1473 | ||
1477 | ksp->dev = &pdev->dev; | 1474 | ksp->dev = &pdev->dev; |
1478 | ksp->ndev = ndev; | 1475 | ksp->ndev = ndev; |
diff --git a/drivers/net/arm/w90p910_ether.c b/drivers/net/arm/w90p910_ether.c index f7c9ca1dfb17..2e852463382b 100644 --- a/drivers/net/arm/w90p910_ether.c +++ b/drivers/net/arm/w90p910_ether.c | |||
@@ -483,7 +483,7 @@ static void w90p910_reset_mac(struct net_device *dev) | |||
483 | 483 | ||
484 | w90p910_init_desc(dev); | 484 | w90p910_init_desc(dev); |
485 | 485 | ||
486 | dev->trans_start = jiffies; | 486 | dev->trans_start = jiffies; /* prevent tx timeout */ |
487 | ether->cur_tx = 0x0; | 487 | ether->cur_tx = 0x0; |
488 | ether->finish_tx = 0x0; | 488 | ether->finish_tx = 0x0; |
489 | ether->cur_rx = 0x0; | 489 | ether->cur_rx = 0x0; |
@@ -497,7 +497,7 @@ static void w90p910_reset_mac(struct net_device *dev) | |||
497 | w90p910_trigger_tx(dev); | 497 | w90p910_trigger_tx(dev); |
498 | w90p910_trigger_rx(dev); | 498 | w90p910_trigger_rx(dev); |
499 | 499 | ||
500 | dev->trans_start = jiffies; | 500 | dev->trans_start = jiffies; /* prevent tx timeout */ |
501 | 501 | ||
502 | if (netif_queue_stopped(dev)) | 502 | if (netif_queue_stopped(dev)) |
503 | netif_wake_queue(dev); | 503 | netif_wake_queue(dev); |
@@ -634,8 +634,6 @@ static int w90p910_send_frame(struct net_device *dev, | |||
634 | 634 | ||
635 | txbd = ðer->tdesc->desclist[ether->cur_tx]; | 635 | txbd = ðer->tdesc->desclist[ether->cur_tx]; |
636 | 636 | ||
637 | dev->trans_start = jiffies; | ||
638 | |||
639 | if (txbd->mode & TX_OWEN_DMA) | 637 | if (txbd->mode & TX_OWEN_DMA) |
640 | netif_stop_queue(dev); | 638 | netif_stop_queue(dev); |
641 | 639 | ||
@@ -744,7 +742,6 @@ static void netdev_rx(struct net_device *dev) | |||
744 | return; | 742 | return; |
745 | } | 743 | } |
746 | 744 | ||
747 | skb->dev = dev; | ||
748 | skb_reserve(skb, 2); | 745 | skb_reserve(skb, 2); |
749 | skb_put(skb, length); | 746 | skb_put(skb, length); |
750 | skb_copy_to_linear_data(skb, data, length); | 747 | skb_copy_to_linear_data(skb, data, length); |