desc_state
static int ave_desc_switch(struct net_device *ndev, enum desc_state state)
*len = vq->split.desc_state[last_used].total_in_len;
if (unlikely(!vq->split.desc_state[last_used].data)) {
ret = vq->split.desc_state[last_used].data;
if (!vq->split.desc_state[i].data)
buf = vq->split.desc_state[i].data;
struct vring_desc_state_split *desc_state;
vring_split->desc_state = state;
kfree(vring_split->desc_state);
vq->packed.desc_state[id].num = 1;
vq->packed.desc_state[id].data = data;
vq->packed.desc_state[id].indir_desc = desc;
vq->packed.desc_state[id].last = id;
vq->packed.desc_state[id].total_in_len = total_in_len;
struct vring_desc_state_packed *desc_state;
vq->packed.desc_state[id].num = descs_used;
vq->packed.desc_state[id].data = data;
vq->packed.desc_state[id].indir_desc = ctx;
vq->packed.desc_state[id].last = prev;
vq->packed.desc_state[head].num = total_sg;
vq->packed.desc_state[head].data = data;
vq->packed.desc_state[head].indir_desc = ctx;
vq->packed.desc_state[head].total_in_len = total_in_len;
state = &vq->packed.desc_state[id];
struct vring_desc_state_packed *state = &vq->packed.desc_state[id];
last_used += vq->packed.desc_state[id].num;
*len = vq->packed.desc_state[last_used].total_in_len;
if (unlikely(!vq->packed.desc_state[last_used].data)) {
ret = vq->packed.desc_state[last_used].data;
if (unlikely(!vq->packed.desc_state[id].data)) {
ret = vq->packed.desc_state[id].data;
if (!vq->packed.desc_state[i].data)
buf = vq->packed.desc_state[i].data;
kfree(vring_packed->desc_state);
vring_packed->desc_state = state;
kfree(vq->packed.desc_state);
kfree(vq->split.desc_state);
vq->split.desc_state[head].total_in_len = total_in_len;
vq->split.desc_state[head].data = data;
vq->split.desc_state[head].indir_desc = desc;
vq->split.desc_state[head].indir_desc = ctx;
struct vring_desc *indir_desc = vq->split.desc_state[head].indir_desc;
vq->split.desc_state[head].indir_desc = NULL;
vq->split.desc_state[head].data = NULL;
*ctx = vq->split.desc_state[head].indir_desc;
if (unlikely(!vq->split.desc_state[i].data)) {
ret = vq->split.desc_state[i].data;
enum desc_state d_state;
enum desc_state d_state;
enum desc_state d_state;
static enum desc_state get_desc_state(unsigned long id,
static enum desc_state desc_read(struct prb_desc_ring *desc_ring,
enum desc_state d_state;
enum desc_state d_state;
enum desc_state d_state;