Staging driver fixes for 6.10-rc6
Here are 2 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. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCZoFmKA8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+yk5fgCfaPNg7ikwjRrmgUJbN/e9wx99T90AoL+/iJws 4xL+J3dALmGWTPBqBnNA =pIxW -----END PGP SIGNATURE----- Merge tag 'staging-6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 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
This commit is contained in:
commit
12529aa130
@ -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;
|
||||
|
||||
/*
|
||||
|
@ -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;
|
||||
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user