diff options
author | Faisal Latif <faisal.latif@intel.com> | 2009-03-06 18:12:11 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2009-03-06 18:12:11 -0500 |
commit | 2869975cfbd58dc6591d8c3ba1f171e7f758be28 (patch) | |
tree | 5a664309bcef41dbc79fd12eb87c63f06369b181 /drivers/infiniband/hw/nes/nes_hw.c | |
parent | fd87778cb99429f5e2e041213a5c9c564bbe7b78 (diff) |
RDMA/nes: Remove LLTX
NETIF_F_LLTX is deprecated. Remove private TX locking from the driver
and remove the NETIF_F_LLTX feature flag. This also fixes a warning
in some configs that comes from doing skb_linearize() call in the
hard_start_xmit method with IRQs disabled (if HIGHMEM is enabled,
skb_linearize() may end up enabling BHs, which is a no-no if hard IRQs
are disabled in that context). By getting rid of LLTX, we do not
disable IRQs when skb_linearize() is called.
Remove the sq_lock as it is not needed for non-LLTX. Fix ethtool not
to show the counter for sq_lock.
Reported-by: aluno3@poczta.onet.pl
Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_hw.c')
-rw-r--r-- | drivers/infiniband/hw/nes/nes_hw.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c index 1c5e946ce22..9a51f25c6ce 100644 --- a/drivers/infiniband/hw/nes/nes_hw.c +++ b/drivers/infiniband/hw/nes/nes_hw.c | |||
@@ -1644,7 +1644,6 @@ int nes_init_nic_qp(struct nes_device *nesdev, struct net_device *netdev) | |||
1644 | nesvnic->post_cqp_request = nes_post_cqp_request; | 1644 | nesvnic->post_cqp_request = nes_post_cqp_request; |
1645 | nesvnic->mcrq_mcast_filter = NULL; | 1645 | nesvnic->mcrq_mcast_filter = NULL; |
1646 | 1646 | ||
1647 | spin_lock_init(&nesvnic->nic.sq_lock); | ||
1648 | spin_lock_init(&nesvnic->nic.rq_lock); | 1647 | spin_lock_init(&nesvnic->nic.rq_lock); |
1649 | 1648 | ||
1650 | /* setup the RQ */ | 1649 | /* setup the RQ */ |
@@ -2632,9 +2631,9 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq) | |||
2632 | } else | 2631 | } else |
2633 | break; | 2632 | break; |
2634 | } | 2633 | } |
2635 | if (skb) | ||
2636 | dev_kfree_skb_any(skb); | ||
2637 | } | 2634 | } |
2635 | if (skb) | ||
2636 | dev_kfree_skb_any(skb); | ||
2638 | nesnic->sq_tail++; | 2637 | nesnic->sq_tail++; |
2639 | nesnic->sq_tail &= nesnic->sq_size-1; | 2638 | nesnic->sq_tail &= nesnic->sq_size-1; |
2640 | if (sq_cqes > 128) { | 2639 | if (sq_cqes > 128) { |