diff options
Diffstat (limited to 'drivers/net/s2io.c')
| -rw-r--r-- | drivers/net/s2io.c | 8 | 
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index bb639a8794d4..ea638b162d3f 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c @@ -1699,11 +1699,9 @@ static int fill_rx_buffers(struct s2io_nic *nic, int ring_no)  #else  		ba = &nic->ba[ring_no][block_no][off];  		skb_reserve(skb, BUF0_LEN); -		tmp = (unsigned long) skb->data; -		tmp += ALIGN_SIZE; -		tmp &= ~ALIGN_SIZE; -		skb->data = (void *) tmp; -		skb->tail = (void *) tmp; +		tmp = ((unsigned long) skb->data & ALIGN_SIZE); +		if (tmp) +			skb_reserve(skb, (ALIGN_SIZE + 1) - tmp);  		memset(rxdp, 0, sizeof(RxD_t));  		rxdp->Buffer2_ptr = pci_map_single  | 
