qlge: pull NULL check ahead of dereference

There was a dereference before NULL check issue introduced in 1e213303d
"qlge: Add tx multiqueue support."  I've pulled the NULL check of
"net_rsp" forward a couple lines to avoid that.

Also Ron Mercer says that the early exit should be above the index
write.  ql_write_cq_idx(rx_ring);

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Dan Carpenter 2010-08-19 08:52:44 +00:00 committed by David S. Miller
parent 0add79e313
commit 4da79504b2

View File

@ -2222,10 +2222,11 @@ static int ql_clean_outbound_rx_ring(struct rx_ring *rx_ring)
ql_update_cq(rx_ring); ql_update_cq(rx_ring);
prod = ql_read_sh_reg(rx_ring->prod_idx_sh_reg); prod = ql_read_sh_reg(rx_ring->prod_idx_sh_reg);
} }
if (!net_rsp)
return 0;
ql_write_cq_idx(rx_ring); ql_write_cq_idx(rx_ring);
tx_ring = &qdev->tx_ring[net_rsp->txq_idx]; tx_ring = &qdev->tx_ring[net_rsp->txq_idx];
if (__netif_subqueue_stopped(qdev->ndev, tx_ring->wq_id) && if (__netif_subqueue_stopped(qdev->ndev, tx_ring->wq_id)) {
net_rsp != NULL) {
if (atomic_read(&tx_ring->queue_stopped) && if (atomic_read(&tx_ring->queue_stopped) &&
(atomic_read(&tx_ring->tx_count) > (tx_ring->wq_len / 4))) (atomic_read(&tx_ring->tx_count) > (tx_ring->wq_len / 4)))
/* /*