diff options
Diffstat (limited to 'drivers/net/ethernet/realtek/8139cp.c')
-rw-r--r-- | drivers/net/ethernet/realtek/8139cp.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c index 69c7d695807c..5eef290997f9 100644 --- a/drivers/net/ethernet/realtek/8139cp.c +++ b/drivers/net/ethernet/realtek/8139cp.c | |||
@@ -961,6 +961,11 @@ static inline void cp_start_hw (struct cp_private *cp) | |||
961 | cpw8(Cmd, RxOn | TxOn); | 961 | cpw8(Cmd, RxOn | TxOn); |
962 | } | 962 | } |
963 | 963 | ||
964 | static void cp_enable_irq(struct cp_private *cp) | ||
965 | { | ||
966 | cpw16_f(IntrMask, cp_intr_mask); | ||
967 | } | ||
968 | |||
964 | static void cp_init_hw (struct cp_private *cp) | 969 | static void cp_init_hw (struct cp_private *cp) |
965 | { | 970 | { |
966 | struct net_device *dev = cp->dev; | 971 | struct net_device *dev = cp->dev; |
@@ -1000,8 +1005,6 @@ static void cp_init_hw (struct cp_private *cp) | |||
1000 | 1005 | ||
1001 | cpw16(MultiIntr, 0); | 1006 | cpw16(MultiIntr, 0); |
1002 | 1007 | ||
1003 | cpw16_f(IntrMask, cp_intr_mask); | ||
1004 | |||
1005 | cpw8_f(Cfg9346, Cfg9346_Lock); | 1008 | cpw8_f(Cfg9346, Cfg9346_Lock); |
1006 | } | 1009 | } |
1007 | 1010 | ||
@@ -1134,6 +1137,8 @@ static int cp_open (struct net_device *dev) | |||
1134 | if (rc) | 1137 | if (rc) |
1135 | goto err_out_hw; | 1138 | goto err_out_hw; |
1136 | 1139 | ||
1140 | cp_enable_irq(cp); | ||
1141 | |||
1137 | netif_carrier_off(dev); | 1142 | netif_carrier_off(dev); |
1138 | mii_check_media(&cp->mii_if, netif_msg_link(cp), true); | 1143 | mii_check_media(&cp->mii_if, netif_msg_link(cp), true); |
1139 | netif_start_queue(dev); | 1144 | netif_start_queue(dev); |
@@ -2032,6 +2037,7 @@ static int cp_resume (struct pci_dev *pdev) | |||
2032 | /* FIXME: sh*t may happen if the Rx ring buffer is depleted */ | 2037 | /* FIXME: sh*t may happen if the Rx ring buffer is depleted */ |
2033 | cp_init_rings_index (cp); | 2038 | cp_init_rings_index (cp); |
2034 | cp_init_hw (cp); | 2039 | cp_init_hw (cp); |
2040 | cp_enable_irq(cp); | ||
2035 | netif_start_queue (dev); | 2041 | netif_start_queue (dev); |
2036 | 2042 | ||
2037 | spin_lock_irqsave (&cp->lock, flags); | 2043 | spin_lock_irqsave (&cp->lock, flags); |