- sa->txq_info = new_txq_info;
- if (nb_tx_queues > sa->txq_count)
- memset(&sa->txq_info[sa->txq_count], 0,
- (nb_tx_queues - sa->txq_count) *
- sizeof(sa->txq_info[0]));
+ new_txq_ctrl = realloc(sa->txq_ctrl,
+ nb_tx_queues * sizeof(sa->txq_ctrl[0]));
+ if (new_txq_ctrl == NULL && nb_tx_queues > 0)
+ goto fail_txqs_ctrl_realloc;
+
+ sas->txq_info = new_txq_info;
+ sa->txq_ctrl = new_txq_ctrl;
+ if (nb_tx_queues > sas->txq_count) {
+ memset(&sas->txq_info[sas->txq_count], 0,
+ (nb_tx_queues - sas->txq_count) *
+ sizeof(sas->txq_info[0]));
+ memset(&sa->txq_ctrl[sas->txq_count], 0,
+ (nb_tx_queues - sas->txq_count) *
+ sizeof(sa->txq_ctrl[0]));
+ }