|
@@ -1753,6 +1753,7 @@ static int sis900_rx(struct net_device *net_dev)
|
|
sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE;
|
|
sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE;
|
|
} else {
|
|
} else {
|
|
struct sk_buff * skb;
|
|
struct sk_buff * skb;
|
|
|
|
+ struct sk_buff * rx_skb;
|
|
|
|
|
|
pci_unmap_single(sis_priv->pci_dev,
|
|
pci_unmap_single(sis_priv->pci_dev,
|
|
sis_priv->rx_ring[entry].bufptr, RX_BUF_SIZE,
|
|
sis_priv->rx_ring[entry].bufptr, RX_BUF_SIZE,
|
|
@@ -1786,10 +1787,10 @@ static int sis900_rx(struct net_device *net_dev)
|
|
}
|
|
}
|
|
|
|
|
|
/* give the socket buffer to upper layers */
|
|
/* give the socket buffer to upper layers */
|
|
- skb = sis_priv->rx_skbuff[entry];
|
|
|
|
- skb_put(skb, rx_size);
|
|
|
|
- skb->protocol = eth_type_trans(skb, net_dev);
|
|
|
|
- netif_rx(skb);
|
|
|
|
|
|
+ rx_skb = sis_priv->rx_skbuff[entry];
|
|
|
|
+ skb_put(rx_skb, rx_size);
|
|
|
|
+ rx_skb->protocol = eth_type_trans(rx_skb, net_dev);
|
|
|
|
+ netif_rx(rx_skb);
|
|
|
|
|
|
/* some network statistics */
|
|
/* some network statistics */
|
|
if ((rx_status & BCAST) == MCAST)
|
|
if ((rx_status & BCAST) == MCAST)
|