media: don't do a 31 bit shift on a signed int
[sfrench/cifs-2.6.git] / drivers / media / pci / solo6x10 / solo6x10-gpio.c
index 5caeca8b5dd0ff2e971c1539328a6e5d866130fb..526d67cf9942cbd4e6fcd236c7c3c727ff73d6d5 100644 (file)
@@ -39,13 +39,13 @@ static void solo_gpio_mode(struct solo_dev *solo_dev,
        ret = solo_reg_read(solo_dev, SOLO_GPIO_CONFIG_1);
 
        for (port = 0; port < 16; port++) {
-               if (!((1 << (port + 16)) & port_mask))
+               if (!((1UL << (port + 16)) & port_mask))
                        continue;
 
                if (!mode)
-                       ret &= ~(1 << port);
+                       ret &= ~(1UL << port);
                else
-                       ret |= 1 << port;
+                       ret |= 1UL << port;
        }
 
        /* Enable GPIO[31:16] */