diff options
Diffstat (limited to 'drivers/net/xen-netback/netback.c')
| -rw-r--r-- | drivers/net/xen-netback/netback.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c index a256695fc89e..3d2081bbbc86 100644 --- a/drivers/net/xen-netback/netback.c +++ b/drivers/net/xen-netback/netback.c @@ -133,7 +133,7 @@ static inline unsigned long idx_to_kaddr(struct xenvif_queue *queue,  /* Find the containing VIF's structure from a pointer in pending_tx_info array   */ -static inline struct xenvif_queue *ubuf_to_queue(const struct ubuf_info *ubuf) +static inline struct xenvif_queue *ubuf_to_queue(const struct ubuf_info_msgzc *ubuf)  {  	u16 pending_idx = ubuf->desc;  	struct pending_tx_info *temp = @@ -1228,11 +1228,12 @@ static int xenvif_tx_submit(struct xenvif_queue *queue)  	return work_done;  } -void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf, +void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf_base,  			      bool zerocopy_success)  {  	unsigned long flags;  	pending_ring_idx_t index; +	struct ubuf_info_msgzc *ubuf = uarg_to_msgzc(ubuf_base);  	struct xenvif_queue *queue = ubuf_to_queue(ubuf);  	/* This is the only place where we grab this lock, to protect callbacks @@ -1241,7 +1242,7 @@ void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf,  	spin_lock_irqsave(&queue->callback_lock, flags);  	do {  		u16 pending_idx = ubuf->desc; -		ubuf = (struct ubuf_info *) ubuf->ctx; +		ubuf = (struct ubuf_info_msgzc *) ubuf->ctx;  		BUG_ON(queue->dealloc_prod - queue->dealloc_cons >=  			MAX_PENDING_REQS);  		index = pending_index(queue->dealloc_prod);  |