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