Initialize err to 0 instead of ENOMEM, and specifically set
err to ENOMEM in the devm_kcalloc() failure cases.

Also, add an error message to the end of reconfig.

Signed-off-by: Shannon Nelson <snelson@pensando.io>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Shannon Nelson 2021-07-27 10:43:28 -07:00 коммит произвёл David S. Miller
Родитель 73d618bb7e
Коммит e7f52aa443
1 изменённых файлов: 10 добавлений и 3 удалений

Просмотреть файл

@ -2588,22 +2588,26 @@ int ionic_reconfigure_queues(struct ionic_lif *lif,
struct ionic_qcq **tx_qcqs = NULL;
struct ionic_qcq **rx_qcqs = NULL;
unsigned int flags, i;
int err = -ENOMEM;
int err = 0;
/* allocate temporary qcq arrays to hold new queue structs */
if (qparam->nxqs != lif->nxqs || qparam->ntxq_descs != lif->ntxq_descs) {
tx_qcqs = devm_kcalloc(lif->ionic->dev, lif->ionic->ntxqs_per_lif,
sizeof(struct ionic_qcq *), GFP_KERNEL);
if (!tx_qcqs)
if (!tx_qcqs) {
err = -ENOMEM;
goto err_out;
}
}
if (qparam->nxqs != lif->nxqs ||
qparam->nrxq_descs != lif->nrxq_descs ||
qparam->rxq_features != lif->rxq_features) {
rx_qcqs = devm_kcalloc(lif->ionic->dev, lif->ionic->nrxqs_per_lif,
sizeof(struct ionic_qcq *), GFP_KERNEL);
if (!rx_qcqs)
if (!rx_qcqs) {
err = -ENOMEM;
goto err_out;
}
}
/* allocate new desc_info and rings, but leave the interrupt setup
@ -2782,6 +2786,9 @@ err_out:
ionic_qcq_free(lif, lif->rxqcqs[i]);
}
if (err)
netdev_info(lif->netdev, "%s: failed %d\n", __func__, err);
return err;
}