]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - Documentation/networking/driver.txt
Merge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / Documentation / networking / driver.txt
index 4f7da5a2bf4f8ce7c3300f49fae7e073cdf51380..03283daa64fef72360667fb979a256aa10a3bb91 100644 (file)
@@ -13,7 +13,7 @@ Transmit path guidelines:
        static int drv_hard_start_xmit(struct sk_buff *skb,
                                       struct net_device *dev)
        {
        static int drv_hard_start_xmit(struct sk_buff *skb,
                                       struct net_device *dev)
        {
-               struct drv *dp = dev->priv;
+               struct drv *dp = netdev_priv(dev);
 
                lock_tx(dp);
                ...
 
                lock_tx(dp);
                ...
@@ -61,7 +61,10 @@ Transmit path guidelines:
 2) Do not forget to update netdev->trans_start to jiffies after
    each new tx packet is given to the hardware.
 
 2) Do not forget to update netdev->trans_start to jiffies after
    each new tx packet is given to the hardware.
 
-3) Do not forget that once you return 0 from your hard_start_xmit
+3) A hard_start_xmit method must not modify the shared parts of a
+   cloned SKB.
+
+4) Do not forget that once you return 0 from your hard_start_xmit
    method, it is your driver's responsibility to free up the SKB
    and in some finite amount of time.
 
    method, it is your driver's responsibility to free up the SKB
    and in some finite amount of time.