diff options
Diffstat (limited to 'drivers/net/bnx2x_main.c')
| -rw-r--r-- | drivers/net/bnx2x_main.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index d0884862b96c..3325592e5dab 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c | |||
| @@ -352,13 +352,14 @@ void bnx2x_read_dmae(struct bnx2x *bp, u32 src_addr, u32 len32) | |||
| 352 | void bnx2x_write_dmae_phys_len(struct bnx2x *bp, dma_addr_t phys_addr, | 352 | void bnx2x_write_dmae_phys_len(struct bnx2x *bp, dma_addr_t phys_addr, |
| 353 | u32 addr, u32 len) | 353 | u32 addr, u32 len) |
| 354 | { | 354 | { |
| 355 | int dmae_wr_max = DMAE_LEN32_WR_MAX(bp); | ||
| 355 | int offset = 0; | 356 | int offset = 0; |
| 356 | 357 | ||
| 357 | while (len > DMAE_LEN32_WR_MAX) { | 358 | while (len > dmae_wr_max) { |
| 358 | bnx2x_write_dmae(bp, phys_addr + offset, | 359 | bnx2x_write_dmae(bp, phys_addr + offset, |
| 359 | addr + offset, DMAE_LEN32_WR_MAX); | 360 | addr + offset, dmae_wr_max); |
| 360 | offset += DMAE_LEN32_WR_MAX * 4; | 361 | offset += dmae_wr_max * 4; |
| 361 | len -= DMAE_LEN32_WR_MAX; | 362 | len -= dmae_wr_max; |
| 362 | } | 363 | } |
| 363 | 364 | ||
| 364 | bnx2x_write_dmae(bp, phys_addr + offset, addr + offset, len); | 365 | bnx2x_write_dmae(bp, phys_addr + offset, addr + offset, len); |
