freebsd compat. layer: when open()ing the device, and setting it up, don't clear the device flags (multicast included).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21082 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -136,14 +136,14 @@ compat_open(const char *name, uint32 flags, void **cookie)
|
|||||||
struct ifnet *ifp = dev->ifp;
|
struct ifnet *ifp = dev->ifp;
|
||||||
struct ifreq ifr;
|
struct ifreq ifr;
|
||||||
|
|
||||||
ifp->if_flags = 0;
|
ifp->if_flags &= ~IFF_UP;
|
||||||
ifp->if_ioctl(ifp, SIOCSIFFLAGS, NULL);
|
ifp->if_ioctl(ifp, SIOCSIFFLAGS, NULL);
|
||||||
|
|
||||||
memset(&ifr, 0, sizeof(ifr));
|
memset(&ifr, 0, sizeof(ifr));
|
||||||
ifr.ifr_media = IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, 0);
|
ifr.ifr_media = IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, 0);
|
||||||
ifp->if_ioctl(ifp, SIOCSIFMEDIA, (caddr_t)&ifr);
|
ifp->if_ioctl(ifp, SIOCSIFMEDIA, (caddr_t)&ifr);
|
||||||
|
|
||||||
ifp->if_flags = IFF_UP;
|
ifp->if_flags |= IFF_UP;
|
||||||
ifp->if_ioctl(ifp, SIOCSIFFLAGS, NULL);
|
ifp->if_ioctl(ifp, SIOCSIFFLAGS, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user