V4L/DVB (12206): get_dvb_firmware: Correct errors in MPC718 firmware extraction logic

The extraction routine for the MPC718 "firmware" had 2 bugs in it, where one
bug masked the effect of the other.  The loop iteration should have set
$prevlen = $currlen at the end of the loop, and the if() check should have used
&& instead of || for deciding if the firmware length is reasonable.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware
index 64174d6..3d1b0ab 100644
--- a/Documentation/dvb/get_dvb_firmware
+++ b/Documentation/dvb/get_dvb_firmware
@@ -413,13 +413,14 @@
 
 	while (<IN>) {
 	    $currlen = length($_);
-	    if ($prevlen == $currlen || $currlen <= 64) {
+	    if ($prevlen == $currlen && $currlen <= 64) {
 		chop; chop; # Get rid of "TUNER GO"
 		s/^\0\0//;  # get rid of leading 00 00 if it's there
 		printf OUT "$_";
 		$found = 1;
 		last;
 	    }
+	    $prevlen = $currlen;
 	}
     }
     close OUT;