liquidio: Moved common function delete_glists to lio_core.c
Moved common function delete_glists to lio_core.c and renamed it to lio_delete_glists Signed-off-by: Intiyaz Basha <intiyaz.basha@cavium.com> Acked-by: Derek Chickles <derek.chickles@cavium.com> Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
85a0cd8186
commit
fd311f1e75
|
@ -61,6 +61,47 @@ void lio_if_cfg_callback(struct octeon_device *oct,
|
|||
wake_up_interruptible(&ctx->wc);
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Delete gather lists
|
||||
* @param lio per-network private data
|
||||
*/
|
||||
void lio_delete_glists(struct lio *lio)
|
||||
{
|
||||
struct octnic_gather *g;
|
||||
int i;
|
||||
|
||||
kfree(lio->glist_lock);
|
||||
lio->glist_lock = NULL;
|
||||
|
||||
if (!lio->glist)
|
||||
return;
|
||||
|
||||
for (i = 0; i < lio->linfo.num_txpciq; i++) {
|
||||
do {
|
||||
g = (struct octnic_gather *)
|
||||
lio_list_delete_head(&lio->glist[i]);
|
||||
kfree(g);
|
||||
} while (g);
|
||||
|
||||
if (lio->glists_virt_base && lio->glists_virt_base[i] &&
|
||||
lio->glists_dma_base && lio->glists_dma_base[i]) {
|
||||
lio_dma_free(lio->oct_dev,
|
||||
lio->glist_entry_size * lio->tx_qsize,
|
||||
lio->glists_virt_base[i],
|
||||
lio->glists_dma_base[i]);
|
||||
}
|
||||
}
|
||||
|
||||
kfree(lio->glists_virt_base);
|
||||
lio->glists_virt_base = NULL;
|
||||
|
||||
kfree(lio->glists_dma_base);
|
||||
lio->glists_dma_base = NULL;
|
||||
|
||||
kfree(lio->glist);
|
||||
lio->glist = NULL;
|
||||
}
|
||||
|
||||
int liquidio_set_feature(struct net_device *netdev, int cmd, u16 param1)
|
||||
{
|
||||
struct lio *lio = GET_LIO(netdev);
|
||||
|
|
|
@ -541,48 +541,6 @@ static inline int check_txq_status(struct lio *lio)
|
|||
return ret_val;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Delete gather lists
|
||||
* @param lio per-network private data
|
||||
*/
|
||||
static void delete_glists(struct lio *lio)
|
||||
{
|
||||
struct octnic_gather *g;
|
||||
int i;
|
||||
|
||||
kfree(lio->glist_lock);
|
||||
lio->glist_lock = NULL;
|
||||
|
||||
if (!lio->glist)
|
||||
return;
|
||||
|
||||
for (i = 0; i < lio->linfo.num_txpciq; i++) {
|
||||
do {
|
||||
g = (struct octnic_gather *)
|
||||
lio_list_delete_head(&lio->glist[i]);
|
||||
if (g)
|
||||
kfree(g);
|
||||
} while (g);
|
||||
|
||||
if (lio->glists_virt_base && lio->glists_virt_base[i] &&
|
||||
lio->glists_dma_base && lio->glists_dma_base[i]) {
|
||||
lio_dma_free(lio->oct_dev,
|
||||
lio->glist_entry_size * lio->tx_qsize,
|
||||
lio->glists_virt_base[i],
|
||||
lio->glists_dma_base[i]);
|
||||
}
|
||||
}
|
||||
|
||||
kfree(lio->glists_virt_base);
|
||||
lio->glists_virt_base = NULL;
|
||||
|
||||
kfree(lio->glists_dma_base);
|
||||
lio->glists_dma_base = NULL;
|
||||
|
||||
kfree(lio->glist);
|
||||
lio->glist = NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Setup gather lists
|
||||
* @param lio per-network private data
|
||||
|
@ -617,7 +575,7 @@ static int setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs)
|
|||
GFP_KERNEL);
|
||||
|
||||
if (!lio->glists_virt_base || !lio->glists_dma_base) {
|
||||
delete_glists(lio);
|
||||
lio_delete_glists(lio);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -634,7 +592,7 @@ static int setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs)
|
|||
&lio->glists_dma_base[i]);
|
||||
|
||||
if (!lio->glists_virt_base[i]) {
|
||||
delete_glists(lio);
|
||||
lio_delete_glists(lio);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -656,7 +614,7 @@ static int setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs)
|
|||
}
|
||||
|
||||
if (j != lio->tx_qsize) {
|
||||
delete_glists(lio);
|
||||
lio_delete_glists(lio);
|
||||
return -ENOMEM;
|
||||
}
|
||||
}
|
||||
|
@ -1452,7 +1410,7 @@ static void liquidio_destroy_nic_device(struct octeon_device *oct, int ifidx)
|
|||
|
||||
cleanup_rx_oom_poll_fn(netdev);
|
||||
|
||||
delete_glists(lio);
|
||||
lio_delete_glists(lio);
|
||||
|
||||
free_netdev(netdev);
|
||||
|
||||
|
|
|
@ -284,47 +284,6 @@ static struct pci_driver liquidio_vf_pci_driver = {
|
|||
.err_handler = &liquidio_vf_err_handler, /* For AER */
|
||||
};
|
||||
|
||||
/**
|
||||
* \brief Delete gather lists
|
||||
* @param lio per-network private data
|
||||
*/
|
||||
static void delete_glists(struct lio *lio)
|
||||
{
|
||||
struct octnic_gather *g;
|
||||
int i;
|
||||
|
||||
kfree(lio->glist_lock);
|
||||
lio->glist_lock = NULL;
|
||||
|
||||
if (!lio->glist)
|
||||
return;
|
||||
|
||||
for (i = 0; i < lio->linfo.num_txpciq; i++) {
|
||||
do {
|
||||
g = (struct octnic_gather *)
|
||||
lio_list_delete_head(&lio->glist[i]);
|
||||
kfree(g);
|
||||
} while (g);
|
||||
|
||||
if (lio->glists_virt_base && lio->glists_virt_base[i] &&
|
||||
lio->glists_dma_base && lio->glists_dma_base[i]) {
|
||||
lio_dma_free(lio->oct_dev,
|
||||
lio->glist_entry_size * lio->tx_qsize,
|
||||
lio->glists_virt_base[i],
|
||||
lio->glists_dma_base[i]);
|
||||
}
|
||||
}
|
||||
|
||||
kfree(lio->glists_virt_base);
|
||||
lio->glists_virt_base = NULL;
|
||||
|
||||
kfree(lio->glists_dma_base);
|
||||
lio->glists_dma_base = NULL;
|
||||
|
||||
kfree(lio->glist);
|
||||
lio->glist = NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Setup gather lists
|
||||
* @param lio per-network private data
|
||||
|
@ -359,7 +318,7 @@ static int setup_glists(struct lio *lio, int num_iqs)
|
|||
GFP_KERNEL);
|
||||
|
||||
if (!lio->glists_virt_base || !lio->glists_dma_base) {
|
||||
delete_glists(lio);
|
||||
lio_delete_glists(lio);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -374,7 +333,7 @@ static int setup_glists(struct lio *lio, int num_iqs)
|
|||
&lio->glists_dma_base[i]);
|
||||
|
||||
if (!lio->glists_virt_base[i]) {
|
||||
delete_glists(lio);
|
||||
lio_delete_glists(lio);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -393,7 +352,7 @@ static int setup_glists(struct lio *lio, int num_iqs)
|
|||
}
|
||||
|
||||
if (j != lio->tx_qsize) {
|
||||
delete_glists(lio);
|
||||
lio_delete_glists(lio);
|
||||
return -ENOMEM;
|
||||
}
|
||||
}
|
||||
|
@ -837,7 +796,7 @@ static void liquidio_destroy_nic_device(struct octeon_device *oct, int ifidx)
|
|||
|
||||
cleanup_link_status_change_wq(netdev);
|
||||
|
||||
delete_glists(lio);
|
||||
lio_delete_glists(lio);
|
||||
|
||||
free_netdev(netdev);
|
||||
|
||||
|
|
|
@ -203,6 +203,8 @@ void lio_if_cfg_callback(struct octeon_device *oct,
|
|||
u32 status __attribute__((unused)),
|
||||
void *buf);
|
||||
|
||||
void lio_delete_glists(struct lio *lio);
|
||||
|
||||
/**
|
||||
* \brief Net device change_mtu
|
||||
* @param netdev network device
|
||||
|
|
Loading…
Reference in New Issue