Skip to content

Commit

Permalink
e1000: Fix lock up while setting ring parameters
Browse files Browse the repository at this point in the history
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
  • Loading branch information
Jeff Kirsher authored and root committed Mar 3, 2006
1 parent 9f644d5 commit 0989aa4
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/net/e1000/e1000_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -634,6 +634,9 @@ e1000_set_ringparam(struct net_device *netdev,
struct e1000_rx_ring *rxdr, *rx_old, *rx_new;
int i, err, tx_ring_size, rx_ring_size;

if ((ring->rx_mini_pending) || (ring->rx_jumbo_pending))
return -EINVAL;

tx_ring_size = sizeof(struct e1000_tx_ring) * adapter->num_tx_queues;
rx_ring_size = sizeof(struct e1000_rx_ring) * adapter->num_rx_queues;

Expand Down Expand Up @@ -661,9 +664,6 @@ e1000_set_ringparam(struct net_device *netdev,
txdr = adapter->tx_ring;
rxdr = adapter->rx_ring;

if ((ring->rx_mini_pending) || (ring->rx_jumbo_pending))
return -EINVAL;

rxdr->count = max(ring->rx_pending,(uint32_t)E1000_MIN_RXD);
rxdr->count = min(rxdr->count,(uint32_t)(mac_type < e1000_82544 ?
E1000_MAX_RXD : E1000_MAX_82544_RXD));
Expand Down

0 comments on commit 0989aa4

Please sign in to comment.