aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-03-15 18:15:17 -0400
committerDavid S. Miller <davem@davemloft.net>2011-03-15 18:15:17 -0400
commitc337ffb68e1e71bad069b14d2246fa1e0c31699c (patch)
tree7861a59b196adfd63758cc0921e4fb56030fbaf3 /drivers
parent30df754dedebf27ef90452944a723ba058d23396 (diff)
parent84c0c6933cb0303fa006992a6659c2b46de4eb17 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ariadne.c5
-rw-r--r--drivers/net/bnx2x/bnx2x_main.c2
-rw-r--r--drivers/net/can/usb/esd_usb2.c6
-rw-r--r--drivers/net/davinci_emac.c2
-rw-r--r--drivers/net/macvlan.c3
-rw-r--r--drivers/net/smsc911x.c4
-rw-r--r--drivers/net/usb/cdc-phonet.c10
-rw-r--r--drivers/net/xen-netfront.c4
8 files changed, 15 insertions, 21 deletions
diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c
index 39214e512452..7ca0eded2561 100644
--- a/drivers/net/ariadne.c
+++ b/drivers/net/ariadne.c
@@ -425,11 +425,6 @@ static irqreturn_t ariadne_interrupt(int irq, void *data)
425 int csr0, boguscnt; 425 int csr0, boguscnt;
426 int handled = 0; 426 int handled = 0;
427 427
428 if (dev == NULL) {
429 printk(KERN_WARNING "ariadne_interrupt(): irq for unknown device.\n");
430 return IRQ_NONE;
431 }
432
433 lance->RAP = CSR0; /* PCnet-ISA Controller Status */ 428 lance->RAP = CSR0; /* PCnet-ISA Controller Status */
434 429
435 if (!(lance->RDP & INTR)) /* Check if any interrupt has been */ 430 if (!(lance->RDP & INTR)) /* Check if any interrupt has been */
diff --git a/drivers/net/bnx2x/bnx2x_main.c b/drivers/net/bnx2x/bnx2x_main.c
index bba21d5f708b..9d48659e3b28 100644
--- a/drivers/net/bnx2x/bnx2x_main.c
+++ b/drivers/net/bnx2x/bnx2x_main.c
@@ -4229,7 +4229,7 @@ void bnx2x_update_coalesce(struct bnx2x *bp)
4229 4229
4230 for_each_eth_queue(bp, i) 4230 for_each_eth_queue(bp, i)
4231 bnx2x_update_coalesce_sb(bp, bp->fp[i].fw_sb_id, 4231 bnx2x_update_coalesce_sb(bp, bp->fp[i].fw_sb_id,
4232 bp->rx_ticks, bp->tx_ticks); 4232 bp->tx_ticks, bp->rx_ticks);
4233} 4233}
4234 4234
4235static void bnx2x_init_sp_ring(struct bnx2x *bp) 4235static void bnx2x_init_sp_ring(struct bnx2x *bp)
diff --git a/drivers/net/can/usb/esd_usb2.c b/drivers/net/can/usb/esd_usb2.c
index 05a52754f486..dc53c831ea95 100644
--- a/drivers/net/can/usb/esd_usb2.c
+++ b/drivers/net/can/usb/esd_usb2.c
@@ -659,7 +659,7 @@ failed:
659static void unlink_all_urbs(struct esd_usb2 *dev) 659static void unlink_all_urbs(struct esd_usb2 *dev)
660{ 660{
661 struct esd_usb2_net_priv *priv; 661 struct esd_usb2_net_priv *priv;
662 int i; 662 int i, j;
663 663
664 usb_kill_anchored_urbs(&dev->rx_submitted); 664 usb_kill_anchored_urbs(&dev->rx_submitted);
665 for (i = 0; i < dev->net_count; i++) { 665 for (i = 0; i < dev->net_count; i++) {
@@ -668,8 +668,8 @@ static void unlink_all_urbs(struct esd_usb2 *dev)
668 usb_kill_anchored_urbs(&priv->tx_submitted); 668 usb_kill_anchored_urbs(&priv->tx_submitted);
669 atomic_set(&priv->active_tx_jobs, 0); 669 atomic_set(&priv->active_tx_jobs, 0);
670 670
671 for (i = 0; i < MAX_TX_URBS; i++) 671 for (j = 0; j < MAX_TX_URBS; j++)
672 priv->tx_contexts[i].echo_index = MAX_TX_URBS; 672 priv->tx_contexts[j].echo_index = MAX_TX_URBS;
673 } 673 }
674 } 674 }
675} 675}
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
index 7018bfe408a4..082d6ea69920 100644
--- a/drivers/net/davinci_emac.c
+++ b/drivers/net/davinci_emac.c
@@ -1730,7 +1730,7 @@ static struct net_device_stats *emac_dev_getnetstats(struct net_device *ndev)
1730 emac_read(EMAC_TXCARRIERSENSE); 1730 emac_read(EMAC_TXCARRIERSENSE);
1731 emac_write(EMAC_TXCARRIERSENSE, stats_clear_mask); 1731 emac_write(EMAC_TXCARRIERSENSE, stats_clear_mask);
1732 1732
1733 ndev->stats.tx_fifo_errors = emac_read(EMAC_TXUNDERRUN); 1733 ndev->stats.tx_fifo_errors += emac_read(EMAC_TXUNDERRUN);
1734 emac_write(EMAC_TXUNDERRUN, stats_clear_mask); 1734 emac_write(EMAC_TXUNDERRUN, stats_clear_mask);
1735 1735
1736 return &ndev->stats; 1736 return &ndev->stats;
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 6ed577b065df..497991bd3b64 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -219,9 +219,11 @@ static int macvlan_queue_xmit(struct sk_buff *skb, struct net_device *dev)
219 const struct macvlan_dev *vlan = netdev_priv(dev); 219 const struct macvlan_dev *vlan = netdev_priv(dev);
220 const struct macvlan_port *port = vlan->port; 220 const struct macvlan_port *port = vlan->port;
221 const struct macvlan_dev *dest; 221 const struct macvlan_dev *dest;
222 __u8 ip_summed = skb->ip_summed;
222 223
223 if (vlan->mode == MACVLAN_MODE_BRIDGE) { 224 if (vlan->mode == MACVLAN_MODE_BRIDGE) {
224 const struct ethhdr *eth = (void *)skb->data; 225 const struct ethhdr *eth = (void *)skb->data;
226 skb->ip_summed = CHECKSUM_UNNECESSARY;
225 227
226 /* send to other bridge ports directly */ 228 /* send to other bridge ports directly */
227 if (is_multicast_ether_addr(eth->h_dest)) { 229 if (is_multicast_ether_addr(eth->h_dest)) {
@@ -241,6 +243,7 @@ static int macvlan_queue_xmit(struct sk_buff *skb, struct net_device *dev)
241 } 243 }
242 244
243xmit_world: 245xmit_world:
246 skb->ip_summed = ip_summed;
244 skb_set_dev(skb, vlan->lowerdev); 247 skb_set_dev(skb, vlan->lowerdev);
245 return dev_queue_xmit(skb); 248 return dev_queue_xmit(skb);
246} 249}
diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
index d70bde95460b..1566259c1f27 100644
--- a/drivers/net/smsc911x.c
+++ b/drivers/net/smsc911x.c
@@ -791,8 +791,8 @@ static int smsc911x_mii_probe(struct net_device *dev)
791 return -ENODEV; 791 return -ENODEV;
792 } 792 }
793 793
794 SMSC_TRACE(PROBE, "PHY %d: addr %d, phy_id 0x%08X", 794 SMSC_TRACE(PROBE, "PHY: addr %d, phy_id 0x%08X",
795 phy_addr, phydev->addr, phydev->phy_id); 795 phydev->addr, phydev->phy_id);
796 796
797 ret = phy_connect_direct(dev, phydev, 797 ret = phy_connect_direct(dev, phydev,
798 &smsc911x_phy_adjust_link, 0, 798 &smsc911x_phy_adjust_link, 0,
diff --git a/drivers/net/usb/cdc-phonet.c b/drivers/net/usb/cdc-phonet.c
index 109751bad3bb..f967913e11bc 100644
--- a/drivers/net/usb/cdc-phonet.c
+++ b/drivers/net/usb/cdc-phonet.c
@@ -328,13 +328,13 @@ int usbpn_probe(struct usb_interface *intf, const struct usb_device_id *id)
328{ 328{
329 static const char ifname[] = "usbpn%d"; 329 static const char ifname[] = "usbpn%d";
330 const struct usb_cdc_union_desc *union_header = NULL; 330 const struct usb_cdc_union_desc *union_header = NULL;
331 const struct usb_cdc_header_desc *phonet_header = NULL;
332 const struct usb_host_interface *data_desc; 331 const struct usb_host_interface *data_desc;
333 struct usb_interface *data_intf; 332 struct usb_interface *data_intf;
334 struct usb_device *usbdev = interface_to_usbdev(intf); 333 struct usb_device *usbdev = interface_to_usbdev(intf);
335 struct net_device *dev; 334 struct net_device *dev;
336 struct usbpn_dev *pnd; 335 struct usbpn_dev *pnd;
337 u8 *data; 336 u8 *data;
337 int phonet = 0;
338 int len, err; 338 int len, err;
339 339
340 data = intf->altsetting->extra; 340 data = intf->altsetting->extra;
@@ -355,10 +355,7 @@ int usbpn_probe(struct usb_interface *intf, const struct usb_device_id *id)
355 (struct usb_cdc_union_desc *)data; 355 (struct usb_cdc_union_desc *)data;
356 break; 356 break;
357 case 0xAB: 357 case 0xAB:
358 if (phonet_header || dlen < 5) 358 phonet = 1;
359 break;
360 phonet_header =
361 (struct usb_cdc_header_desc *)data;
362 break; 359 break;
363 } 360 }
364 } 361 }
@@ -366,7 +363,7 @@ int usbpn_probe(struct usb_interface *intf, const struct usb_device_id *id)
366 len -= dlen; 363 len -= dlen;
367 } 364 }
368 365
369 if (!union_header || !phonet_header) 366 if (!union_header || !phonet)
370 return -EINVAL; 367 return -EINVAL;
371 368
372 data_intf = usb_ifnum_to_if(usbdev, union_header->bSlaveInterface0); 369 data_intf = usb_ifnum_to_if(usbdev, union_header->bSlaveInterface0);
@@ -392,7 +389,6 @@ int usbpn_probe(struct usb_interface *intf, const struct usb_device_id *id)
392 389
393 pnd = netdev_priv(dev); 390 pnd = netdev_priv(dev);
394 SET_NETDEV_DEV(dev, &intf->dev); 391 SET_NETDEV_DEV(dev, &intf->dev);
395 netif_stop_queue(dev);
396 392
397 pnd->dev = dev; 393 pnd->dev = dev;
398 pnd->usb = usb_get_dev(usbdev); 394 pnd->usb = usb_get_dev(usbdev);
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index da1f12120346..5b399b54fef7 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -122,7 +122,7 @@ struct netfront_info {
122 struct mmu_update rx_mmu[NET_RX_RING_SIZE]; 122 struct mmu_update rx_mmu[NET_RX_RING_SIZE];
123 123
124 /* Statistics */ 124 /* Statistics */
125 int rx_gso_checksum_fixup; 125 unsigned long rx_gso_checksum_fixup;
126}; 126};
127 127
128struct netfront_rx_info { 128struct netfront_rx_info {
@@ -1692,7 +1692,7 @@ static void xennet_get_ethtool_stats(struct net_device *dev,
1692 int i; 1692 int i;
1693 1693
1694 for (i = 0; i < ARRAY_SIZE(xennet_stats); i++) 1694 for (i = 0; i < ARRAY_SIZE(xennet_stats); i++)
1695 data[i] = *(int *)(np + xennet_stats[i].offset); 1695 data[i] = *(unsigned long *)(np + xennet_stats[i].offset);
1696} 1696}
1697 1697
1698static void xennet_get_strings(struct net_device *dev, u32 stringset, u8 * data) 1698static void xennet_get_strings(struct net_device *dev, u32 stringset, u8 * data)