|
@@ -284,25 +284,6 @@ static struct pci_driver liquidio_vf_pci_driver = {
|
|
|
.err_handler = &liquidio_vf_err_handler, /* For AER */
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * Remove the node at the head of the list. The list would be empty at
|
|
|
- * the end of this call if there are no more nodes in the list.
|
|
|
- */
|
|
|
-static struct list_head *list_delete_head(struct list_head *root)
|
|
|
-{
|
|
|
- struct list_head *node;
|
|
|
-
|
|
|
- if ((root->prev == root) && (root->next == root))
|
|
|
- node = NULL;
|
|
|
- else
|
|
|
- node = root->next;
|
|
|
-
|
|
|
- if (node)
|
|
|
- list_del(node);
|
|
|
-
|
|
|
- return node;
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* \brief Delete gather lists
|
|
|
* @param lio per-network private data
|
|
@@ -321,7 +302,7 @@ static void delete_glists(struct lio *lio)
|
|
|
for (i = 0; i < lio->linfo.num_txpciq; i++) {
|
|
|
do {
|
|
|
g = (struct octnic_gather *)
|
|
|
- list_delete_head(&lio->glist[i]);
|
|
|
+ lio_list_delete_head(&lio->glist[i]);
|
|
|
kfree(g);
|
|
|
} while (g);
|
|
|
|
|
@@ -1644,8 +1625,8 @@ static int liquidio_xmit(struct sk_buff *skb, struct net_device *netdev)
|
|
|
int i, frags;
|
|
|
|
|
|
spin_lock(&lio->glist_lock[q_idx]);
|
|
|
- g = (struct octnic_gather *)list_delete_head(
|
|
|
- &lio->glist[q_idx]);
|
|
|
+ g = (struct octnic_gather *)
|
|
|
+ lio_list_delete_head(&lio->glist[q_idx]);
|
|
|
spin_unlock(&lio->glist_lock[q_idx]);
|
|
|
|
|
|
if (!g) {
|