Oliver Neukum [mailto:oneu...@suse.de] 
> Sent: Tuesday, August 13, 2013 4:49 PM
> To: Hayeswang
> Cc: net...@vger.kernel.org; linux-ker...@vger.kernel.org; 
> linux-usb@vger.kernel.org
> Subject: Re: [PATCH net-next 1/3] net/usb/r8152: support aggregation
> 
[...]
> > +               len_used = 0;
> > +               rx_desc = agg->head;
> > +               rx_data = agg->head;
> > +               smp_wmb();
> > +               pkt_len = le32_to_cpu(rx_desc->opts1) & RX_LEN_MASK;
> > +               len_used += sizeof(struct rx_desc) + pkt_len;
> > +
> > +               while (urb->actual_length >= len_used) {
> > +                       if (pkt_len < ETH_ZLEN)
> > +                               break;
> > +
> > +                       pkt_len -= 4; /* CRC */
> > +                       rx_data += sizeof(struct rx_desc);
> > +
> > +                       skb = netdev_alloc_skb_ip_align(netdev,
> > pkt_len);
> > +                       if (!skb) {
> > +                               stats->rx_dropped++;
> > +                               break;
> > +                       }
> > +                       memcpy(skb->data, rx_data, pkt_len);
> > +                       skb_put(skb, pkt_len);
> > +                       skb->protocol = eth_type_trans(skb, netdev);
> > +                       netif_rx(skb);
> > +                       stats->rx_packets++;
> > +                       stats->rx_bytes += pkt_len;
> > +
> > +                       rx_data = rx_agg_align(rx_data + 
> pkt_len + 4);
> > +                       rx_desc = (struct rx_desc *)rx_data;
> > +                       smp_wmb();
> 
> Against what is the memory barrier?

Excuse me. I don't understand your question. Do you mean the function should not
be used here?

Best Regards,
Hayes

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to