Andrey Borzenkov wrote: > On Friday 31 October 2008, David Kilroy wrote: >> The first patch uses the new power management notifiers to load and >> release the firmware prior to suspend and after resume (for both Agere >> and Symbol). I'm not an expert on where suspend/resume is headed, so I'd >> appreciate any advice from linux-pm on whether this is the preferred way >> to do things. > > I tested this and it works, and looking how callbacks are invoked I think > it is techically correct. But I have some concerns about general idea of > requesting firmware multiple times that are not related to PM. > > Many properties for the currently running device/driver instance depend on > particular firmware type and version. Now we blindly replace firmware; how > can we be sure it is actually the same one as was at the time feature set > was detected? > > Even if some sort of checksumming were impemented we still have to be > prepared to completely reinitialize card on FW mismatch. Right. We actually have the same problem on card reset (which can happen via private ioctl or firmware lockup). We certainly need to be able to reinitialise the driver flags. I think it would involve something like --> On init, resume, reset 1. fw download. 2. detect version (+checksum?). 3a. if version unchanged continue. 3b. if version different reset all driver settings. 4. record fw version. 3b requires some refactorring of initialisation. And I'm not sure how this would interact with userspace on resume - presumably the driver should call netif_device_detach or something. Dave. > I checked what the rest of drivers/net does and either they do not cache at > all (does not work in this case) or they cache FW im memory after initial > request. _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm