• S
    firewire: net: fix memory leaks · 7ee11fa8
    Stefan Richter 提交于
    a) fwnet_transmit_packet_done used to poison ptask->pt_link by list_del.
    If fwnet_send_packet checked later whether it was responsible to clean
    up (in the border case that the TX soft IRQ was outpaced by the AT-req
    tasklet on another CPU), it missed this because ptask->pt_link was no
    longer shown as empty.
    
    b) If fwnet_write_complete got an rcode other than RCODE_COMPLETE, we
    missed to free the skb and ptask entirely.
    
    Also, count stats.tx_dropped and stats.tx_errors when rcode != 0.
    Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
    7ee11fa8
net.c 42.9 KB