int instance;
        struct pci_dev *pci_dev;
        struct v4l2_device v4l2_dev;
+       /* serialize PCI access in cobalt_s_bit_sysctrl() */
+       struct mutex pci_lock;
 
        void __iomem *bar0, *bar1;
 
 static inline void cobalt_s_bit_sysctrl(struct cobalt *cobalt,
                                        int bit, int val)
 {
-       u32 ctrl = cobalt_read_bar1(cobalt, COBALT_SYS_CTRL_BASE);
+       u32 ctrl;
 
+       mutex_lock(&cobalt->pci_lock);
+       ctrl = cobalt_read_bar1(cobalt, COBALT_SYS_CTRL_BASE);
        cobalt_write_bar1(cobalt, COBALT_SYS_CTRL_BASE,
                        (ctrl & ~(1UL << bit)) | (val << bit));
+       mutex_unlock(&cobalt->pci_lock);
 }
 
 static inline u32 cobalt_g_sysstat(struct cobalt *cobalt)