diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /drivers/net/usb/rtl8150.c | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/net/usb/rtl8150.c')
-rw-r--r-- | drivers/net/usb/rtl8150.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c index b091e20ca167..e85c89c6706d 100644 --- a/drivers/net/usb/rtl8150.c +++ b/drivers/net/usb/rtl8150.c | |||
@@ -270,7 +270,7 @@ static int read_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 * reg) | |||
270 | get_registers(dev, PHYCNT, 1, data); | 270 | get_registers(dev, PHYCNT, 1, data); |
271 | } while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT)); | 271 | } while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT)); |
272 | 272 | ||
273 | if (i < MII_TIMEOUT) { | 273 | if (i <= MII_TIMEOUT) { |
274 | get_registers(dev, PHYDAT, 2, data); | 274 | get_registers(dev, PHYDAT, 2, data); |
275 | *reg = data[0] | (data[1] << 8); | 275 | *reg = data[0] | (data[1] << 8); |
276 | return 0; | 276 | return 0; |
@@ -295,7 +295,7 @@ static int write_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 reg) | |||
295 | get_registers(dev, PHYCNT, 1, data); | 295 | get_registers(dev, PHYCNT, 1, data); |
296 | } while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT)); | 296 | } while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT)); |
297 | 297 | ||
298 | if (i < MII_TIMEOUT) | 298 | if (i <= MII_TIMEOUT) |
299 | return 0; | 299 | return 0; |
300 | else | 300 | else |
301 | return 1; | 301 | return 1; |
@@ -313,20 +313,17 @@ static int rtl8150_set_mac_address(struct net_device *netdev, void *p) | |||
313 | { | 313 | { |
314 | struct sockaddr *addr = p; | 314 | struct sockaddr *addr = p; |
315 | rtl8150_t *dev = netdev_priv(netdev); | 315 | rtl8150_t *dev = netdev_priv(netdev); |
316 | int i; | ||
317 | 316 | ||
318 | if (netif_running(netdev)) | 317 | if (netif_running(netdev)) |
319 | return -EBUSY; | 318 | return -EBUSY; |
320 | 319 | ||
321 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); | 320 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); |
322 | dbg("%s: Setting MAC address to ", netdev->name); | 321 | dbg("%s: Setting MAC address to %pM\n", netdev->name, netdev->dev_addr); |
323 | for (i = 0; i < 5; i++) | ||
324 | dbg("%02X:", netdev->dev_addr[i]); | ||
325 | dbg("%02X\n", netdev->dev_addr[i]); | ||
326 | /* Set the IDR registers. */ | 322 | /* Set the IDR registers. */ |
327 | set_registers(dev, IDR, sizeof(netdev->dev_addr), netdev->dev_addr); | 323 | set_registers(dev, IDR, netdev->addr_len, netdev->dev_addr); |
328 | #ifdef EEPROM_WRITE | 324 | #ifdef EEPROM_WRITE |
329 | { | 325 | { |
326 | int i; | ||
330 | u8 cr; | 327 | u8 cr; |
331 | /* Get the CR contents. */ | 328 | /* Get the CR contents. */ |
332 | get_registers(dev, CR, 1, &cr); | 329 | get_registers(dev, CR, 1, &cr); |
@@ -714,7 +711,7 @@ static void rtl8150_set_multicast(struct net_device *netdev) | |||
714 | if (netdev->flags & IFF_PROMISC) { | 711 | if (netdev->flags & IFF_PROMISC) { |
715 | dev->rx_creg |= cpu_to_le16(0x0001); | 712 | dev->rx_creg |= cpu_to_le16(0x0001); |
716 | dev_info(&netdev->dev, "%s: promiscuous mode\n", netdev->name); | 713 | dev_info(&netdev->dev, "%s: promiscuous mode\n", netdev->name); |
717 | } else if (netdev->mc_count || | 714 | } else if (!netdev_mc_empty(netdev) || |
718 | (netdev->flags & IFF_ALLMULTI)) { | 715 | (netdev->flags & IFF_ALLMULTI)) { |
719 | dev->rx_creg &= cpu_to_le16(0xfffe); | 716 | dev->rx_creg &= cpu_to_le16(0xfffe); |
720 | dev->rx_creg |= cpu_to_le16(0x0002); | 717 | dev->rx_creg |= cpu_to_le16(0x0002); |