aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/ipoib
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-03-26 18:54:36 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-03-26 18:54:36 -0400
commit13220a94d35708d5378114e96ffcc88d0a74fe99 (patch)
treebe6530677d5f9536c7211e05ba012923e4c0b307 /drivers/infiniband/ulp/ipoib
parent8690d8a9f6c2d5728a9c9f68231f1bb4de109e3a (diff)
parent08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6 (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: (1750 commits) ixgbe: Allow Priority Flow Control settings to survive a device reset net: core: remove unneeded include in net/core/utils.c. e1000e: update version number e1000e: fix close interrupt race e1000e: fix loss of multicast packets e1000e: commonize tx cleanup routine to match e1000 & igb netfilter: fix nf_logger name in ebt_ulog. netfilter: fix warning in ebt_ulog init function. netfilter: fix warning about invalid const usage e1000: fix close race with interrupt e1000: cleanup clean_tx_irq routine so that it completely cleans ring e1000: fix tx hang detect logic and address dma mapping issues bridge: bad error handling when adding invalid ether address bonding: select current active slave when enslaving device for mode tlb and alb gianfar: reallocate skb when headroom is not enough for fcb Bump release date to 25Mar2009 and version to 0.22 r6040: Fix second PHY address qeth: fix wait_event_timeout handling qeth: check for completion of a running recovery qeth: unregister MAC addresses during recovery. ... Manually fixed up conflicts in: drivers/infiniband/hw/cxgb3/cxio_hal.h drivers/infiniband/hw/nes/nes_nic.c
Diffstat (limited to 'drivers/infiniband/ulp/ipoib')
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_ib.c6
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_main.c18
2 files changed, 14 insertions, 10 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c
index a1925810be3c..da6082739839 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c
@@ -446,11 +446,11 @@ poll_more:
446 if (dev->features & NETIF_F_LRO) 446 if (dev->features & NETIF_F_LRO)
447 lro_flush_all(&priv->lro.lro_mgr); 447 lro_flush_all(&priv->lro.lro_mgr);
448 448
449 netif_rx_complete(napi); 449 napi_complete(napi);
450 if (unlikely(ib_req_notify_cq(priv->recv_cq, 450 if (unlikely(ib_req_notify_cq(priv->recv_cq,
451 IB_CQ_NEXT_COMP | 451 IB_CQ_NEXT_COMP |
452 IB_CQ_REPORT_MISSED_EVENTS)) && 452 IB_CQ_REPORT_MISSED_EVENTS)) &&
453 netif_rx_reschedule(napi)) 453 napi_reschedule(napi))
454 goto poll_more; 454 goto poll_more;
455 } 455 }
456 456
@@ -462,7 +462,7 @@ void ipoib_ib_completion(struct ib_cq *cq, void *dev_ptr)
462 struct net_device *dev = dev_ptr; 462 struct net_device *dev = dev_ptr;
463 struct ipoib_dev_priv *priv = netdev_priv(dev); 463 struct ipoib_dev_priv *priv = netdev_priv(dev);
464 464
465 netif_rx_schedule(&priv->napi); 465 napi_schedule(&priv->napi);
466} 466}
467 467
468static void drain_tx_cq(struct net_device *dev) 468static void drain_tx_cq(struct net_device *dev)
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index 353c13b91e8f..421a6640c9bd 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1021,18 +1021,22 @@ static void ipoib_lro_setup(struct ipoib_dev_priv *priv)
1021 priv->lro.lro_mgr.ip_summed_aggr = CHECKSUM_UNNECESSARY; 1021 priv->lro.lro_mgr.ip_summed_aggr = CHECKSUM_UNNECESSARY;
1022} 1022}
1023 1023
1024static const struct net_device_ops ipoib_netdev_ops = {
1025 .ndo_open = ipoib_open,
1026 .ndo_stop = ipoib_stop,
1027 .ndo_change_mtu = ipoib_change_mtu,
1028 .ndo_start_xmit = ipoib_start_xmit,
1029 .ndo_tx_timeout = ipoib_timeout,
1030 .ndo_set_multicast_list = ipoib_set_mcast_list,
1031 .ndo_neigh_setup = ipoib_neigh_setup_dev,
1032};
1033
1024static void ipoib_setup(struct net_device *dev) 1034static void ipoib_setup(struct net_device *dev)
1025{ 1035{
1026 struct ipoib_dev_priv *priv = netdev_priv(dev); 1036 struct ipoib_dev_priv *priv = netdev_priv(dev);
1027 1037
1028 dev->open = ipoib_open; 1038 dev->netdev_ops = &ipoib_netdev_ops;
1029 dev->stop = ipoib_stop;
1030 dev->change_mtu = ipoib_change_mtu;
1031 dev->hard_start_xmit = ipoib_start_xmit;
1032 dev->tx_timeout = ipoib_timeout;
1033 dev->header_ops = &ipoib_header_ops; 1039 dev->header_ops = &ipoib_header_ops;
1034 dev->set_multicast_list = ipoib_set_mcast_list;
1035 dev->neigh_setup = ipoib_neigh_setup_dev;
1036 1040
1037 ipoib_set_ethtool_ops(dev); 1041 ipoib_set_ethtool_ops(dev);
1038 1042