Commit f88c0c72 authored by Hans de Goede's avatar Hans de Goede Committed by Greg Kroah-Hartman
Browse files

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: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarAlexander Usyskin <alexander.usyskin@intel.com>
Reviewed-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Link: https://lore.kernel.org/r/20250318141203.94342-3-hdegoede@redhat.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 00f1cc14
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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_tp *tp, struct vsc_tp_packet *pkt,
{
	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, const void *obuf, void *ibuf, size_t len)
	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, const void *obuf, void *ibuf, size_t len)
		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_device *spi)
	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;