OK, so to summarise, how does this sound: * Remove the cruft with TIMEOUT etc
* Have the following states internal to the frontend kthread... keep the external API the same (except for FE_TIMEDOUT). UNTUNED. Nothing happening; no parameters have been supplied. TUNING. This is a fast zigzag scan mode to locate the signal if it is offset (LNB misalignment due to seagull, or just the supplied frequency is a bit wrong). TUNING_SLOW. This is a slower zigzag scan mode. TUNED. The signal has been successfully locked on. ZIGZAG. Same as TUNING, but when the lock has been lost. ZIGZAG_SLOW. Same as TUNING_SLOW, but when the lock has been lost. Possibly have another state UNPLUGGED. If neither of the above succeed, the cable has likely been unplugged, and tune about the base frequency. I don't know how reliable this could be made; it might be more reliable to stick in the ZIGZAG_SLOW state as we don't have any idea when the cable is plugged back in. * On entry, enter the UNTUNED state. * When DiSeqC is done, enter the UNTUNED state. * On SET_FRONTEND, enter the TUNING state. * If that fails after a few iterations, enter the TUNING_SLOW state. * On lock, enter the TUNED state. * If the lock is lost, enter the ZIGZAG and then the ZIGZAG_SLOW state. * The zigzag step sizes should be smaller; the su1278 changes improve the signal quality, but greatly increase the device's sensitivity to mis-specified frequencies. -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
