When searching for the right S-Code table to load, check the HAS_IF flag
against the firmware we are checking instead of against the the "type"
requested.  We already ignore the scode type requested if the caller passed
an int_freq; this makes the search by frequency consistent with that behaviour.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
        } else {
                for (pos = 0; pos < priv->firm_size; pos++) {
                        if ((priv->firm[pos].int_freq == int_freq) &&
-                           (type & HAS_IF))
+                           (priv->firm[pos].type & HAS_IF))
                                break;
                }
                if (pos == priv->firm_size)
 
        p = priv->firm[pos].ptr;
 
-       if (type & HAS_IF) {
+       if (priv->firm[pos].type & HAS_IF) {
                if (priv->firm[pos].size != 12 * 16 || scode >= 16)
                        return -EINVAL;
                p += 12 * scode;