73 lines
2.4 KiB
Diff
73 lines
2.4 KiB
Diff
From b41541948188c8834cda272defdcaceb6b5192d5 Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
Date: Tue, 18 Mar 2025 15:12:03 +0100
|
|
Subject: mei: vsc: Use struct vsc_tp_packet as vsc-tp tx_buf and rx_buf type
|
|
|
|
vsc_tp.tx_buf and vsc_tp.rx_buf point to a struct vsc_tp_packet, use
|
|
the correct type instead of "void *" and use sizeof(*ptr) when allocating
|
|
memory for these buffers.
|
|
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Reviewed-by: Alexander Usyskin <alexander.usyskin@intel.com>
|
|
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
|
|
Link: https://lore.kernel.org/r/20250318141203.94342-3-hdegoede@redhat.com
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
drivers/misc/mei/vsc-tp.c | 14 +++++++-------
|
|
1 file changed, 7 insertions(+), 7 deletions(-)
|
|
|
|
--- a/drivers/misc/mei/vsc-tp.c
|
|
+++ b/drivers/misc/mei/vsc-tp.c
|
|
@@ -71,8 +71,8 @@ struct vsc_tp {
|
|
u32 seq;
|
|
|
|
/* command buffer */
|
|
- void *tx_buf;
|
|
- void *rx_buf;
|
|
+ struct vsc_tp_packet *tx_buf;
|
|
+ struct vsc_tp_packet *rx_buf;
|
|
|
|
atomic_t assert_cnt;
|
|
wait_queue_head_t xfer_wait;
|
|
@@ -164,7 +164,7 @@ static int vsc_tp_xfer_helper(struct vsc
|
|
{
|
|
int ret, offset = 0, cpy_len, src_len, dst_len = sizeof(struct vsc_tp_packet_hdr);
|
|
int next_xfer_len = VSC_TP_PACKET_SIZE(pkt) + VSC_TP_XFER_TIMEOUT_BYTES;
|
|
- u8 *src, *crc_src, *rx_buf = tp->rx_buf;
|
|
+ u8 *src, *crc_src, *rx_buf = (u8 *)tp->rx_buf;
|
|
int count_down = VSC_TP_MAX_XFER_COUNT;
|
|
u32 recv_crc = 0, crc = ~0;
|
|
struct vsc_tp_packet_hdr ack;
|
|
@@ -324,7 +324,7 @@ int vsc_tp_rom_xfer(struct vsc_tp *tp, c
|
|
guard(mutex)(&tp->mutex);
|
|
|
|
/* rom xfer is big endian */
|
|
- cpu_to_be32_array(tp->tx_buf, obuf, words);
|
|
+ cpu_to_be32_array((u32 *)tp->tx_buf, obuf, words);
|
|
|
|
ret = read_poll_timeout(gpiod_get_value_cansleep, ret,
|
|
!ret, VSC_TP_ROM_XFER_POLL_DELAY_US,
|
|
@@ -340,7 +340,7 @@ int vsc_tp_rom_xfer(struct vsc_tp *tp, c
|
|
return ret;
|
|
|
|
if (ibuf)
|
|
- be32_to_cpu_array(ibuf, tp->rx_buf, words);
|
|
+ be32_to_cpu_array(ibuf, (u32 *)tp->rx_buf, words);
|
|
|
|
return ret;
|
|
}
|
|
@@ -494,11 +494,11 @@ static int vsc_tp_probe(struct spi_devic
|
|
if (!tp)
|
|
return -ENOMEM;
|
|
|
|
- tp->tx_buf = devm_kzalloc(dev, VSC_TP_MAX_XFER_SIZE, GFP_KERNEL);
|
|
+ tp->tx_buf = devm_kzalloc(dev, sizeof(*tp->tx_buf), GFP_KERNEL);
|
|
if (!tp->tx_buf)
|
|
return -ENOMEM;
|
|
|
|
- tp->rx_buf = devm_kzalloc(dev, VSC_TP_MAX_XFER_SIZE, GFP_KERNEL);
|
|
+ tp->rx_buf = devm_kzalloc(dev, sizeof(*tp->rx_buf), GFP_KERNEL);
|
|
if (!tp->rx_buf)
|
|
return -ENOMEM;
|
|
|