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

Commit e6d8b24e authored by Maya Erez's avatar Maya Erez
Browse files

wil6210: remove HALP voting in debugfs ioblob



debugfs ioblob function is called by the FW logs scripts
to copy the FW logs via PCIe.
As the FW logs collection is done in parallel to the operational
11AD actions, the HALP voting can take place during 11AD reset flow
and other sensitive scenarios.
To prevent that, remove HALP voting from the ioblob function.

Change-Id: I2d63bf0628f3cc88ba90063534f31b6a27b80d49
Signed-off-by: default avatarMaya Erez <merez@codeaurora.org>
parent 34c251e4
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -524,8 +524,7 @@ static ssize_t wil_read_file_ioblob(struct file *file, char __user *user_buf,
	if (!buf)
		return -ENOMEM;

	wil_memcpy_fromio_halp_vote(wil_blob->wil, buf,
				    (const volatile void __iomem *)
	wil_memcpy_fromio_32(buf, (const void __iomem *)
			     wil_blob->blob.data + pos, count);

	ret = copy_to_user(user_buf, buf, count);
+0 −17
Original line number Diff line number Diff line
@@ -135,14 +135,6 @@ void wil_memcpy_fromio_32(void *dst, const volatile void __iomem *src,
		*d++ = __raw_readl(s++);
}

void wil_memcpy_fromio_halp_vote(struct wil6210_priv *wil, void *dst,
				 const volatile void __iomem *src, size_t count)
{
	wil_halp_vote(wil);
	wil_memcpy_fromio_32(dst, src, count);
	wil_halp_unvote(wil);
}

void wil_memcpy_toio_32(volatile void __iomem *dst, const void *src,
			size_t count)
{
@@ -153,15 +145,6 @@ void wil_memcpy_toio_32(volatile void __iomem *dst, const void *src,
		__raw_writel(*s++, d++);
}

void wil_memcpy_toio_halp_vote(struct wil6210_priv *wil,
			       volatile void __iomem *dst,
			       const void *src, size_t count)
{
	wil_halp_vote(wil);
	wil_memcpy_toio_32(dst, src, count);
	wil_halp_unvote(wil);
}

static void wil_disconnect_cid(struct wil6210_priv *wil, int cid,
			       u16 reason_code, bool from_event)
__acquires(&sta->tid_rx_lock) __releases(&sta->tid_rx_lock)
+0 −6
Original line number Diff line number Diff line
@@ -790,12 +790,6 @@ void wil_memcpy_fromio_32(void *dst, const volatile void __iomem *src,
			  size_t count);
void wil_memcpy_toio_32(volatile void __iomem *dst, const void *src,
			size_t count);
void wil_memcpy_fromio_halp_vote(struct wil6210_priv *wil, void *dst,
				 const volatile void __iomem *src,
				 size_t count);
void wil_memcpy_toio_halp_vote(struct wil6210_priv *wil,
			       volatile void __iomem *dst,
			       const void *src, size_t count);

void *wil_if_alloc(struct device *dev);
void wil_if_free(struct wil6210_priv *wil);