diff options
Diffstat (limited to 'bcm2835-vchiq-use-interruptible-waits.patch')
-rw-r--r-- | bcm2835-vchiq-use-interruptible-waits.patch | 474 |
1 files changed, 0 insertions, 474 deletions
diff --git a/bcm2835-vchiq-use-interruptible-waits.patch b/bcm2835-vchiq-use-interruptible-waits.patch deleted file mode 100644 index d21cbe9b1..000000000 --- a/bcm2835-vchiq-use-interruptible-waits.patch +++ /dev/null @@ -1,474 +0,0 @@ -From e4d9fccaaf6e61bbc7416d92d73cec5a5f0cb458 Mon Sep 17 00:00:00 2001 -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Date: Thu, 9 May 2019 16:31:36 +0200 -Subject: [PATCH 4/4] staging: vchiq: stop explicitly comparing with zero to - catch errors - -The vchiq code tends to follow a coding pattern that's not accepted as -per the Linux kernel coding style - -We have this: - if (expression != 0) - -We want this: - if (expression) - -We make an exception if the expression refers to a size, in which case -it's accepted for the sake of clarity. - -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> ---- - .../bcm2835-camera/bcm2835-camera.c | 11 ++-- - .../interface/vchiq_arm/vchiq_2835_arm.c | 2 +- - .../interface/vchiq_arm/vchiq_arm.c | 66 ++++++++----------- - .../interface/vchiq_arm/vchiq_connected.c | 4 +- - .../interface/vchiq_arm/vchiq_core.c | 28 ++++---- - .../interface/vchiq_arm/vchiq_debugfs.c | 4 +- - 6 files changed, 52 insertions(+), 63 deletions(-) - -diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -index 7c6cf41645eb..c5b29a28d326 100644 ---- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -@@ -328,7 +328,7 @@ static void buffer_cb(struct vchiq_mmal_instance *instance, - "%s: status:%d, buf:%p, length:%lu, flags %u, pts %lld\n", - __func__, status, buf, length, mmal_flags, pts); - -- if (status != 0) { -+ if (status) { - /* error in transfer */ - if (buf) { - /* there was a buffer with the error so return it */ -@@ -360,8 +360,7 @@ static void buffer_cb(struct vchiq_mmal_instance *instance, - } - } else { - if (dev->capture.frame_count) { -- if (dev->capture.vc_start_timestamp != -1 && -- pts != 0) { -+ if (dev->capture.vc_start_timestamp != -1 && pts) { - ktime_t timestamp; - s64 runtime_us = pts - - dev->capture.vc_start_timestamp; -@@ -829,7 +828,7 @@ static int vidioc_enum_input(struct file *file, void *priv, - struct v4l2_input *inp) - { - /* only a single camera input */ -- if (inp->index != 0) -+ if (inp->index) - return -EINVAL; - - inp->type = V4L2_INPUT_TYPE_CAMERA; -@@ -845,7 +844,7 @@ static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) - - static int vidioc_s_input(struct file *file, void *priv, unsigned int i) - { -- if (i != 0) -+ if (i) - return -EINVAL; - - return 0; -@@ -1291,7 +1290,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, - } - - ret = mmal_setup_components(dev, f); -- if (ret != 0) { -+ if (ret) { - v4l2_err(&dev->v4l2_dev, - "%s: failed to setup mmal components: %d\n", - __func__, ret); -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c -index 833b28e9ba4b..e87d6e290a9f 100644 ---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c -+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c -@@ -553,7 +553,7 @@ create_pagelist(char __user *buf, size_t count, unsigned short type) - (g_cache_line_size - 1)))) { - char *fragments; - -- if (down_interruptible(&g_free_fragments_sema) != 0) { -+ if (down_interruptible(&g_free_fragments_sema)) { - cleanup_pagelistinfo(pagelistinfo); - return NULL; - } -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -index ccfb8218b83c..934014cf08b2 100644 ---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -266,7 +266,7 @@ VCHIQ_STATUS_T vchiq_shutdown(VCHIQ_INSTANCE_T instance) - vchiq_log_trace(vchiq_core_log_level, - "%s(%p) called", __func__, instance); - -- if (mutex_lock_killable(&state->mutex) != 0) -+ if (mutex_lock_killable(&state->mutex)) - return VCHIQ_RETRY; - - /* Remove all services */ -@@ -308,7 +308,7 @@ VCHIQ_STATUS_T vchiq_connect(VCHIQ_INSTANCE_T instance) - vchiq_log_trace(vchiq_core_log_level, - "%s(%p) called", __func__, instance); - -- if (mutex_lock_killable(&state->mutex) != 0) { -+ if (mutex_lock_killable(&state->mutex)) { - vchiq_log_trace(vchiq_core_log_level, - "%s: call to mutex_lock failed", __func__); - status = VCHIQ_RETRY; -@@ -673,8 +673,7 @@ service_callback(VCHIQ_REASON_T reason, struct vchiq_header *header, - - DEBUG_TRACE(SERVICE_CALLBACK_LINE); - if (wait_for_completion_interruptible( -- &user_service->remove_event) -- != 0) { -+ &user_service->remove_event)) { - vchiq_log_info(vchiq_arm_log_level, - "%s interrupted", __func__); - DEBUG_TRACE(SERVICE_CALLBACK_LINE); -@@ -878,7 +877,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - break; - } - rc = mutex_lock_killable(&instance->state->mutex); -- if (rc != 0) { -+ if (rc) { - vchiq_log_error(vchiq_arm_log_level, - "vchiq: connect: could not lock mutex for " - "state %d: %d", -@@ -902,9 +901,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - void *userdata; - int srvstate; - -- if (copy_from_user -- (&args, (const void __user *)arg, -- sizeof(args)) != 0) { -+ if (copy_from_user(&args, (const void __user *)arg, -+ sizeof(args))) { - ret = -EFAULT; - break; - } -@@ -968,7 +966,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - &(((struct vchiq_create_service __user *) - arg)->handle), - (const void *)&service->handle, -- sizeof(service->handle)) != 0) { -+ sizeof(service->handle))) { - ret = -EFAULT; - vchiq_remove_service(service->handle); - } -@@ -1043,9 +1041,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - case VCHIQ_IOC_QUEUE_MESSAGE: { - struct vchiq_queue_message args; - -- if (copy_from_user -- (&args, (const void __user *)arg, -- sizeof(args)) != 0) { -+ if (copy_from_user(&args, (const void __user *)arg, -+ sizeof(args))) { - ret = -EFAULT; - break; - } -@@ -1077,9 +1074,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - (cmd == VCHIQ_IOC_QUEUE_BULK_TRANSMIT) ? - VCHIQ_BULK_TRANSMIT : VCHIQ_BULK_RECEIVE; - -- if (copy_from_user -- (&args, (const void __user *)arg, -- sizeof(args)) != 0) { -+ if (copy_from_user(&args, (const void __user *)arg, -+ sizeof(args))) { - ret = -EFAULT; - break; - } -@@ -1153,7 +1149,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - &(((struct vchiq_queue_bulk_transfer __user *) - arg)->mode), - (const void *)&mode_waiting, -- sizeof(mode_waiting)) != 0) -+ sizeof(mode_waiting))) - ret = -EFAULT; - } - } break; -@@ -1168,7 +1164,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - } - - if (copy_from_user(&args, (const void __user *)arg, -- sizeof(args)) != 0) { -+ sizeof(args))) { - ret = -EFAULT; - break; - } -@@ -1186,7 +1182,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - rc = wait_for_completion_interruptible( - &instance->insert_event); - mutex_lock(&instance->completion_mutex); -- if (rc != 0) { -+ if (rc) { - DEBUG_TRACE(AWAIT_COMPLETION_LINE); - vchiq_log_info(vchiq_arm_log_level, - "AWAIT_COMPLETION interrupted"); -@@ -1252,7 +1248,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - if (copy_from_user(&msgbuf, - (const void __user *) - &args.msgbufs[msgbufcount], -- sizeof(msgbuf)) != 0) { -+ sizeof(msgbuf))) { - if (ret == 0) - ret = -EFAULT; - break; -@@ -1260,7 +1256,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - - /* Copy the message to user space */ - if (copy_to_user(msgbuf, header, -- msglen) != 0) { -+ msglen)) { - if (ret == 0) - ret = -EFAULT; - break; -@@ -1285,8 +1281,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - (size_t)args.buf + ret * - sizeof(struct vchiq_completion_data)), - completion, -- sizeof(struct vchiq_completion_data)) -- != 0) { -+ sizeof(struct vchiq_completion_data))) { - if (ret == 0) - ret = -EFAULT; - break; -@@ -1306,13 +1301,13 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - &((struct vchiq_await_completion *)arg) - ->msgbufcount, - &msgbufcount, -- sizeof(msgbufcount)) != 0) { -+ sizeof(msgbufcount))) { - ret = -EFAULT; - } - } - } - -- if (ret != 0) -+ if (ret) - complete(&instance->remove_event); - mutex_unlock(&instance->completion_mutex); - DEBUG_TRACE(AWAIT_COMPLETION_LINE); -@@ -1324,9 +1319,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - struct vchiq_header *header; - - DEBUG_TRACE(DEQUEUE_MESSAGE_LINE); -- if (copy_from_user -- (&args, (const void __user *)arg, -- sizeof(args)) != 0) { -+ if (copy_from_user(&args, (const void __user *)arg, -+ sizeof(args))) { - ret = -EFAULT; - break; - } -@@ -1412,7 +1406,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - struct vchiq_config config; - - if (copy_from_user(&args, (const void __user *)arg, -- sizeof(args)) != 0) { -+ sizeof(args))) { - ret = -EFAULT; - break; - } -@@ -1431,9 +1425,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - case VCHIQ_IOC_SET_SERVICE_OPTION: { - struct vchiq_set_service_option args; - -- if (copy_from_user( -- &args, (const void __user *)arg, -- sizeof(args)) != 0) { -+ if (copy_from_user(&args, (const void __user *)arg, -+ sizeof(args))) { - ret = -EFAULT; - break; - } -@@ -2361,8 +2354,7 @@ vchiq_keepalive_thread_func(void *v) - while (1) { - long rc = 0, uc = 0; - -- if (wait_for_completion_interruptible(&arm_state->ka_evt) -- != 0) { -+ if (wait_for_completion_interruptible(&arm_state->ka_evt)) { - vchiq_log_error(vchiq_susp_log_level, - "%s interrupted", __func__); - flush_signals(current); -@@ -3043,7 +3035,7 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service, - vchiq_log_info(vchiq_susp_log_level, "%s %s resume " - "blocked - waiting...", __func__, entity); - if (wait_for_completion_killable( -- &arm_state->resume_blocker) != 0) { -+ &arm_state->resume_blocker)) { - vchiq_log_error(vchiq_susp_log_level, "%s %s " - "wait for resume blocker interrupted", - __func__, entity); -@@ -3092,7 +3084,7 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service, - vchiq_log_info(vchiq_susp_log_level, "%s %s wait for resume", - __func__, entity); - if (wait_for_completion_killable( -- &arm_state->vc_resume_complete) != 0) { -+ &arm_state->vc_resume_complete)) { - vchiq_log_error(vchiq_susp_log_level, "%s %s wait for " - "resume interrupted", __func__, entity); - ret = VCHIQ_ERROR; -@@ -3537,13 +3529,13 @@ static int vchiq_probe(struct platform_device *pdev) - platform_set_drvdata(pdev, drvdata); - - err = vchiq_platform_init(pdev, &g_state); -- if (err != 0) -+ if (err) - goto failed_platform_init; - - cdev_init(&vchiq_cdev, &vchiq_fops); - vchiq_cdev.owner = THIS_MODULE; - err = cdev_add(&vchiq_cdev, vchiq_devid, 1); -- if (err != 0) { -+ if (err) { - vchiq_log_error(vchiq_arm_log_level, - "Unable to register device"); - goto failed_platform_init; -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.c -index 7d64e2ed7b42..5bcb6396b23b 100644 ---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.c -+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.c -@@ -71,7 +71,7 @@ void vchiq_add_connected_callback(VCHIQ_CONNECTED_CALLBACK_T callback) - { - connected_init(); - -- if (mutex_lock_killable(&g_connected_mutex) != 0) -+ if (mutex_lock_killable(&g_connected_mutex)) - return; - - if (g_connected) -@@ -106,7 +106,7 @@ void vchiq_call_connected_callbacks(void) - - connected_init(); - -- if (mutex_lock_killable(&g_connected_mutex) != 0) -+ if (mutex_lock_killable(&g_connected_mutex)) - return; - - for (i = 0; i < g_num_deferred_callbacks; i++) -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c -index 0958d86aebe6..bbdf16977afb 100644 ---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c -+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c -@@ -830,7 +830,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, - WARN_ON(!(stride <= VCHIQ_SLOT_SIZE)); - - if (!(flags & QMFLAGS_NO_MUTEX_LOCK) && -- (mutex_lock_killable(&state->slot_mutex) != 0)) -+ mutex_lock_killable(&state->slot_mutex)) - return VCHIQ_RETRY; - - if (type == VCHIQ_MSG_DATA) { -@@ -842,8 +842,8 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, - return VCHIQ_ERROR; - } - -- WARN_ON((flags & (QMFLAGS_NO_MUTEX_LOCK | -- QMFLAGS_NO_MUTEX_UNLOCK)) != 0); -+ WARN_ON(flags & (QMFLAGS_NO_MUTEX_LOCK | -+ QMFLAGS_NO_MUTEX_UNLOCK)); - - if (service->closing) { - /* The service has been closed */ -@@ -904,7 +904,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, - return VCHIQ_RETRY; - if (service->closing) - return VCHIQ_ERROR; -- if (mutex_lock_killable(&state->slot_mutex) != 0) -+ if (mutex_lock_killable(&state->slot_mutex)) - return VCHIQ_RETRY; - if (service->srvstate != VCHIQ_SRVSTATE_OPEN) { - /* The service has been closed */ -@@ -942,8 +942,8 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, - header, size, VCHIQ_MSG_SRCPORT(msgid), - VCHIQ_MSG_DSTPORT(msgid)); - -- WARN_ON((flags & (QMFLAGS_NO_MUTEX_LOCK | -- QMFLAGS_NO_MUTEX_UNLOCK)) != 0); -+ WARN_ON(flags & (QMFLAGS_NO_MUTEX_LOCK | -+ QMFLAGS_NO_MUTEX_UNLOCK)); - - callback_result = - copy_message_data(copy_callback, context, -@@ -1070,8 +1070,8 @@ queue_message_sync(struct vchiq_state *state, struct vchiq_service *service, - - local = state->local; - -- if ((VCHIQ_MSG_TYPE(msgid) != VCHIQ_MSG_RESUME) && -- (mutex_lock_killable(&state->sync_mutex) != 0)) -+ if (VCHIQ_MSG_TYPE(msgid) != VCHIQ_MSG_RESUME && -+ mutex_lock_killable(&state->sync_mutex)) - return VCHIQ_RETRY; - - remote_event_wait(&state->sync_release_event, &local->sync_release); -@@ -1748,8 +1748,7 @@ parse_rx_slots(struct vchiq_state *state) - &service->bulk_rx : &service->bulk_tx; - - DEBUG_TRACE(PARSE_LINE); -- if (mutex_lock_killable( -- &service->bulk_mutex) != 0) { -+ if (mutex_lock_killable(&service->bulk_mutex)) { - DEBUG_TRACE(PARSE_LINE); - goto bail_not_ready; - } -@@ -2553,7 +2552,7 @@ do_abort_bulks(struct vchiq_service *service) - VCHIQ_STATUS_T status; - - /* Abort any outstanding bulk transfers */ -- if (mutex_lock_killable(&service->bulk_mutex) != 0) -+ if (mutex_lock_killable(&service->bulk_mutex)) - return 0; - abort_outstanding_bulks(service, &service->bulk_tx); - abort_outstanding_bulks(service, &service->bulk_rx); -@@ -3068,7 +3067,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle, - queue = (dir == VCHIQ_BULK_TRANSMIT) ? - &service->bulk_tx : &service->bulk_rx; - -- if (mutex_lock_killable(&service->bulk_mutex) != 0) { -+ if (mutex_lock_killable(&service->bulk_mutex)) { - status = VCHIQ_RETRY; - goto error_exit; - } -@@ -3082,8 +3081,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle, - status = VCHIQ_RETRY; - goto error_exit; - } -- if (mutex_lock_killable(&service->bulk_mutex) -- != 0) { -+ if (mutex_lock_killable(&service->bulk_mutex)) { - status = VCHIQ_RETRY; - goto error_exit; - } -@@ -3111,7 +3109,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle, - - /* The slot mutex must be held when the service is being closed, so - claim it here to ensure that isn't happening */ -- if (mutex_lock_killable(&state->slot_mutex) != 0) { -+ if (mutex_lock_killable(&state->slot_mutex)) { - status = VCHIQ_RETRY; - goto cancel_bulk_error_exit; - } -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c -index 3928287cf5f7..8799c30f397c 100644 ---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c -+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c -@@ -114,7 +114,7 @@ static ssize_t debugfs_log_write(struct file *file, - if (count >= DEBUGFS_WRITE_BUF_SIZE) - count = DEBUGFS_WRITE_BUF_SIZE; - -- if (copy_from_user(kbuf, buffer, count) != 0) -+ if (copy_from_user(kbuf, buffer, count)) - return -EFAULT; - kbuf[count - 1] = 0; - -@@ -179,7 +179,7 @@ static ssize_t debugfs_trace_write(struct file *file, - VCHIQ_INSTANCE_T instance = f->private; - char firstchar; - -- if (copy_from_user(&firstchar, buffer, 1) != 0) -+ if (copy_from_user(&firstchar, buffer, 1)) - return -EFAULT; - - switch (firstchar) { --- -2.21.0 - |