Message ID | 1430394687-78627-1-git-send-email-tcamuso@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, Apr 30, 2015 at 07:51:27AM -0400, Tony Camuso wrote: > While testing this driver with DEBUG_LOCKDEP and DEBUG_SPINLOCK > enabled did not produce any traces, it would be more prudent in the > case of tx_clean_lock to use spin_[un]lock_bh, since this lock is > manipulated in both the process and softirq contexts. > > This patch was tested for functionality and regressions with netperf > and DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled. > > Signed-off-by: Tony Camuso <tcamuso@redhat.com> > > --- > drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c > index d746c97..2da9627 100644 > --- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c > +++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c > @@ -137,7 +137,7 @@ void netxen_release_tx_buffers(struct netxen_adapter *adapter) > int i, j; > struct nx_host_tx_ring *tx_ring = adapter->tx_ring; > > - spin_lock(&adapter->tx_clean_lock); > + spin_lock_bh(&adapter->tx_clean_lock); > cmd_buf = tx_ring->cmd_buf_arr; > for (i = 0; i < tx_ring->num_desc; i++) { > buffrag = cmd_buf->frag_array; > @@ -161,7 +161,7 @@ void netxen_release_tx_buffers(struct netxen_adapter *adapter) > } > cmd_buf++; > } > - spin_unlock(&adapter->tx_clean_lock); > + spin_unlock_bh(&adapter->tx_clean_lock); > } > > void netxen_free_sw_resources(struct netxen_adapter *adapter) > -- > 1.8.3.1 > Acked-by: Neil Horman <nhorman@tuxdriver.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Tony Camuso <tcamuso@redhat.com> Date: Thu, 30 Apr 2015 07:51:27 -0400 > While testing this driver with DEBUG_LOCKDEP and DEBUG_SPINLOCK > enabled did not produce any traces, it would be more prudent in the > case of tx_clean_lock to use spin_[un]lock_bh, since this lock is > manipulated in both the process and softirq contexts. > > This patch was tested for functionality and regressions with netperf > and DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled. > > Signed-off-by: Tony Camuso <tcamuso@redhat.com> Applied, thanks Tony. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c index d746c97..2da9627 100644 --- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c +++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c @@ -137,7 +137,7 @@ void netxen_release_tx_buffers(struct netxen_adapter *adapter) int i, j; struct nx_host_tx_ring *tx_ring = adapter->tx_ring; - spin_lock(&adapter->tx_clean_lock); + spin_lock_bh(&adapter->tx_clean_lock); cmd_buf = tx_ring->cmd_buf_arr; for (i = 0; i < tx_ring->num_desc; i++) { buffrag = cmd_buf->frag_array; @@ -161,7 +161,7 @@ void netxen_release_tx_buffers(struct netxen_adapter *adapter) } cmd_buf++; } - spin_unlock(&adapter->tx_clean_lock); + spin_unlock_bh(&adapter->tx_clean_lock); } void netxen_free_sw_resources(struct netxen_adapter *adapter)
While testing this driver with DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled did not produce any traces, it would be more prudent in the case of tx_clean_lock to use spin_[un]lock_bh, since this lock is manipulated in both the process and softirq contexts. This patch was tested for functionality and regressions with netperf and DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled. Signed-off-by: Tony Camuso <tcamuso@redhat.com> --- drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)