Hi Luis, > > This converts ar9170 to load firmware asynchronously > > out of ->probe() and only register with mac80211 when > > all firmware has been loaded successfully. If, on the > > other hand, any firmware fails to load, it will now > > unbind from the device. > > > > Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > > --- > > This can go in now, the prereq patch went in via gregkh. > > > > This ought to make it possible to build the driver > > into the kernel and as long as your system boots > > within 60 seconds it'll all just work. > > > > This is how we need to load firmware for drivers that > > require the firmware image to detect which features > > to register to mac80211/cfg80211, but it's also useful > > when no features depend on the firmware. > > > > I've done ar9170 because I'm somewhat familiar with its > > implementation. b43 should probably be converted to this > > scheme since it actually has features that depend on the > > firmware, and libertas_tf has the MAC addresss depending > > on the firmware (well it needs the firmware to read it). > > > > The only complication with this is that now the user is > > mostly unaware they have a wireless device, they can only > > find it via lsusb/lspci etc. if firmware loading fails, > > or from kernel messages. And also manual binding in sysfs, > > device re-plugging or module re-loading is required to > > get the module to find the device after putting firmware > > in place... > > > > Still I think this is better than what we have now with > > many drivers -- if firmware is missing you get network > > interfaces etc. but cannot ever use them, and it's not > > always entirely clear that is due to missing firmware. > > Sweet -- we could also expose firmware load events if not done so > already and let userspace propagate such nasty warnings, I think we'd > need to pass the firmware expected and the driver the requested it so > that once the firmware is in place (I guess through inotify maybe) the > driver modprobe can be retried. actually PackageKit should be doing something like this already. It might need to be adapted a bit, but the basics should be there. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html