From 9b7d457672a719af3d650b3dad1788dcca561993 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Thu, 22 Feb 2024 13:57:01 +0100 Subject: Revert "rpmsg: Fix kfree() of static memory on setting driver_override" This reverts commit 2e76b4f6218c4db3ff00eb15d94d72f371736de4. Downstream NXP and stable have deviated to far, do not pull this in. Signed-off-by: Max Krummenacher --- drivers/rpmsg/rpmsg_internal.h | 13 ++----------- include/linux/rpmsg.h | 6 ++---- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/drivers/rpmsg/rpmsg_internal.h b/drivers/rpmsg/rpmsg_internal.h index 5f4f3691bbf1..a76c344253bf 100644 --- a/drivers/rpmsg/rpmsg_internal.h +++ b/drivers/rpmsg/rpmsg_internal.h @@ -90,19 +90,10 @@ int rpmsg_release_channel(struct rpmsg_device *rpdev, */ static inline int rpmsg_chrdev_register_device(struct rpmsg_device *rpdev) { - int ret; - strcpy(rpdev->id.name, "rpmsg_chrdev"); - ret = driver_set_override(&rpdev->dev, &rpdev->driver_override, - rpdev->id.name, strlen(rpdev->id.name)); - if (ret) - return ret; - - ret = rpmsg_register_device(rpdev); - if (ret) - kfree(rpdev->driver_override); + rpdev->driver_override = "rpmsg_chrdev"; - return ret; + return rpmsg_register_device(rpdev); } #endif diff --git a/include/linux/rpmsg.h b/include/linux/rpmsg.h index 1b7294cefb80..a8dcf8a9ae88 100644 --- a/include/linux/rpmsg.h +++ b/include/linux/rpmsg.h @@ -41,9 +41,7 @@ struct rpmsg_channel_info { * rpmsg_device - device that belong to the rpmsg bus * @dev: the device struct * @id: device id (used to match between rpmsg drivers and devices) - * @driver_override: driver name to force a match; do not set directly, - * because core frees it; use driver_set_override() to - * set or clear it. + * @driver_override: driver name to force a match * @src: local address * @dst: destination address * @ept: the rpmsg endpoint of this channel @@ -53,7 +51,7 @@ struct rpmsg_channel_info { struct rpmsg_device { struct device dev; struct rpmsg_device_id id; - const char *driver_override; + char *driver_override; u32 src; u32 dst; struct rpmsg_endpoint *ept; -- cgit v1.2.3