]> git.ipfire.org Git - thirdparty/HylaFAX.git/commitdiff
Bug 459: avoid V.29 -> V.17 transitions in fallback
authorLee Howard <faxguy@howardsilvan.com>
Sat, 22 May 2004 17:10:24 +0000 (17:10 +0000)
committerLee Howard <faxguy@howardsilvan.com>
Sat, 22 May 2004 17:10:24 +0000 (17:10 +0000)
faxd/Class1Send.c++

index 9e1e9c38e0a66318ae1bf2a00cdafe11536d3493..98f0d320ca7528d246422a1f4d7de7301b7ee75c 100644 (file)
@@ -783,12 +783,19 @@ Class1Modem::dropToNextBR(Class2Params& params)
 {
     if (curcap->br == BR_2400)
        return (false);
+    const Class1Cap* oldcap = curcap;
     curcap--;
     for (;;) {
        if (curcap) {
-           // hunt for compatibility with remote at this baud rate
+           /*
+            * Hunt for compatibility with remote at this baud rate.
+            * We don't drop from V.29 to V.17 because...
+            *   1) it will lock up the hardware on some receivers
+            *   2) if the receiver supports V.17 then we probably tried
+            *      it already without success
+            */
            while (curcap->br == params.br) {
-               if (isCapable(curcap->sr, dis))
+               if (isCapable(curcap->sr, dis) && !(oldcap->mod == V29 && curcap->mod == V17))
                    return (true);
                curcap--;
            }