diff options
| -rw-r--r-- | drivers/firewire/fw-sbp2.c | 5 |
1 files changed, 4 insertions, 1 deletions
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) | |||
| 926 | 926 | ||
| 927 | /* | 927 | /* |
| 928 | * Convert the scatterlist to an sbp2 page table. If any | 928 | * Convert the scatterlist to an sbp2 page table. If any |
| 929 | * scatterlist entries are too big for sbp2 we split the as we go. | 929 | * scatterlist entries are too big for sbp2, we split them as we |
| 930 | * go. Even if we ask the block I/O layer to not give us sg | ||
| 931 | * elements larger than 65535 bytes, some IOMMUs may merge sg elements | ||
| 932 | * during DMA mapping, and Linux currently doesn't prevent this. | ||
| 930 | */ | 933 | */ |
| 931 | for (i = 0, j = 0; i < count; i++) { | 934 | for (i = 0, j = 0; i < count; i++) { |
| 932 | sg_len = sg_dma_len(sg + i); | 935 | sg_len = sg_dma_len(sg + i); |
