ptask 816 drivers/firewire/net.c static void fwnet_free_ptask(struct fwnet_packet_task *ptask) ptask 818 drivers/firewire/net.c dev_kfree_skb_any(ptask->skb); ptask 819 drivers/firewire/net.c kmem_cache_free(fwnet_packet_task_cache, ptask); ptask 829 drivers/firewire/net.c static int fwnet_send_packet(struct fwnet_packet_task *ptask); ptask 831 drivers/firewire/net.c static void fwnet_transmit_packet_done(struct fwnet_packet_task *ptask) ptask 833 drivers/firewire/net.c struct fwnet_device *dev = ptask->dev; ptask 834 drivers/firewire/net.c struct sk_buff *skb = ptask->skb; ptask 840 drivers/firewire/net.c ptask->outstanding_pkts--; ptask 843 drivers/firewire/net.c free = (ptask->outstanding_pkts == 0 && ptask->enqueued); ptask 847 drivers/firewire/net.c if (ptask->outstanding_pkts == 0) { ptask 854 drivers/firewire/net.c if (ptask->outstanding_pkts > 0) { ptask 861 drivers/firewire/net.c lf = fwnet_get_hdr_lf(&ptask->hdr); ptask 868 drivers/firewire/net.c ptask->outstanding_pkts, lf, ptask->hdr.w0, ptask 869 drivers/firewire/net.c ptask->hdr.w1); ptask 874 drivers/firewire/net.c dg_size = fwnet_get_hdr_dg_size(&ptask->hdr); ptask 875 drivers/firewire/net.c fg_off = ptask->max_payload - RFC2374_FRAG_HDR_SIZE; ptask 876 drivers/firewire/net.c datagram_label = fwnet_get_hdr_dgl(&ptask->hdr); ptask 880 drivers/firewire/net.c dg_size = fwnet_get_hdr_dg_size(&ptask->hdr); ptask 881 drivers/firewire/net.c fg_off = fwnet_get_hdr_fg_off(&ptask->hdr) ptask 882 drivers/firewire/net.c + ptask->max_payload - RFC2374_FRAG_HDR_SIZE; ptask 883 drivers/firewire/net.c datagram_label = fwnet_get_hdr_dgl(&ptask->hdr); ptask 887 drivers/firewire/net.c if (ptask->dest_node == IEEE1394_ALL_NODES) { ptask 889 drivers/firewire/net.c ptask->max_payload + IEEE1394_GASP_HDR_SIZE); ptask 891 drivers/firewire/net.c skb_pull(skb, ptask->max_payload); ptask 893 drivers/firewire/net.c if (ptask->outstanding_pkts > 1) { ptask 894 drivers/firewire/net.c fwnet_make_sf_hdr(&ptask->hdr, RFC2374_HDR_INTFRAG, ptask 897 drivers/firewire/net.c fwnet_make_sf_hdr(&ptask->hdr, RFC2374_HDR_LASTFRAG, ptask 899 drivers/firewire/net.c ptask->max_payload = skb->len + RFC2374_FRAG_HDR_SIZE; ptask 901 drivers/firewire/net.c fwnet_send_packet(ptask); ptask 905 drivers/firewire/net.c fwnet_free_ptask(ptask); ptask 908 drivers/firewire/net.c static void fwnet_transmit_packet_failed(struct fwnet_packet_task *ptask) ptask 910 drivers/firewire/net.c struct fwnet_device *dev = ptask->dev; ptask 917 drivers/firewire/net.c ptask->outstanding_pkts = 0; ptask 920 drivers/firewire/net.c free = ptask->enqueued; ptask 930 drivers/firewire/net.c fwnet_free_ptask(ptask); ptask 936 drivers/firewire/net.c struct fwnet_packet_task *ptask = data; ptask 941 drivers/firewire/net.c fwnet_transmit_packet_done(ptask); ptask 944 drivers/firewire/net.c dev_err(&ptask->dev->netdev->dev, ptask 953 drivers/firewire/net.c fwnet_transmit_packet_failed(ptask); ptask 957 drivers/firewire/net.c static int fwnet_send_packet(struct fwnet_packet_task *ptask) ptask 965 drivers/firewire/net.c dev = ptask->dev; ptask 966 drivers/firewire/net.c tx_len = ptask->max_payload; ptask 967 drivers/firewire/net.c switch (fwnet_get_hdr_lf(&ptask->hdr)) { ptask 969 drivers/firewire/net.c bufhdr = skb_push(ptask->skb, RFC2374_UNFRAG_HDR_SIZE); ptask 970 drivers/firewire/net.c put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0); ptask 976 drivers/firewire/net.c bufhdr = skb_push(ptask->skb, RFC2374_FRAG_HDR_SIZE); ptask 977 drivers/firewire/net.c put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0); ptask 978 drivers/firewire/net.c put_unaligned_be32(ptask->hdr.w1, &bufhdr->w1); ptask 984 drivers/firewire/net.c if (ptask->dest_node == IEEE1394_ALL_NODES) { ptask 995 drivers/firewire/net.c switch (ptask->skb->protocol) { ptask 1005 drivers/firewire/net.c p = skb_push(ptask->skb, IEEE1394_GASP_HDR_SIZE); ptask 1011 drivers/firewire/net.c fw_send_request(dev->card, &ptask->transaction, ptask 1015 drivers/firewire/net.c generation, SCODE_100, 0ULL, ptask->skb->data, ptask 1016 drivers/firewire/net.c tx_len + 8, fwnet_write_complete, ptask); ptask 1021 drivers/firewire/net.c free = (ptask->outstanding_pkts == 0 && !ptask->enqueued); ptask 1023 drivers/firewire/net.c ptask->enqueued = true; ptask 1032 drivers/firewire/net.c fw_send_request(dev->card, &ptask->transaction, ptask 1033 drivers/firewire/net.c TCODE_WRITE_BLOCK_REQUEST, ptask->dest_node, ptask 1034 drivers/firewire/net.c ptask->generation, ptask->speed, ptask->fifo_addr, ptask 1035 drivers/firewire/net.c ptask->skb->data, tx_len, fwnet_write_complete, ptask); ptask 1040 drivers/firewire/net.c free = (ptask->outstanding_pkts == 0 && !ptask->enqueued); ptask 1042 drivers/firewire/net.c ptask->enqueued = true; ptask 1051 drivers/firewire/net.c fwnet_free_ptask(ptask); ptask 1245 drivers/firewire/net.c struct fwnet_packet_task *ptask; ptask 1258 drivers/firewire/net.c ptask = kmem_cache_alloc(fwnet_packet_task_cache, GFP_ATOMIC); ptask 1259 drivers/firewire/net.c if (ptask == NULL) ptask 1295 drivers/firewire/net.c ptask->fifo_addr = FWNET_NO_FIFO_ADDR; ptask 1296 drivers/firewire/net.c ptask->generation = 0; ptask 1297 drivers/firewire/net.c ptask->dest_node = IEEE1394_ALL_NODES; ptask 1298 drivers/firewire/net.c ptask->speed = SCODE_100; ptask 1313 drivers/firewire/net.c ptask->fifo_addr = fwnet_hwaddr_fifo(ha); ptask 1314 drivers/firewire/net.c ptask->generation = generation; ptask 1315 drivers/firewire/net.c ptask->dest_node = dest_node; ptask 1316 drivers/firewire/net.c ptask->speed = peer->speed; ptask 1319 drivers/firewire/net.c ptask->hdr.w0 = 0; ptask 1320 drivers/firewire/net.c ptask->hdr.w1 = 0; ptask 1321 drivers/firewire/net.c ptask->skb = skb; ptask 1322 drivers/firewire/net.c ptask->dev = dev; ptask 1326 drivers/firewire/net.c fwnet_make_uf_hdr(&ptask->hdr, ntohs(proto)); ptask 1327 drivers/firewire/net.c ptask->outstanding_pkts = 1; ptask 1334 drivers/firewire/net.c fwnet_make_ff_hdr(&ptask->hdr, ntohs(proto), dg_size, ptask 1336 drivers/firewire/net.c ptask->outstanding_pkts = DIV_ROUND_UP(dg_size, max_payload); ptask 1345 drivers/firewire/net.c ptask->max_payload = max_payload; ptask 1346 drivers/firewire/net.c ptask->enqueued = 0; ptask 1348 drivers/firewire/net.c fwnet_send_packet(ptask); ptask 1355 drivers/firewire/net.c if (ptask) ptask 1356 drivers/firewire/net.c kmem_cache_free(fwnet_packet_task_cache, ptask);