USB support in NDIS -- IFF_NEEDSGIANT?
Andrew Thompson
thompsa at FreeBSD.org
Mon Feb 16 07:35:25 PST 2009
On Mon, Feb 16, 2009 at 11:33:18AM +0000, Robert Watson wrote:
>
> 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?
I had promised Weongyo that I would convert ndis to USB2 but have been a
bit busy. Anyone else welcome to pick this up in the mean time.
Andrew
More information about the freebsd-usb
mailing list