The wlan part uses a very specific way to update multicast addresses for the

parent interface. It calls if_addmulti() on it but temporarily sets the ioctl
hook to NULL. We need to account for that so we don't crash on multicast setup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34699 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz 2009-12-19 03:26:28 +00:00
parent 2b97d9a98c
commit cc83a8213b

View File

@ -442,7 +442,7 @@ if_addmulti(struct ifnet *ifp, struct sockaddr *address,
if (result == NULL)
return ENOBUFS;
if (refcount == 1)
if (refcount == 1 && ifp->if_ioctl != NULL)
ifp->if_ioctl(ifp, SIOCADDMULTI, NULL);
if (out)
@ -477,7 +477,7 @@ if_delmulti(struct ifnet *ifp, struct sockaddr *address)
}
IF_ADDR_UNLOCK(ifp);
if (deleted)
if (deleted && ifp->if_ioctl != NULL)
ifp->if_ioctl(ifp, SIOCDELMULTI, NULL);
return 0;