mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
staging: mmal-vchiq: Fix client_component for 64 bit kernel
The MMAL client_component field is used with the event mechanism to allow the client to identify the component for which the event is generated. The field is only 32bits in size, therefore we can't use a pointer to the component in a 64 bit kernel. Component handles are already held in an array per VCHI instance, so use the array index as the client_component handle to avoid having to create a new IDR for this purpose. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
This commit is contained in:
committed by
Dom Cobley
parent
59e77a0f86
commit
f12bfed11e
@@ -458,9 +458,9 @@ buffer_from_host(struct vchiq_mmal_instance *instance,
|
|||||||
static void event_to_host_cb(struct vchiq_mmal_instance *instance,
|
static void event_to_host_cb(struct vchiq_mmal_instance *instance,
|
||||||
struct mmal_msg *msg, u32 msg_len)
|
struct mmal_msg *msg, u32 msg_len)
|
||||||
{
|
{
|
||||||
/* FIXME: Not going to work on 64 bit */
|
int comp_idx = msg->u.event_to_host.client_component;
|
||||||
struct vchiq_mmal_component *component =
|
struct vchiq_mmal_component *component =
|
||||||
(struct vchiq_mmal_component *)msg->u.event_to_host.client_component;
|
&instance->component[comp_idx];
|
||||||
struct vchiq_mmal_port *port = NULL;
|
struct vchiq_mmal_port *port = NULL;
|
||||||
struct mmal_msg_context *msg_context;
|
struct mmal_msg_context *msg_context;
|
||||||
u32 port_num = msg->u.event_to_host.port_num;
|
u32 port_num = msg->u.event_to_host.port_num;
|
||||||
|
|||||||
Reference in New Issue
Block a user