firewire: Add a comment to describe why we split the sg list.
authorKristian Høgsberg, Stefan Richter <stefanr@s5r6.in-berlin.de>
Wed, 9 May 2007 23:23:10 +0000 (19:23 -0400)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Thu, 10 May 2007 16:24:14 +0000 (18:24 +0200)
Signed-off-by: Kristian Hoegsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/fw-sbp2.c

index 07be24e..cb808d5 100644 (file)
@@ -926,7 +926,10 @@ static int sbp2_command_orb_map_scatterlist(struct sbp2_command_orb *orb)
 
        /*
         * Convert the scatterlist to an sbp2 page table.  If any
-        * scatterlist entries are too big for sbp2 we split the as we go.
+        * scatterlist entries are too big for sbp2, we split them as we
+        * go.  Even if we ask the block I/O layer to not give us sg
+        * elements larger than 65535 bytes, some IOMMUs may merge sg elements
+        * during DMA mapping, and Linux currently doesn't prevent this.
         */
        for (i = 0, j = 0; i < count; i++) {
                sg_len = sg_dma_len(sg + i);