Forráskód Böngészése

firewire: Add a comment to describe why we split the sg list.

Signed-off-by: Kristian Hoegsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Kristian Høgsberg, Stefan Richter 18 éve
szülő
commit
36abb3b18e
1 módosított fájl, 4 hozzáadás és 1 törlés
  1. 4 1
      drivers/firewire/fw-sbp2.c

+ 4 - 1
drivers/firewire/fw-sbp2.c

@@ -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);