Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.24.4 /drivers/net/niu.c

Filename:/drivers/net/niu.c
Lines Added:13
Lines Deleted:7
Also changed in: (Previous) 2.6.24.4-rc3  2.6.24.4-rc2  2.6.24.4-rc1  2.6.24-git22  2.6.24-git21  2.6.24-git20 
(Following) 2.6.24.5  2.6.24.6  2.6.24.7  2.6.25-rc7  2.6.25-rc8  2.6.25-rc9 

Location
[  2.6.24.4
  [  drivers
    [  net
       o  niu.c

Patch

diff --git a/drivers/net/niu.c b/drivers/net/niu.c
index 5f6beab..226dc54 100644
--- a/drivers/net/niu.c
+++ b/drivers/net/niu.c
@@ -33,8 +33,8 @@
 
 #define DRV_MODULE_NAME      "niu"
 #define PFX DRV_MODULE_NAME   ": "
-#define DRV_MODULE_VERSION   "0.6"
-#define DRV_MODULE_RELDATE   "January 5, 2008"
+#define DRV_MODULE_VERSION   "0.7"
+#define DRV_MODULE_RELDATE   "February 18, 2008"
 
 static char version[] __devinitdata =
    DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n";
@@ -1616,12 +1616,13 @@ static int niu_enable_alt_mac(struct niu *np, int index, int on)
    if (index >= niu_num_alt_addr(np))
       return -EINVAL;
 
-   if (np->flags & NIU_FLAGS_XMAC)
+   if (np->flags & NIU_FLAGS_XMAC) {
       reg = XMAC_ADDR_CMPEN;
-   else
+      mask = 1 << index;
+   } else {
       reg = BMAC_ADDR_CMPEN;
-
-   mask = 1 << index;
+      mask = 1 << (index + 1);
+   }
 
    val = nr64_mac(reg);
    if (on)
@@ -5147,7 +5148,12 @@ static void niu_set_rx_mode(struct net_device *dev)
          index++;
       }
    } else {
-      for (i = 0; i < niu_num_alt_addr(np); i++) {
+      int alt_start;
+      if (np->flags & NIU_FLAGS_XMAC)
+         alt_start = 0;
+      else
+         alt_start = 1;
+      for (i = alt_start; i < niu_num_alt_addr(np); i++) {
          err = niu_enable_alt_mac(np, i, 0);
          if (err)
             printk(KERN_WARNING PFX "%s: Error %d "


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.