| From 2cb62d9fcd2fb1edd5adf8e0bc3849996cf0f0e8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 5 Jan 2021 16:20:29 +0000 |
| Subject: staging: vchiq: Fix bulk transfers on 64-bit builds |
| |
| From: Phil Elwell <phil@raspberrypi.com> |
| |
| [ Upstream commit 88753cc19f087abe0d39644b844e67a59cfb5a3d ] |
| |
| The recent change to the bulk transfer compat function missed the fact |
| the relevant ioctl command is VCHIQ_IOC_QUEUE_BULK_TRANSMIT32, not |
| VCHIQ_IOC_QUEUE_BULK_TRANSMIT, as any attempt to send a bulk block |
| to the VPU would have shown. |
| |
| Fixes: a4367cd2b231 ("staging: vchiq: convert compat bulk transfer") |
| Acked-by: Arnd Bergmann <arnd@arndb.de> |
| Acked-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Phil Elwell <phil@raspberrypi.com> |
| Link: https://lore.kernel.org/r/20210105162030.1415213-3-phil@raspberrypi.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| 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 5bc9b394212b8..3d378da119e7a 100644 |
| --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c |
| +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c |
| @@ -1714,7 +1714,7 @@ vchiq_compat_ioctl_queue_bulk(struct file *file, |
| { |
| struct vchiq_queue_bulk_transfer32 args32; |
| struct vchiq_queue_bulk_transfer args; |
| - enum vchiq_bulk_dir dir = (cmd == VCHIQ_IOC_QUEUE_BULK_TRANSMIT) ? |
| + enum vchiq_bulk_dir dir = (cmd == VCHIQ_IOC_QUEUE_BULK_TRANSMIT32) ? |
| VCHIQ_BULK_TRANSMIT : VCHIQ_BULK_RECEIVE; |
| |
| if (copy_from_user(&args32, argp, sizeof(args32))) |
| -- |
| 2.27.0 |
| |