diff --git a/pcie-wb/pcie_wb.c b/pcie-wb/pcie_wb.c
index 168677568c57a639f85ddec9901e81baa624c5b8..e80167776631ba6ec909c995906e82c6ef9c4141 100644
--- a/pcie-wb/pcie_wb.c
+++ b/pcie-wb/pcie_wb.c
@@ -60,14 +60,10 @@ static void wb_cycle(struct wishbone* wb, int on)
 	dev = container_of(wb, struct pcie_wb_dev, wb);
 	control = dev->pci_res[0].addr;
 	
-	if (on) mutex_lock(&dev->mutex);
-	
 	if (unlikely(debug))
 		printk(KERN_ALERT PCIE_WB ": cycle(%d)\n", on);
 	
 	iowrite32((on?0x80000000UL:0) + 0x40000000UL, control + CONTROL_REGISTER_HIGH);
-	
-	if (!on) mutex_unlock(&dev->mutex);
 }
 
 static void wb_byteenable(struct wishbone* wb, unsigned char be)
@@ -216,8 +212,6 @@ static wb_data_t wb_read_cfg(struct wishbone *wb, wb_addr_t addr)
 
 static int wb_request(struct wishbone *wb, struct wishbone_request *req)
 {
-	/* All forms of sleep are forbidden in this method (no printk/mutex/etc) */
-	
 	struct pcie_wb_dev* dev;
 	unsigned char* control;
 	uint32_t ctl;
@@ -243,8 +237,6 @@ static int wb_request(struct wishbone *wb, struct wishbone_request *req)
 
 static void wb_reply(struct wishbone *wb, int err, wb_data_t data)
 {
-	/* All forms of sleep are forbidden in this method (no printk/mutex/etc) */
-	
 	struct pcie_wb_dev* dev;
 	unsigned char* control;
 	
@@ -268,8 +260,6 @@ static const struct wishbone_operations wb_ops = {
 
 static irqreturn_t irq_handler(int irq, void *dev_id)
 {
-	/* All forms of sleep are forbidden in this method (no printk/mutex/etc) */
-	
 	struct pcie_wb_dev *dev = dev_id;
 	
 	pcie_int_enable(dev, 0);
@@ -348,7 +338,6 @@ static int probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	dev->wb.wops = &wb_ops;
 	dev->wb.parent = &pdev->dev;
 	dev->wb.mask = 0xffff;
-	mutex_init(&dev->mutex);
 	dev->window_offset = 0;
 	dev->low_addr = 0;
 	dev->width = 4;
diff --git a/pcie-wb/pcie_wb.h b/pcie-wb/pcie_wb.h
index 688d4c2d7f17c1bfb9aeb5246e6eea14efe7139a..543effcc39f1e307f9148f6c83f578985ea3e7f9 100644
--- a/pcie-wb/pcie_wb.h
+++ b/pcie-wb/pcie_wb.h
@@ -43,7 +43,6 @@ struct pcie_wb_dev {
 	int    msi;
 	
 	struct wishbone wb;
-	struct mutex mutex; /* only one user can open a cycle at a time */
 	unsigned int window_offset;
 	unsigned int low_addr, width, shift;
 };
diff --git a/pcie-wb/spec_wb.c b/pcie-wb/spec_wb.c
index 6ff88a92bd5bdd5c0d878676be8bc545d30c7ee6..9193fc20928514985af462577e18263ae7d0a553 100644
--- a/pcie-wb/spec_wb.c
+++ b/pcie-wb/spec_wb.c
@@ -37,12 +37,8 @@ static void wb_cycle(struct wishbone* wb, int on)
 	
 	dev = container_of(wb, struct spec_wb_dev, wb);
 	
-	if (on) mutex_lock(&dev->mutex);
-	
 	if (unlikely(debug))
 		printk(KERN_ALERT SPEC_WB ": cycle(%d)\n", on);
-	
-	if (!on) mutex_unlock(&dev->mutex);
 }
 
 static void wb_byteenable(struct wishbone* wb, unsigned char be)
@@ -270,7 +266,6 @@ static int probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	dev->wb.parent = &pdev->dev;
 	dev->wb.mask = 0; // not MSI capable
 	dev->msi = 1;
-	mutex_init(&dev->mutex);
 	dev->window_offset = 0;
 	dev->low_addr = 0;
 	dev->width = 4;
diff --git a/pcie-wb/spec_wb.h b/pcie-wb/spec_wb.h
index d7dd282cb55cdf39e059d770be17c427e1147e3c..c2d98689f21a072f35831b776770794dfedc7aa9 100644
--- a/pcie-wb/spec_wb.h
+++ b/pcie-wb/spec_wb.h
@@ -34,7 +34,6 @@ struct spec_wb_dev {
 	int    msi;
 	
 	struct wishbone wb;
-	struct mutex mutex; /* only one user can open a cycle at a time */
 	unsigned int window_offset;
 	unsigned int low_addr, width, shift;
 };
diff --git a/vme-wb/vme_wb_external.c b/vme-wb/vme_wb_external.c
index 293ff6c4ea7c5486ad3921a19e1e9d238a5b0c82..48c7ab0abfafdec69fc6ae8cff2d5340021cb3ee 100644
--- a/vme-wb/vme_wb_external.c
+++ b/vme-wb/vme_wb_external.c
@@ -49,17 +49,11 @@ static void wb_cycle(struct wishbone *wb, int on)
 
 	ctrl_win = dev->vme_res.map[MAP_CTRL]->kernel_va;
 
-	if (on)
-		mutex_lock(&dev->mutex);
-
 	if (unlikely(debug))
 		printk(KERN_ALERT ": Cycle(%d)\n", on);
 
 	iowrite32(cpu_to_be32((on ? 0x80000000UL : 0) + 0x40000000UL),
 		  ctrl_win + CTRL);
-
-	if (!on)
-		mutex_unlock(&dev->mutex);
 }
 
 static wb_data_t wb_read_cfg(struct wishbone *wb, wb_addr_t addr)
@@ -154,8 +148,6 @@ static wb_data_t wb_read(struct wishbone *wb, wb_addr_t addr)
 
 static int wb_request(struct wishbone *wb, struct wishbone_request *req)
 {
-	/* All forms of sleep are forbidden in this method (no printk/mutex/etc) */
-	
 	struct vme_wb_dev *dev;
 	unsigned char *ctrl_win;
 	uint32_t ctrl;
@@ -178,8 +170,6 @@ static int wb_request(struct wishbone *wb, struct wishbone_request *req)
 
 static void wb_reply(struct wishbone *wb, int err, wb_data_t data)
 {
-	/* All forms of sleep are forbidden in this method (no printk/mutex/etc) */
-	
 	struct vme_wb_dev *dev;
 	unsigned char *ctrl_win;
 
@@ -229,8 +219,6 @@ static void init_ctrl_reg(struct vme_wb_dev *dev)
 
 int irq_handler(void *dev_id)
 {
-	/* All forms of sleep are forbidden in this method (no printk/mutex/etc) */
-	
 	struct vme_wb_dev *dev = dev_id;
 
 	wishbone_slave_ready(&dev->wb);
@@ -443,7 +431,6 @@ static int vme_probe(struct device *pdev, unsigned int ndev)
 	dev->vme_res.vector = vector[ndev];
 	dev->vme_res.level = level[ndev];	/* Default value */
 	dev->vme_dev = pdev;
-	mutex_init(&dev->mutex);
 	dev->wb.wops = &wb_ops;
 	dev->wb.parent = pdev;
 	dev->wb.mask = 0xffff;