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

Commit 6fb39c50 authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab
Browse files

[media] af9035: various small changes for af9035_ctrl_msg()



Fix USB buffer len to maximum possible.
Various log writing fixes, remove extra new lines and excessive
type casts. Rename and type change some variables.

Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 4b25524c
Loading
Loading
Loading
Loading
+15 −16
Original line number Diff line number Diff line
@@ -57,17 +57,16 @@ static u16 af9035_checksum(const u8 *buf, size_t len)

static int af9035_ctrl_msg(struct usb_device *udev, struct usb_req *req)
{
#define BUF_LEN 63
#define BUF_LEN 64
#define REQ_HDR_LEN 4 /* send header size */
#define ACK_HDR_LEN 3 /* rece header size */
#define CHECKSUM_LEN 2
#define USB_TIMEOUT 2000

	int ret, act_len;
	int ret, msg_len, act_len;
	u8 buf[BUF_LEN];
	u32 msg_len;
	static u8 seq; /* packet sequence number */
	u16 checksum, tmpsum;
	u16 checksum, tmp_checksum;

	/* buffer overflow check */
	if (req->wlen > (BUF_LEN - REQ_HDR_LEN - CHECKSUM_LEN) ||
@@ -118,23 +117,23 @@ static int af9035_ctrl_msg(struct usb_device *udev, struct usb_req *req)
		ret = -EIO;
		goto err_mutex_unlock;
	}

	if (act_len != msg_len) {
		err("recv bulk message truncated (%d != %u)\n",
		    act_len, (unsigned int)msg_len);
		err("recv bulk message truncated (%d != %d)", act_len, msg_len);
		ret = -EIO;
		goto err_mutex_unlock;
	}

	/* verify checksum */
	checksum = af9035_checksum(buf, act_len - 2);
	tmpsum = (buf[act_len - 2] << 8) | buf[act_len - 1];
	if (tmpsum != checksum) {
		err("%s: command=%02X checksum mismatch (%04X != %04X)\n",
		    __func__, req->cmd,
		    (unsigned int)tmpsum, (unsigned int)checksum);
	tmp_checksum = (buf[act_len - 2] << 8) | buf[act_len - 1];
	if (tmp_checksum != checksum) {
		err("%s: command=%02x checksum mismatch (%04x != %04x)",
		    __func__, req->cmd, tmp_checksum, checksum);
		ret = -EIO;
		goto err_mutex_unlock;
	}

	/* check status */
	if (buf[2]) {
		pr_debug("%s: command=%02x failed fw error=%d\n", __func__,
@@ -400,7 +399,7 @@ static int af9035_download_firmware(struct usb_device *udev,
	struct usb_req req_fw_ver = { CMD_FW_QUERYINFO, 0, 1, wbuf, 4, rbuf } ;
	u8 hdr_core;
	u16 hdr_addr, hdr_data_len, hdr_checksum;
	#define MAX_DATA 57
	#define MAX_DATA 58
	#define HDR_SIZE 7

	/*