hi Stephen, > Use netdev_alloc_skb instead. It sets skb->dev so you don't have to.
netdev_alloc_skb() seems to cause 2 function calls [__netdev_alloc_skb() and __alloc_skb()], instead of just 1 for the dev_alloc_skb() case. It might be more efficient if the driver manually sets skb->dev. > Setting skb->len is redundant since that is what skb_put() does. That's why that line is being removed. > It would be best if you didn't have to copy data at all and could > receive directly into the skb. Probably, but then we'd need to worry about DMA and cache-aligned skb's. We'd also need to always allocate maximum-sized skb's; and that might be an issue since the AT91RM9200 is mainly used in embedded devices where the amount of RAM can be limited. > The existing code will cause poor realtime > performance since the driver is copying received data with IRQ's disabled. Only lower-priority interrupts should be disabled. Regards, Andrew Victor - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html