# 2.6.12-rc6 and ipw2100-1.1.0 : is_multicast_ether_addr fixed

## skally

Hi all,

after vanilla upgrade from rc2 to rc6, I tried to emerge ipw2100 and what I got was this:

```

make[1]: Entering directory `/usr/src/linux-2.6.12-rc6'

  CC [M]  /var/tmp/portage/ipw2100-1.1.0/work/ipw2100-1.1.0/ipw2100.o

In file included from /var/tmp/portage/ipw2100-1.1.0/work/ipw2100-1.1.0/ipw2100.h:43,

                 from /var/tmp/portage/ipw2100-1.1.0/work/ipw2100-1.1.0/ipw2100.c:167:

/var/tmp/portage/ipw2100-1.1.0/work/ipw2100-1.1.0/ieee80211.h:647: error: redefinition of `is_multicast_ether_addr'

include/linux/etherdevice.h:67: error: `is_multicast_ether_addr' previously defined here

```

I got it fixed with the second part of this patch:

http://olivier.mondoloni.free.fr/ipw2100_2.6.12.patch

I have no clue how correct this actually is, but now I'm typing this over ipw2100 again!  :Cool: 

----------

## dgaffuri

That's in 2.6.12 final too. There are two (duplicate?)  bugs open at http://ipw2200.sourceforge.net/

http://www.bughost.org/bugzilla/show_bug.cgi?id=702

and

http://www.bughost.org/bugzilla/show_bug.cgi?id=703

The first one reports the second part of the indicated patch, which removes the duplicated definition of

```
is_multicast_ether_addr
```

but be aware that there's a difference between the ipw2x00 and the 2.6.12 kernel implementations.

 *Quote:*   

> 
> 
> The kernel implementation is simply this:
> 
> return addr[0] & 0x01;
> ...

 

Don't seem to be harmful at first sight.

----------

## dgaffuri

The official patch is here

http://ipw2200.sourceforge.net/patches/ieee80211-2.6.12.patch

Same one, anyway

----------

## cronos_the_mad

ok, I have downloaded the patch and put it into the ipw2100 src directory, but how to apply it?

thanks in advance

cronos

----------

## dgaffuri

```
patch ieee80211-2.6.12.patch
```

from the source directory (the parent of net). Otherwise you may edit the file

```
net/ieee80211.h
```

by hand and remove the five lines indicated with a - in front at line 721

```
@@ -718,11 +718,6 @@

 #define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5]

 

 

-extern inline int is_multicast_ether_addr(const u8 *addr)

-{

-   return ((addr[0] != 0xff) && (0x01 & addr[0]));

-}

-

```

If I've understood well the question  :Smile: 

----------

## cronos_the_mad

thanks

now, that i know the patch command, i managed to apply the patch with

```

patch -p2 <2100.patch

```

the driver compiled without problems

mfg

cronos

----------

## ablyes

in witch dir we must be to apply this patch ?

cause when i try, it said me the file to patch. i don't know where is it, and witch is it !

help plz

----------

