|
@@ -1809,19 +1809,8 @@ restart_loop:
|
|
|
}
|
|
|
|
|
|
if (txbuff->last_frag) {
|
|
|
- if (atomic_sub_return(next->tx_comp.num_comps,
|
|
|
- &scrq->used) <=
|
|
|
- (adapter->req_tx_entries_per_subcrq / 2) &&
|
|
|
- netif_subqueue_stopped(adapter->netdev,
|
|
|
- txbuff->skb)) {
|
|
|
- netif_wake_subqueue(adapter->netdev,
|
|
|
- scrq->pool_index);
|
|
|
- netdev_dbg(adapter->netdev,
|
|
|
- "Started queue %d\n",
|
|
|
- scrq->pool_index);
|
|
|
- }
|
|
|
-
|
|
|
dev_kfree_skb_any(txbuff->skb);
|
|
|
+ txbuff->skb = NULL;
|
|
|
}
|
|
|
|
|
|
adapter->tx_pool[pool].free_map[adapter->tx_pool[pool].
|
|
@@ -1832,6 +1821,15 @@ restart_loop:
|
|
|
}
|
|
|
/* remove tx_comp scrq*/
|
|
|
next->tx_comp.first = 0;
|
|
|
+
|
|
|
+ if (atomic_sub_return(next->tx_comp.num_comps, &scrq->used) <=
|
|
|
+ (adapter->req_tx_entries_per_subcrq / 2) &&
|
|
|
+ __netif_subqueue_stopped(adapter->netdev,
|
|
|
+ scrq->pool_index)) {
|
|
|
+ netif_wake_subqueue(adapter->netdev, scrq->pool_index);
|
|
|
+ netdev_info(adapter->netdev, "Started queue %d\n",
|
|
|
+ scrq->pool_index);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
enable_scrq_irq(adapter, scrq);
|