On Thu, Oct 27, 2016 at 04:20:25PM +0300, Kalle Valo wrote: > Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> writes: > > >> +/* reset_trigger variable is used to identify if mwifiex_sdio_remove() > >> + * is called by sdio_work during reset or the call is from sdio subsystem. > >> + * We will cancel sdio_work only if the call is from sdio subsystem. > >> + */ > >> +static u8 reset_triggered; > > > > It would be really great if the driver supported multiple devices. IOW > > please avoid module-globals. > > Good catch, it's a hard requirement to support multiple devices at the > same time. BTW, this problem is repeated in several places throughout this driver. For instance, look for 'user_rmmod' (why? you shouldn't need to treat module unload differently...) and the work structs (and corresponding 'saved_adapter' and 'iface_flags') used for PCIe function-level reset and SDIO reset. Hopefully either Marvell's or my cleanups can move to get rid of these anti-patterns soon... Brian