aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/8139too.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/8139too.c')
-rw-r--r--drivers/net/8139too.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c
index 7e333f73b228..25f7339daabd 100644
--- a/drivers/net/8139too.c
+++ b/drivers/net/8139too.c
@@ -1549,8 +1549,8 @@ static inline void rtl8139_thread_iter (struct net_device *dev,
1549 mii_lpa = mdio_read (dev, tp->phys[0], MII_LPA); 1549 mii_lpa = mdio_read (dev, tp->phys[0], MII_LPA);
1550 1550
1551 if (!tp->mii.force_media && mii_lpa != 0xffff) { 1551 if (!tp->mii.force_media && mii_lpa != 0xffff) {
1552 int duplex = (mii_lpa & LPA_100FULL) 1552 int duplex = ((mii_lpa & LPA_100FULL) ||
1553 || (mii_lpa & 0x01C0) == 0x0040; 1553 (mii_lpa & 0x01C0) == 0x0040);
1554 if (tp->mii.full_duplex != duplex) { 1554 if (tp->mii.full_duplex != duplex) {
1555 tp->mii.full_duplex = duplex; 1555 tp->mii.full_duplex = duplex;
1556 1556
@@ -1936,8 +1936,8 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp,
1936 RTL_R16 (RxBufAddr), 1936 RTL_R16 (RxBufAddr),
1937 RTL_R16 (RxBufPtr), RTL_R8 (ChipCmd)); 1937 RTL_R16 (RxBufPtr), RTL_R8 (ChipCmd));
1938 1938
1939 while (netif_running(dev) && received < budget 1939 while (netif_running(dev) && received < budget &&
1940 && (RTL_R8 (ChipCmd) & RxBufEmpty) == 0) { 1940 (RTL_R8 (ChipCmd) & RxBufEmpty) == 0) {
1941 u32 ring_offset = cur_rx % RX_BUF_LEN; 1941 u32 ring_offset = cur_rx % RX_BUF_LEN;
1942 u32 rx_status; 1942 u32 rx_status;
1943 unsigned int pkt_size; 1943 unsigned int pkt_size;
@@ -2521,8 +2521,8 @@ static void __set_rx_mode (struct net_device *dev)
2521 AcceptBroadcast | AcceptMulticast | AcceptMyPhys | 2521 AcceptBroadcast | AcceptMulticast | AcceptMyPhys |
2522 AcceptAllPhys; 2522 AcceptAllPhys;
2523 mc_filter[1] = mc_filter[0] = 0xffffffff; 2523 mc_filter[1] = mc_filter[0] = 0xffffffff;
2524 } else if ((dev->mc_count > multicast_filter_limit) 2524 } else if ((dev->mc_count > multicast_filter_limit) ||
2525 || (dev->flags & IFF_ALLMULTI)) { 2525 (dev->flags & IFF_ALLMULTI)) {
2526 /* Too many to filter perfectly -- accept all multicasts. */ 2526 /* Too many to filter perfectly -- accept all multicasts. */
2527 rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; 2527 rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys;
2528 mc_filter[1] = mc_filter[0] = 0xffffffff; 2528 mc_filter[1] = mc_filter[0] = 0xffffffff;