X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Documentation%2Fnetworking%2Fdriver.txt;h=ea72d2e66ca81a62fa493b695ed0e5cf94fc92a4;hb=2eccd6f65a0d4844318b1e30755cafd063833908;hp=a9ad58b49cc5459c82789bce189d9af51f77344e;hpb=5f3fdeb6242d84126e4bd45ac9e2246833fe8352;p=firefly-linux-kernel-4.4.55.git diff --git a/Documentation/networking/driver.txt b/Documentation/networking/driver.txt index a9ad58b49cc5..ea72d2e66ca8 100644 --- a/Documentation/networking/driver.txt +++ b/Documentation/networking/driver.txt @@ -37,7 +37,7 @@ Transmit path guidelines: ... } - And then at the end of your TX reclaimation event handling: + And then at the end of your TX reclamation event handling: if (netif_queue_stopped(dp->dev) && TX_BUFFS_AVAIL(dp) > (MAX_SKB_FRAGS + 1)) @@ -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. -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.