From 2880e12cc9022a7e1e129cd60ae43de34178c61e Mon Sep 17 00:00:00 2001 From: Vladimir Kondratyev Date: Sun, 27 Apr 2025 12:07:35 +0300 Subject: [PATCH] hidraw(4): Return length of written data from HIDIOCS* ioctls To match Linux. MFC after: 3 days (cherry picked from commit 5ea0f1e63dbddc5452e2d85fcc03ba03a3d9cf84) --- sys/dev/hid/hidraw.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/hid/hidraw.c b/sys/dev/hid/hidraw.c index 7aca66e2dd1..f573b3db139 100644 --- a/sys/dev/hid/hidraw.c +++ b/sys/dev/hid/hidraw.c @@ -885,7 +885,10 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, default: panic("Invalid report type"); } - return (hid_set_report(sc->sc_dev, addr, len, reptype, id)); + error = hid_set_report(sc->sc_dev, addr, len, reptype, id); + if (error == 0) + td->td_retval[0] = IOCPARM_LEN(cmd); + return (error); case HIDIOCGFEATURE(0): case HIDIOCGINPUT(0):