Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 127a8bd8 authored by Alex Yakavenka's avatar Alex Yakavenka
Browse files

can: Fix buffer calculation



Buffer calculation was incorrect.

CRs-Fixed: 1047734
Change-Id: I043bc13d37618fcc4aa70bb43c897c381b224b52
Signed-off-by: default avatarAlex Yakavenka <ayakav@codeaurora.org>
parent d71271a8
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -332,7 +332,8 @@ static int rh850_process_rx(struct rh850_can *priv_data, char *rx_buf)
			       rx_buf, 2);
			data = priv_data->assembly_buffer;
			resp = (struct spi_miso *)data;
			length = resp->len - priv_data->assembly_buffer_size;
			length = resp->len + sizeof(*resp)
					- priv_data->assembly_buffer_size;
			if (length > 0)
				memcpy(priv_data->assembly_buffer +
				       priv_data->assembly_buffer_size,
@@ -353,7 +354,7 @@ static int rh850_process_rx(struct rh850_can *priv_data, char *rx_buf)
		      length_processed, length_left, priv_data->xfer_length);
		length_processed += length;
		if (length_left >= sizeof(*resp) &&
		    resp->len <= length_left) {
		    resp->len + sizeof(*resp) <= length_left) {
			struct spi_miso *resp =
					(struct spi_miso *)data;
			ret = rh850_process_response(priv_data, resp,
@@ -841,8 +842,7 @@ static int rh850_do_blocking_ioctl(struct net_device *netdev,
		len = ioctl_data->len;
		data = ioctl_data->data;
	}
	LOGDI("rh850_do_blocking_ioctl len and data %d %x\n",
	      len, (void *)data);
	LOGDI("rh850_do_blocking_ioctl len %d\n", len);
	mutex_lock(&priv_data->spi_lock);

	priv_data->wait_cmd = spi_cmd;