mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 20:14:06 +02:00
staging: vchiq_arm: Get the rid off struct vchiq_2835_state
The whole benefit of this encapsulating struct is questionable. It just stores a flag to signalize the init state of vchiq_arm_state. Beside the fact this flag is set too soon, the access to uninitialized members should be avoided. So initialize vchiq_arm_state properly before assign it directly to vchiq_state. Signed-off-by: Stefan Wahren <wahrenst@gmx.net> Link: https://lore.kernel.org/r/20240621131958.98208-6-wahrenst@gmx.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
935cb7670d
commit
4e2766102d
|
|
@ -109,11 +109,6 @@ struct vchiq_arm_state {
|
|||
int first_connect;
|
||||
};
|
||||
|
||||
struct vchiq_2835_state {
|
||||
int inited;
|
||||
struct vchiq_arm_state arm_state;
|
||||
};
|
||||
|
||||
struct vchiq_pagelist_info {
|
||||
struct pagelist *pagelist;
|
||||
size_t pagelist_buffer_size;
|
||||
|
|
@ -613,29 +608,21 @@ vchiq_arm_init_state(struct vchiq_state *state,
|
|||
int
|
||||
vchiq_platform_init_state(struct vchiq_state *state)
|
||||
{
|
||||
struct vchiq_2835_state *platform_state;
|
||||
struct vchiq_arm_state *platform_state;
|
||||
|
||||
state->platform_state = kzalloc(sizeof(*platform_state), GFP_KERNEL);
|
||||
if (!state->platform_state)
|
||||
platform_state = kzalloc(sizeof(*platform_state), GFP_KERNEL);
|
||||
if (!platform_state)
|
||||
return -ENOMEM;
|
||||
|
||||
platform_state = (struct vchiq_2835_state *)state->platform_state;
|
||||
|
||||
platform_state->inited = 1;
|
||||
vchiq_arm_init_state(state, &platform_state->arm_state);
|
||||
vchiq_arm_init_state(state, platform_state);
|
||||
state->platform_state = (struct opaque_platform_state *)platform_state;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct vchiq_arm_state *vchiq_platform_get_arm_state(struct vchiq_state *state)
|
||||
{
|
||||
struct vchiq_2835_state *platform_state;
|
||||
|
||||
platform_state = (struct vchiq_2835_state *)state->platform_state;
|
||||
|
||||
WARN_ON_ONCE(!platform_state->inited);
|
||||
|
||||
return &platform_state->arm_state;
|
||||
return (struct vchiq_arm_state *)state->platform_state;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user