> 
 > GLDv3 supports (mac_callbacks_t->mc_ioctl) callback. However, to issue
 > an IOCTL from userland, the device has to be opened first resulting in
 > (mac_callbacks_t->mc_start) call, which may do all the hardware
 > initialization in the driver.
 > 
 > In the driver I am developing, I would like to receive IOCTLs
 > (i.e. mc_ioctl calls) even when the device has not started
 > (i.e. attached but mc_start has not been called yet). Is there a way to
 > achieve this?
 > 
 > The reasoning behind this requirement is that, In the attach() function
 > I do all PCI initialization, booting the firmware etc, but keep the tx,
 > rx rings and link disabled. In mc_start() function, tx rx rings are
 > enabled, buffers are posted to rx ring and link is enabled (link may
 > still be down). In the time between attach() & mc_start(), I would like
 > to do operations such as rebooting the firmware etc.

I can't speak specifically to this issue, but in general I would strongly
discourage you using the mc_ioctl as a point of extensibility for anything
other than debugging, development, or experimental features.  In
particular, a primary goal of the GLDv3 framework is to provide a
consistent programmatic and administrative model so that both layered
software and administrators do not need to carry out specialized or
one-off procedures for individual drivers.

--
meem
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to