netxen: fix inconsistent lock state
authorAmit Kumar Salecha <amit.salecha@qlogic.com>
Tue, 17 Aug 2010 20:51:51 +0000 (20:51 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Aug 2010 07:28:16 +0000 (00:28 -0700)
Spin lock rds_ring->lock is used in poll routine, so other users should
use spin_lock_bh(). While posting rx buffers from netxen_nic_attach,
rds_ring->lock is not required, so cleaning it instead of fixing it by
spin_lock_bh().

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netxen/netxen_nic_init.c

index c865dda2adf15f8b59a579640d416099e9fabc0c..cabae7bb1fc6777d3366c5a8728feadcd53d0aa3 100644 (file)
@@ -1805,8 +1805,6 @@ netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ringid,
        netxen_ctx_msg msg = 0;
        struct list_head *head;
 
-       spin_lock(&rds_ring->lock);
-
        producer = rds_ring->producer;
 
        head = &rds_ring->free_list;
@@ -1853,8 +1851,6 @@ netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ringid,
                                        NETXEN_RCV_PRODUCER_OFFSET), msg);
                }
        }
-
-       spin_unlock(&rds_ring->lock);
 }
 
 static void