Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 103233
b: refs/heads/master
c: 18a9cdb
h: refs/heads/master
i:
  103231: 1bed8fe
v: v3
  • Loading branch information
Pekka Enberg authored and Jeff Garzik committed Jul 4, 2008
1 parent aa614ad commit af9bc08
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 83042955210aaee70b881240fe4f5e8409235308
refs/heads/master: 18a9cdb9c7ec88f6e94cd8dcb03fb6cded067119
25 changes: 11 additions & 14 deletions trunk/drivers/net/ipg.c
Original file line number Diff line number Diff line change
Expand Up @@ -751,7 +751,7 @@ static int ipg_get_rxbuff(struct net_device *dev, int entry)
sp->rx_buf_sz, PCI_DMA_FROMDEVICE));

/* Set the RFD fragment length. */
rxfragsize = IPG_RXFRAG_SIZE;
rxfragsize = sp->rxfrag_size;
rxfd->frag_info |= cpu_to_le64((rxfragsize << 48) & IPG_RFI_FRAGLEN);

return 0;
Expand Down Expand Up @@ -1207,8 +1207,8 @@ static void ipg_nic_rx_with_start_and_end(struct net_device *dev,

/* accept this frame and send to upper layer */
framelen = le64_to_cpu(rxfd->rfs) & IPG_RFS_RXFRAMELEN;
if (framelen > IPG_RXFRAG_SIZE)
framelen = IPG_RXFRAG_SIZE;
if (framelen > sp->rxfrag_size)
framelen = sp->rxfrag_size;

skb_put(skb, framelen);
skb->protocol = eth_type_trans(skb, dev);
Expand Down Expand Up @@ -1241,10 +1241,10 @@ static void ipg_nic_rx_with_start(struct net_device *dev,
pci_unmap_single(pdev, le64_to_cpu(rxfd->frag_info & ~IPG_RFI_FRAGLEN),
sp->rx_buf_sz, PCI_DMA_FROMDEVICE);

skb_put(skb, IPG_RXFRAG_SIZE);
skb_put(skb, sp->rxfrag_size);

jumbo->found_start = 1;
jumbo->current_size = IPG_RXFRAG_SIZE;
jumbo->current_size = sp->rxfrag_size;
jumbo->skb = skb;

sp->rx_buff[entry] = NULL;
Expand All @@ -1270,10 +1270,6 @@ static void ipg_nic_rx_with_end(struct net_device *dev,
framelen = le64_to_cpu(rxfd->rfs) & IPG_RFS_RXFRAMELEN;

endframelen = framelen - jumbo->current_size;
/*
if (framelen > IPG_RXFRAG_SIZE)
framelen=IPG_RXFRAG_SIZE;
*/
if (framelen > IPG_RXSUPPORT_SIZE)
dev_kfree_skb_irq(jumbo->skb);
else {
Expand Down Expand Up @@ -1314,11 +1310,11 @@ static void ipg_nic_rx_no_start_no_end(struct net_device *dev,

if (skb) {
if (jumbo->found_start) {
jumbo->current_size += IPG_RXFRAG_SIZE;
jumbo->current_size += sp->rxfrag_size;
if (jumbo->current_size <= IPG_RXSUPPORT_SIZE) {
memcpy(skb_put(jumbo->skb,
IPG_RXFRAG_SIZE),
skb->data, IPG_RXFRAG_SIZE);
sp->rxfrag_size),
skb->data, sp->rxfrag_size);
}
}
dev->last_rx = jiffies;
Expand Down Expand Up @@ -1410,11 +1406,11 @@ static int ipg_nic_rx(struct net_device *dev)
/* Check for jumbo frame arrival with too small
* RXFRAG_SIZE.
*/
if (framelen > IPG_RXFRAG_SIZE) {
if (framelen > sp->rxfrag_size) {
IPG_DEBUG_MSG
("RFS FrameLen > allocated fragment size.\n");

framelen = IPG_RXFRAG_SIZE;
framelen = sp->rxfrag_size;
}

if ((IPG_DROP_ON_RX_ETH_ERRORS && (le64_to_cpu(rxfd->rfs) &
Expand Down Expand Up @@ -2240,6 +2236,7 @@ static int __devinit ipg_probe(struct pci_dev *pdev,
mutex_init(&sp->mii_mutex);

sp->is_jumbo = IPG_JUMBO;
sp->rxfrag_size = IPG_RXFRAG_SIZE;

/* Declare IPG NIC functions for Ethernet device methods.
*/
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/ipg.h
Original file line number Diff line number Diff line change
Expand Up @@ -796,6 +796,7 @@ struct ipg_nic_private {
unsigned int rx_dirty;
bool is_jumbo;
struct ipg_jumbo jumbo;
unsigned long rxfrag_size;
unsigned int rx_buf_sz;
struct pci_dev *pdev;
struct net_device *dev;
Expand Down

0 comments on commit af9bc08

Please sign in to comment.