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

Commit ba7e9f63 authored by Jack Pham's avatar Jack Pham
Browse files

usb: gadget: f_fs: Add support for IPC logging



Log function entry and exit and dump relevant values
into IPC log buffer. This allows to debug various
race conditions and stability issues.

Allow this to be enabled with CONFIG_USB_F_FS_IPC_LOGGING
which is dependent on CONFIG_QGKI.

Change-Id: I15011d79fc2f054e64f8bbd1f8f5db8944b46ada
Signed-off-by: default avatarHemant Kumar <hemantk@codeaurora.org>
Signed-off-by: default avatarMayank Rana <mrana@codeaurora.org>
Signed-off-by: default avatarJack Pham <jackp@codeaurora.org>
parent c8954799
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -237,6 +237,18 @@ config USB_F_CDEV
config USB_F_GSI
	tristate

config USB_F_FS_IPC_LOGGING
	bool "Enable IPC logging for FunctionFS"
	depends on QGKI
	default IPC_LOGGING
	help
	  Enables additional debug messages in FunctionFS driver to be
	  output via IPC Logging mechanism. This can be useful when
	  troubleshooting transfer stalls or other general failures and
	  determine if the issue is in the kernel gadget or the userspace
	  client. Separate IPC log contexts are created for each function
	  instance at mount time.

# this first set of drivers all depend on bulk-capable hardware.

config USB_CONFIGFS
+309 −22

File changed.

Preview size limit exceeded, changes collapsed.

+4 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
#include <linux/mutex.h>
#include <linux/workqueue.h>
#include <linux/refcount.h>
#include <linux/ipc_logging.h>

#ifdef VERBOSE_DEBUG
#ifndef pr_vdebug
@@ -285,6 +286,9 @@ struct ffs_data {
	 * destroyed by ffs_epfiles_destroy().
	 */
	struct ffs_epfile		*epfiles;
#ifdef CONFIG_USB_F_FS_IPC_LOGGING
	void				*ipc_log;
#endif
};