unsigned long flags;
 
        spin_lock_irqsave(&chip->spinlock, flags);
-       pm = ioread32(&chip->reg->regs[chip->ch].pm) &
-                                       (BIT(num_ports[chip->ch]) - 1);
+       pm = ioread32(&chip->reg->regs[chip->ch].pm);
+       pm &= BIT(num_ports[chip->ch]) - 1;
        pm |= BIT(nr);
        iowrite32(pm, &chip->reg->regs[chip->ch].pm);
 
        unsigned long flags;
 
        spin_lock_irqsave(&chip->spinlock, flags);
-       pm = ioread32(&chip->reg->regs[chip->ch].pm) &
-                               (BIT(num_ports[chip->ch]) - 1);
+       pm = ioread32(&chip->reg->regs[chip->ch].pm);
+       pm &= BIT(num_ports[chip->ch]) - 1;
        pm &= ~BIT(nr);
        iowrite32(pm, &chip->reg->regs[chip->ch].pm);
        spin_unlock_irqrestore(&chip->spinlock, flags);