firewire: core: fix multichannel IR with buffers larger than 2 GB
With a 32-bit i, computing i<<PAGE_SHIFT might result in an overflow and in an eventual sign-extension. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
parent
7baab9acfb
commit
9d23f9e946
|
@ -146,7 +146,7 @@ EXPORT_SYMBOL(fw_iso_buffer_destroy);
|
||||||
/* Convert DMA address to offset into virtually contiguous buffer. */
|
/* Convert DMA address to offset into virtually contiguous buffer. */
|
||||||
size_t fw_iso_buffer_lookup(struct fw_iso_buffer *buffer, dma_addr_t completed)
|
size_t fw_iso_buffer_lookup(struct fw_iso_buffer *buffer, dma_addr_t completed)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
dma_addr_t address;
|
dma_addr_t address;
|
||||||
ssize_t offset;
|
ssize_t offset;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue