aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.9/0098-vchiq_arm-Service-callbacks-must-not-fail.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.9/0098-vchiq_arm-Service-callbacks-must-not-fail.patch')
-rw-r--r--target/linux/brcm2708/patches-4.9/0098-vchiq_arm-Service-callbacks-must-not-fail.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.9/0098-vchiq_arm-Service-callbacks-must-not-fail.patch b/target/linux/brcm2708/patches-4.9/0098-vchiq_arm-Service-callbacks-must-not-fail.patch
new file mode 100644
index 0000000000..1f30478d98
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.9/0098-vchiq_arm-Service-callbacks-must-not-fail.patch
@@ -0,0 +1,26 @@
+From db2437c557a5095022610b672c066aa2c16a684d Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Wed, 23 Mar 2016 20:53:47 +0000
+Subject: [PATCH] vchiq_arm: Service callbacks must not fail
+
+Service callbacks are not allowed to return an error. The internal callback
+that delivers events and messages to user tasks does not enqueue them if
+the service is closing, but this is not an error and should not be
+reported as such.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
++++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
+@@ -224,7 +224,7 @@ add_completion(VCHIQ_INSTANCE_T instance
+ } else if (instance->closing) {
+ vchiq_log_info(vchiq_arm_log_level,
+ "service_callback closing");
+- return VCHIQ_ERROR;
++ return VCHIQ_SUCCESS;
+ }
+ DEBUG_TRACE(SERVICE_CALLBACK_LINE);
+ }