diff options
author | Amit Kumar Salecha <amit.salecha@qlogic.com> | 2010-08-19 01:08:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-19 19:52:37 -0400 |
commit | f1bf7a5247a0f8e42025d19d732cbc70a57e6342 (patch) | |
tree | ccd34e4b2f92f4898306c9074d80634ef69b94bf /drivers/net/qlcnic | |
parent | 84418e3b10b5ba43eb5b85f725e75fd9c9730670 (diff) |
qlcnic: fix inconsistent lock state
Spin_lock(rds_ring->lock) is not required while posting buffers
from qlcnic_open and freeing buffers from qlcnic_down.
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlcnic')
-rw-r--r-- | drivers/net/qlcnic/qlcnic_init.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c index 75ba744b173c..08da25895fad 100644 --- a/drivers/net/qlcnic/qlcnic_init.c +++ b/drivers/net/qlcnic/qlcnic_init.c | |||
@@ -136,8 +136,6 @@ void qlcnic_reset_rx_buffers_list(struct qlcnic_adapter *adapter) | |||
136 | for (ring = 0; ring < adapter->max_rds_rings; ring++) { | 136 | for (ring = 0; ring < adapter->max_rds_rings; ring++) { |
137 | rds_ring = &recv_ctx->rds_rings[ring]; | 137 | rds_ring = &recv_ctx->rds_rings[ring]; |
138 | 138 | ||
139 | spin_lock(&rds_ring->lock); | ||
140 | |||
141 | INIT_LIST_HEAD(&rds_ring->free_list); | 139 | INIT_LIST_HEAD(&rds_ring->free_list); |
142 | 140 | ||
143 | rx_buf = rds_ring->rx_buf_arr; | 141 | rx_buf = rds_ring->rx_buf_arr; |
@@ -146,8 +144,6 @@ void qlcnic_reset_rx_buffers_list(struct qlcnic_adapter *adapter) | |||
146 | &rds_ring->free_list); | 144 | &rds_ring->free_list); |
147 | rx_buf++; | 145 | rx_buf++; |
148 | } | 146 | } |
149 | |||
150 | spin_unlock(&rds_ring->lock); | ||
151 | } | 147 | } |
152 | } | 148 | } |
153 | 149 | ||
@@ -1587,8 +1583,6 @@ qlcnic_post_rx_buffers(struct qlcnic_adapter *adapter, u32 ringid, | |||
1587 | int producer, count = 0; | 1583 | int producer, count = 0; |
1588 | struct list_head *head; | 1584 | struct list_head *head; |
1589 | 1585 | ||
1590 | spin_lock(&rds_ring->lock); | ||
1591 | |||
1592 | producer = rds_ring->producer; | 1586 | producer = rds_ring->producer; |
1593 | 1587 | ||
1594 | head = &rds_ring->free_list; | 1588 | head = &rds_ring->free_list; |
@@ -1618,7 +1612,6 @@ qlcnic_post_rx_buffers(struct qlcnic_adapter *adapter, u32 ringid, | |||
1618 | writel((producer-1) & (rds_ring->num_desc-1), | 1612 | writel((producer-1) & (rds_ring->num_desc-1), |
1619 | rds_ring->crb_rcv_producer); | 1613 | rds_ring->crb_rcv_producer); |
1620 | } | 1614 | } |
1621 | spin_unlock(&rds_ring->lock); | ||
1622 | } | 1615 | } |
1623 | 1616 | ||
1624 | static void | 1617 | static void |