diff --git a/patches/vmebridge.diff b/patches/vmebridge.diff
index 97399b5032bcab4b6fad5ea22b403148f06dc9f4..495ee384f2b7648a8001c5239d0f831411936ed2 100644
--- a/patches/vmebridge.diff
+++ b/patches/vmebridge.diff
@@ -9,7 +9,7 @@ index 12f3e818..698891fd 100644
  
  obj-m = vmebus.o
 diff --git a/vmebridge-ng/driver/bridges/pldz002/pldz002.h b/vmebridge-ng/driver/bridges/pldz002/pldz002.h
-index 2085412a..4f677665 100644
+index ef62175f..b54802af 100644
 --- a/vmebridge-ng/driver/bridges/pldz002/pldz002.h
 +++ b/vmebridge-ng/driver/bridges/pldz002/pldz002.h
 @@ -8,7 +8,6 @@
@@ -21,7 +21,7 @@ index 2085412a..4f677665 100644
  #include "vmebus.h"
  #include "vme_bridge.h"
 diff --git a/vmebridge-ng/driver/bridges/pldz002/pldz002_irq.c b/vmebridge-ng/driver/bridges/pldz002/pldz002_irq.c
-index 77f82113..5b7b877d 100644
+index 23f65a04..0e1eb723 100644
 --- a/vmebridge-ng/driver/bridges/pldz002/pldz002_irq.c
 +++ b/vmebridge-ng/driver/bridges/pldz002/pldz002_irq.c
 @@ -17,6 +17,7 @@
@@ -33,7 +33,7 @@ index 77f82113..5b7b877d 100644
  static struct interrupt_stats int_stats[] = {
  	{.name = "SPURIOUS"},
 diff --git a/vmebridge-ng/driver/vme_bridge.c b/vmebridge-ng/driver/vme_bridge.c
-index 7eb67794..6ad97a2f 100644
+index 84df7f0a..48a6de8a 100644
 --- a/vmebridge-ng/driver/vme_bridge.c
 +++ b/vmebridge-ng/driver/vme_bridge.c
 @@ -503,10 +503,12 @@ out_err:
@@ -66,7 +66,7 @@ index 7eb67794..6ad97a2f 100644
  
  	return ret ? ret : count;
  }
-@@ -1164,9 +1171,13 @@ static void vme_initialize_device(struct vme_dev *vme_dev)
+@@ -1166,9 +1173,13 @@ static void vme_initialize_device(struct vme_dev *vme_dev)
   * It tells if a device belong to a driver that generated the
   * device itself
   */
@@ -81,7 +81,7 @@ index 7eb67794..6ad97a2f 100644
  
  	return (dev->platform_data == vme_driver);
  }
-@@ -1184,7 +1195,8 @@ void vme_unregister_driver(struct vme_driver *vme_driver)
+@@ -1186,7 +1197,8 @@ void vme_unregister_driver(struct vme_driver *vme_driver)
  		 * until we remove them all
  		 */
  		dev = driver_find_device(&vme_driver->driver, NULL,
@@ -125,7 +125,7 @@ index 781f66c4..4ef0ac1a 100644
 +
  #endif
 diff --git a/vmebridge-ng/driver/vme_dmaengine.c b/vmebridge-ng/driver/vme_dmaengine.c
-index 779289e0..fc11ee66 100644
+index d7f3cc65..cbe21c36 100644
 --- a/vmebridge-ng/driver/vme_dmaengine.c
 +++ b/vmebridge-ng/driver/vme_dmaengine.c
 @@ -36,6 +36,7 @@
@@ -175,7 +175,7 @@ index 779289e0..fc11ee66 100644
  
  /**
   * Allocate resources for the given channel. This function must keep the
-@@ -313,13 +335,11 @@ static void vme_dmaengine_issue_pending(struct dma_chan *dchan)
+@@ -328,13 +350,11 @@ static void vme_dmaengine_issue_pending(struct dma_chan *dchan)
   * It allows drivers to send commands to the engine.
   * For the time being we only support the TERMINATE command
   */
@@ -187,33 +187,33 @@ index 779289e0..fc11ee66 100644
 -	struct vme_dma_chan *vdchan = to_vme_dma_chan(dchan);
 -	struct vme_bridge_dma_mgr *dma_mgr =
 -				to_vme_bridge_dma_mgr(vdchan->dchan.device);
- 	int err = 0;
+ 	int ret = 0;
  
  	switch (cmd) {
-@@ -331,11 +351,11 @@ static int vme_dmaengine_device_control(struct dma_chan *dchan,
+@@ -346,11 +366,11 @@ static int vme_dmaengine_device_control(struct dma_chan *dchan,
  		 * Pause works only with linked-list mode. This engine will
  		 * perform *only* linked-list transfers. So, pause always work
  		 */
--		dma_mgr->ops->dma_set_ctrl(vdchan, VME_DMA_PAUSE);
+-		ret = dma_mgr->ops->dma_set_ctrl(vdchan, VME_DMA_PAUSE);
 +		vme_dma_pause(dchan);
  		udelay(10);
  		break;
  	case DMA_RESUME:
--		dma_mgr->ops->dma_set_ctrl(vdchan, VME_DMA_START);
+-		ret = dma_mgr->ops->dma_set_ctrl(vdchan, VME_DMA_START);
 +		vme_dma_start(dchan);
  		break;
  	default:
- 		err = -ENXIO;
-@@ -344,7 +364,7 @@ static int vme_dmaengine_device_control(struct dma_chan *dchan,
+ 		ret = -ENXIO;
+@@ -359,7 +379,7 @@ static int vme_dmaengine_device_control(struct dma_chan *dchan,
  
- 	return err;
+ 	return ret;
  }
 -
 +#endif
  
  /**
   * The DMA transfer is complete, remove it from the list and try to run
-@@ -497,8 +517,25 @@ int vme_dmaengine_init(struct vme_bridge_device *vbridge)
+@@ -542,8 +562,25 @@ int vme_dmaengine_init(struct vme_bridge_device *vbridge)
  		vme_dmaengine_free_chan_resources;
  	dma_mgr->dma.device_prep_slave_sg =
  		vme_dmaengine_prep_slave_sg;