Commit 12529aa1 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull staging driver fixes from Greg KH:
 "Here are two small staging driver fixes for 6.10-rc6, both for the
  vc04_services drivers:

   - build fix if CONFIG_DEBUGFS was not set

   - initialization check fix that was much reported.

  Both of these have been in linux-next this week with no reported
  issues"

* tag 'staging-6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  staging: vchiq_debugfs: Fix build if CONFIG_DEBUG_FS is not set
  staging: vc04_services: vchiq_arm: Fix initialisation check
parents 3e334486 fcdd7b7b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -707,7 +707,7 @@ int vchiq_initialise(struct vchiq_state *state, struct vchiq_instance **instance
	 * block forever.
	 */
	for (i = 0; i < VCHIQ_INIT_RETRIES; i++) {
		if (state)
		if (vchiq_remote_initialised(state))
			break;
		usleep_range(500, 600);
	}
@@ -1202,7 +1202,7 @@ void vchiq_dump_platform_instances(struct vchiq_state *state, struct seq_file *f
{
	int i;

	if (!state)
	if (!vchiq_remote_initialised(state))
		return;

	/*
+5 −0
Original line number Diff line number Diff line
@@ -413,6 +413,11 @@ struct vchiq_state {
	struct opaque_platform_state *platform_state;
};

static inline bool vchiq_remote_initialised(const struct vchiq_state *state)
{
	return state->remote && state->remote->initialised;
}

struct bulk_waiter {
	struct vchiq_bulk *bulk;
	struct completion event;
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ void vchiq_debugfs_deinit(void)

#else /* CONFIG_DEBUG_FS */

void vchiq_debugfs_init(void)
void vchiq_debugfs_init(struct vchiq_state *state)
{
}

+6 −1
Original line number Diff line number Diff line
@@ -1170,6 +1170,11 @@ static int vchiq_open(struct inode *inode, struct file *file)

	dev_dbg(state->dev, "arm: vchiq open\n");

	if (!vchiq_remote_initialised(state)) {
		dev_dbg(state->dev, "arm: vchiq has no connection to VideoCore\n");
		return -ENOTCONN;
	}

	instance = kzalloc(sizeof(*instance), GFP_KERNEL);
	if (!instance)
		return -ENOMEM;
@@ -1200,7 +1205,7 @@ static int vchiq_release(struct inode *inode, struct file *file)

	dev_dbg(state->dev, "arm: instance=%p\n", instance);

	if (!state) {
	if (!vchiq_remote_initialised(state)) {
		ret = -EPERM;
		goto out;
	}