aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAmit Kumar Salecha <amit.salecha@qlogic.com>2010-08-19 01:08:22 -0400
committerDavid S. Miller <davem@davemloft.net>2010-08-19 19:52:37 -0400
commitf1bf7a5247a0f8e42025d19d732cbc70a57e6342 (patch)
treeccd34e4b2f92f4898306c9074d80634ef69b94bf /drivers
parent84418e3b10b5ba43eb5b85f725e75fd9c9730670 (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')
-rw-r--r--drivers/net/qlcnic/qlcnic_init.c7
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
1624static void 1617static void