diff options
-rw-r--r-- | drivers/firewire/net.c | 15 | ||||
-rw-r--r-- | drivers/firewire/sbp2.c | 2 | ||||
-rw-r--r-- | tools/firewire/nosy-dump.c | 4 |
3 files changed, 13 insertions, 8 deletions
diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c index 08c674957af8..e7a711f53a6f 100644 --- a/drivers/firewire/net.c +++ b/drivers/firewire/net.c | |||
@@ -828,7 +828,6 @@ static void fwnet_receive_broadcast(struct fw_iso_context *context, | |||
828 | { | 828 | { |
829 | struct fwnet_device *dev; | 829 | struct fwnet_device *dev; |
830 | struct fw_iso_packet packet; | 830 | struct fw_iso_packet packet; |
831 | struct fw_card *card; | ||
832 | __be16 *hdr_ptr; | 831 | __be16 *hdr_ptr; |
833 | __be32 *buf_ptr; | 832 | __be32 *buf_ptr; |
834 | int retval; | 833 | int retval; |
@@ -840,7 +839,6 @@ static void fwnet_receive_broadcast(struct fw_iso_context *context, | |||
840 | unsigned long flags; | 839 | unsigned long flags; |
841 | 840 | ||
842 | dev = data; | 841 | dev = data; |
843 | card = dev->card; | ||
844 | hdr_ptr = header; | 842 | hdr_ptr = header; |
845 | length = be16_to_cpup(hdr_ptr); | 843 | length = be16_to_cpup(hdr_ptr); |
846 | 844 | ||
@@ -861,8 +859,8 @@ static void fwnet_receive_broadcast(struct fw_iso_context *context, | |||
861 | if (specifier_id == IANA_SPECIFIER_ID && ver == RFC2734_SW_VERSION) { | 859 | if (specifier_id == IANA_SPECIFIER_ID && ver == RFC2734_SW_VERSION) { |
862 | buf_ptr += 2; | 860 | buf_ptr += 2; |
863 | length -= IEEE1394_GASP_HDR_SIZE; | 861 | length -= IEEE1394_GASP_HDR_SIZE; |
864 | fwnet_incoming_packet(dev, buf_ptr, length, | 862 | fwnet_incoming_packet(dev, buf_ptr, length, source_node_id, |
865 | source_node_id, -1, true); | 863 | context->card->generation, true); |
866 | } | 864 | } |
867 | 865 | ||
868 | packet.payload_length = dev->rcv_buffer_size; | 866 | packet.payload_length = dev->rcv_buffer_size; |
@@ -958,7 +956,12 @@ static void fwnet_transmit_packet_done(struct fwnet_packet_task *ptask) | |||
958 | break; | 956 | break; |
959 | } | 957 | } |
960 | 958 | ||
961 | skb_pull(skb, ptask->max_payload); | 959 | if (ptask->dest_node == IEEE1394_ALL_NODES) { |
960 | skb_pull(skb, | ||
961 | ptask->max_payload + IEEE1394_GASP_HDR_SIZE); | ||
962 | } else { | ||
963 | skb_pull(skb, ptask->max_payload); | ||
964 | } | ||
962 | if (ptask->outstanding_pkts > 1) { | 965 | if (ptask->outstanding_pkts > 1) { |
963 | fwnet_make_sf_hdr(&ptask->hdr, RFC2374_HDR_INTFRAG, | 966 | fwnet_make_sf_hdr(&ptask->hdr, RFC2374_HDR_INTFRAG, |
964 | dg_size, fg_off, datagram_label); | 967 | dg_size, fg_off, datagram_label); |
@@ -1062,7 +1065,7 @@ static int fwnet_send_packet(struct fwnet_packet_task *ptask) | |||
1062 | smp_rmb(); | 1065 | smp_rmb(); |
1063 | node_id = dev->card->node_id; | 1066 | node_id = dev->card->node_id; |
1064 | 1067 | ||
1065 | p = skb_push(ptask->skb, 8); | 1068 | p = skb_push(ptask->skb, IEEE1394_GASP_HDR_SIZE); |
1066 | put_unaligned_be32(node_id << 16 | IANA_SPECIFIER_ID >> 8, p); | 1069 | put_unaligned_be32(node_id << 16 | IANA_SPECIFIER_ID >> 8, p); |
1067 | put_unaligned_be32((IANA_SPECIFIER_ID & 0xff) << 24 | 1070 | put_unaligned_be32((IANA_SPECIFIER_ID & 0xff) << 24 |
1068 | | RFC2734_SW_VERSION, &p[4]); | 1071 | | RFC2734_SW_VERSION, &p[4]); |
diff --git a/drivers/firewire/sbp2.c b/drivers/firewire/sbp2.c index bb1b392f5cda..1162d6b3bf85 100644 --- a/drivers/firewire/sbp2.c +++ b/drivers/firewire/sbp2.c | |||
@@ -1546,8 +1546,6 @@ static int sbp2_scsi_slave_configure(struct scsi_device *sdev) | |||
1546 | struct sbp2_logical_unit *lu = sdev->hostdata; | 1546 | struct sbp2_logical_unit *lu = sdev->hostdata; |
1547 | 1547 | ||
1548 | sdev->use_10_for_rw = 1; | 1548 | sdev->use_10_for_rw = 1; |
1549 | sdev->no_report_opcodes = 1; | ||
1550 | sdev->no_write_same = 1; | ||
1551 | 1549 | ||
1552 | if (sbp2_param_exclusive_login) | 1550 | if (sbp2_param_exclusive_login) |
1553 | sdev->manage_start_stop = 1; | 1551 | sdev->manage_start_stop = 1; |
diff --git a/tools/firewire/nosy-dump.c b/tools/firewire/nosy-dump.c index f93b776370b6..3179c711bd65 100644 --- a/tools/firewire/nosy-dump.c +++ b/tools/firewire/nosy-dump.c | |||
@@ -150,6 +150,8 @@ subaction_create(uint32_t *data, size_t length) | |||
150 | 150 | ||
151 | /* we put the ack in the subaction struct for easy access. */ | 151 | /* we put the ack in the subaction struct for easy access. */ |
152 | sa = malloc(sizeof *sa - sizeof sa->packet + length); | 152 | sa = malloc(sizeof *sa - sizeof sa->packet + length); |
153 | if (!sa) | ||
154 | exit(EXIT_FAILURE); | ||
153 | sa->ack = data[length / 4 - 1]; | 155 | sa->ack = data[length / 4 - 1]; |
154 | sa->length = length; | 156 | sa->length = length; |
155 | memcpy(&sa->packet, data, length); | 157 | memcpy(&sa->packet, data, length); |
@@ -180,6 +182,8 @@ link_transaction_lookup(int request_node, int response_node, int tlabel) | |||
180 | } | 182 | } |
181 | 183 | ||
182 | t = malloc(sizeof *t); | 184 | t = malloc(sizeof *t); |
185 | if (!t) | ||
186 | exit(EXIT_FAILURE); | ||
183 | t->request_node = request_node; | 187 | t->request_node = request_node; |
184 | t->response_node = response_node; | 188 | t->response_node = response_node; |
185 | t->tlabel = tlabel; | 189 | t->tlabel = tlabel; |