Skip site navigation (1)Skip section navigation (2)
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>