aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2013-01-29 04:48:30 -0500
committerJiri Kosina <jkosina@suse.cz>2013-01-29 04:48:30 -0500
commit617677295b53a40d0e54aac4cbbc216ffbc755dd (patch)
tree51b9e87213243ed5efff252c8e8d8fec4eebc588 /drivers/firewire
parent5c8d1b68e01a144813e38795fe6dbe7ebb506131 (diff)
parent6abb7c25775b7fb2225ad0508236d63ca710e65f (diff)
Merge branch 'master' into for-next
Conflicts: drivers/devfreq/exynos4_bus.c Sync with Linus' tree to be able to apply patches that are against newer code (mvneta).
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/net.c15
-rw-r--r--drivers/firewire/nosy.c4
-rw-r--r--drivers/firewire/ohci.c2
3 files changed, 12 insertions, 9 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/nosy.c b/drivers/firewire/nosy.c
index 4ebfb2273672..76b2d390f6ec 100644
--- a/drivers/firewire/nosy.c
+++ b/drivers/firewire/nosy.c
@@ -529,7 +529,7 @@ remove_card(struct pci_dev *dev)
529 529
530#define RCV_BUFFER_SIZE (16 * 1024) 530#define RCV_BUFFER_SIZE (16 * 1024)
531 531
532static int __devinit 532static int
533add_card(struct pci_dev *dev, const struct pci_device_id *unused) 533add_card(struct pci_dev *dev, const struct pci_device_id *unused)
534{ 534{
535 struct pcilynx *lynx; 535 struct pcilynx *lynx;
@@ -683,7 +683,7 @@ fail_disable:
683 return ret; 683 return ret;
684} 684}
685 685
686static struct pci_device_id pci_table[] __devinitdata = { 686static struct pci_device_id pci_table[] = {
687 { 687 {
688 .vendor = PCI_VENDOR_ID_TI, 688 .vendor = PCI_VENDOR_ID_TI,
689 .device = PCI_DEVICE_ID_TI_PCILYNX, 689 .device = PCI_DEVICE_ID_TI_PCILYNX,
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c
index 638eea51376b..45912e6e0ac2 100644
--- a/drivers/firewire/ohci.c
+++ b/drivers/firewire/ohci.c
@@ -3537,7 +3537,7 @@ static inline void pmac_ohci_on(struct pci_dev *dev) {}
3537static inline void pmac_ohci_off(struct pci_dev *dev) {} 3537static inline void pmac_ohci_off(struct pci_dev *dev) {}
3538#endif /* CONFIG_PPC_PMAC */ 3538#endif /* CONFIG_PPC_PMAC */
3539 3539
3540static int __devinit pci_probe(struct pci_dev *dev, 3540static int pci_probe(struct pci_dev *dev,
3541 const struct pci_device_id *ent) 3541 const struct pci_device_id *ent)
3542{ 3542{
3543 struct fw_ohci *ohci; 3543 struct fw_ohci *ohci;