On Wed, Feb 13, 2013 at 10:24:05AM -0800, [email protected] wrote:
[...]
> 
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -143,7 +143,8 @@ void xen_netbk_remove_xenvif(struct xenv
>       atomic_dec(&netbk->netfront_count);
>  }
>  
> -static void xen_netbk_idx_release(struct xen_netbk *netbk, u16 pending_idx);
> +static void xen_netbk_idx_release(struct xen_netbk *netbk, u16 pending_idx,
> +                               u8 status);
>  static void make_tx_response(struct xenvif *vif,
>                            struct xen_netif_tx_request *txp,
>                            s8       st);
> @@ -968,30 +969,20 @@ static int xen_netbk_tx_check_gop(struct
>  {
>       struct gnttab_copy *gop = *gopp;
>       int pending_idx = *((u16 *)skb->data);
> -     struct pending_tx_info *pending_tx_info = netbk->pending_tx_info;
> -     struct xenvif *vif = pending_tx_info[pending_idx].vif;
> -     struct xen_netif_tx_request *txp;
>       struct skb_shared_info *shinfo = skb_shinfo(skb);
>       int nr_frags = shinfo->nr_frags;
>       int i, err, start;
>  
>       /* Check status of header. */
>       err = gop->status;
> -     if (unlikely(err)) {
> -             pending_ring_idx_t index;
> -             index = pending_index(netbk->pending_prod++);
> -             txp = &pending_tx_info[pending_idx].req;
> -             make_tx_response(vif, txp, XEN_NETIF_RSP_ERROR);
> -             netbk->pending_ring[index] = pending_idx;
> -             xenvif_put(vif);
> -     }
> +     if (unlikely(err))
> +             xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_ERROR);
>  
>       /* Skip first skb fragment if it is on same page as header fragment. */
> -     start = ((unsigned long)shinfo->frags[0].page == pending_idx);
> +     start = ((unsigned long)shinfo->frags[i].page == pending_idx);

This is wrong, change is not on original patch and i is unitialized here.

[...]
-- 
[]'s
Herton
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to