git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
drivers
/
net
/
e1000
/
e1000_main.c
diff --git
a/drivers/net/e1000/e1000_main.c
b/drivers/net/e1000/e1000_main.c
index
256e86c
..
4b9b775
100644
(file)
--- a/
drivers/net/e1000/e1000_main.c
+++ b/
drivers/net/e1000/e1000_main.c
@@
-299,7
+299,7
@@
e1000_down(struct e1000_adapter *adapter)
void
e1000_reset(struct e1000_adapter *adapter)
{
void
e1000_reset(struct e1000_adapter *adapter)
{
- uint32_t pba;
+ uint32_t pba
, manc
;
/* Repartition Pba for greater than 9k mtu
* To take effect CTRL.RST is required.
*/
/* Repartition Pba for greater than 9k mtu
* To take effect CTRL.RST is required.
*/
@@
-341,6
+341,12
@@
e1000_reset(struct e1000_adapter *adapter)
e1000_reset_adaptive(&adapter->hw);
e1000_phy_get_info(&adapter->hw, &adapter->phy_info);
e1000_reset_adaptive(&adapter->hw);
e1000_phy_get_info(&adapter->hw, &adapter->phy_info);
+
+ if(adapter->en_mng_pt) {
+ manc = E1000_READ_REG(&adapter->hw, MANC);
+ manc |= (E1000_MANC_ARP_EN | E1000_MANC_EN_MNG2HOST);
+ E1000_WRITE_REG(&adapter->hw, MANC, manc);
+ }
}
/**
}
/**
@@
-483,6
+489,8
@@
e1000_probe(struct pci_dev *pdev,
if(pci_using_dac)
netdev->features |= NETIF_F_HIGHDMA;
if(pci_using_dac)
netdev->features |= NETIF_F_HIGHDMA;
+ adapter->en_mng_pt = e1000_enable_mng_pass_thru(&adapter->hw);
+
/* before reading the EEPROM, reset the controller to
* put the device in a known good starting state */
/* before reading the EEPROM, reset the controller to
* put the device in a known good starting state */
@@
-2367,7
+2375,6
@@
e1000_alloc_rx_buffers(struct e1000_adapter *adapter)
struct e1000_rx_desc *rx_desc;
struct e1000_buffer *buffer_info;
struct sk_buff *skb;
struct e1000_rx_desc *rx_desc;
struct e1000_buffer *buffer_info;
struct sk_buff *skb;
- int reserve_len = 2;
unsigned int i;
i = rx_ring->next_to_use;
unsigned int i;
i = rx_ring->next_to_use;
@@
-2376,7
+2383,7
@@
e1000_alloc_rx_buffers(struct e1000_adapter *adapter)
while(!buffer_info->skb) {
rx_desc = E1000_RX_DESC(*rx_ring, i);
while(!buffer_info->skb) {
rx_desc = E1000_RX_DESC(*rx_ring, i);
- skb = dev_alloc_skb(adapter->rx_buffer_len +
reserve_len
);
+ skb = dev_alloc_skb(adapter->rx_buffer_len +
NET_IP_ALIGN
);
if(!skb) {
/* Better luck next round */
if(!skb) {
/* Better luck next round */
@@
-2387,7
+2394,7
@@
e1000_alloc_rx_buffers(struct e1000_adapter *adapter)
* this will result in a 16 byte aligned IP header after
* the 14 byte MAC header is removed
*/
* this will result in a 16 byte aligned IP header after
* the 14 byte MAC header is removed
*/
- skb_reserve(skb,
reserve_len
);
+ skb_reserve(skb,
NET_IP_ALIGN
);
skb->dev = netdev;
skb->dev = netdev;