aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/sfc/rx.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c
index 9e0ad1b75c33..d780a0d096b4 100644
--- a/drivers/net/ethernet/sfc/rx.c
+++ b/drivers/net/ethernet/sfc/rx.c
@@ -187,7 +187,6 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
187 struct efx_nic *efx = rx_queue->efx; 187 struct efx_nic *efx = rx_queue->efx;
188 struct efx_rx_buffer *rx_buf; 188 struct efx_rx_buffer *rx_buf;
189 struct page *page; 189 struct page *page;
190 void *page_addr;
191 struct efx_rx_page_state *state; 190 struct efx_rx_page_state *state;
192 dma_addr_t dma_addr; 191 dma_addr_t dma_addr;
193 unsigned index, count; 192 unsigned index, count;
@@ -207,12 +206,10 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
207 __free_pages(page, efx->rx_buffer_order); 206 __free_pages(page, efx->rx_buffer_order);
208 return -EIO; 207 return -EIO;
209 } 208 }
210 page_addr = page_address(page); 209 state = page_address(page);
211 state = page_addr;
212 state->refcnt = 0; 210 state->refcnt = 0;
213 state->dma_addr = dma_addr; 211 state->dma_addr = dma_addr;
214 212
215 page_addr += sizeof(struct efx_rx_page_state);
216 dma_addr += sizeof(struct efx_rx_page_state); 213 dma_addr += sizeof(struct efx_rx_page_state);
217 214
218 split: 215 split:
@@ -230,7 +227,6 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
230 /* Use the second half of the page */ 227 /* Use the second half of the page */
231 get_page(page); 228 get_page(page);
232 dma_addr += (PAGE_SIZE >> 1); 229 dma_addr += (PAGE_SIZE >> 1);
233 page_addr += (PAGE_SIZE >> 1);
234 ++count; 230 ++count;
235 goto split; 231 goto split;
236 } 232 }