Date: Mon, 16 Feb 2009 11:33:18 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: weongyo@FreeBSD.org, thompsa@FreeBSD.org, Hans Petter Selasky <hselasky@freebsd.org> Cc: usb@FreeBSD.org Subject: USB support in NDIS -- IFF_NEEDSGIANT? Message-ID: <alpine.BSF.2.00.0902161129060.5806@fledge.watson.org>
next in thread | raw e-mail | index | archive | help
Dear all: As you know, I've been gradually working to eliminate all non-MPSAFE network device driver infrastructure for 8.0, having removed non-MPSAFE network protocol infrastructure in 7.0. In reviewing remaining drivers using IFF_NEEDSGIANT, I spotted this in the NDIS code: 718 if_initname(ifp, device_get_name(dev), device_get_unit(dev)); 719 ifp->if_mtu = ETHERMTU; 720 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; 721 if (sc->ndis_iftype == PNPBus) 722 ifp->if_flags |= IFF_NEEDSGIANT; 723 ifp->if_ioctl = ndis_ioctl; 724 ifp->if_start = ndis_start; 725 ifp->if_init = ndis_init; Having taken a glance, it looks like this was added specifically to support USB devices attached via NDIS. With the new USB code, are NDIS drivers still supported? And in the new world order, is this IFF_NEEDSGIANT still required? Can I simply remove it once the old USB code is on the way out the door? (Note that the plan is to remove all device drivers that still require IFF_NEEDSGIANT some time before 8.0, probably starting with disabling them from the build in about 2-3 weeks). Thanks, Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0902161129060.5806>