2ca32b4848
fcoe uses the system_wq to destroy ports and the work items need to be
flushed before the driver is unloaded. As the work items free the
containing data structure, they can't be flushed directly. The
workqueue should be flushed instead.
Also, the destruction works can be chained - ie. destruction of a port
may lead to destruction of another port where the work item for the
former queues the work for the latter. Currently, the depth of chain
can be at most two and fcoe_exit() makes sure everything is complete
by calling flush_scheduled_work() twice.
With commit
|
||
---|---|---|
.. | ||
fcoe_ctlr.c | ||
fcoe_transport.c | ||
fcoe.c | ||
fcoe.h | ||
libfcoe.h | ||
Makefile |