From 36abb3b18e26bf980e8529512853c5d73971a48b Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg, Stefan Richter Date: Wed, 9 May 2007 19:23:10 -0400 Subject: firewire: Add a comment to describe why we split the sg list. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c index 07be24e2d201..cb808d525314 100644 --- a/drivers/firewire/fw-sbp2.c +++ b/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); -- cgit v1.2.3