git: 5ea0f1e63dbd - main - hidraw(4): Return length of written data from HIDIOCS* ioctls

From: Vladimir Kondratyev <wulf_at_FreeBSD.org>
Date: Sun, 27 Apr 2025 09:09:05 UTC
The branch main has been updated by wulf:

URL: https://cgit.FreeBSD.org/src/commit/?id=5ea0f1e63dbddc5452e2d85fcc03ba03a3d9cf84

commit 5ea0f1e63dbddc5452e2d85fcc03ba03a3d9cf84
Author:     Vladimir Kondratyev <wulf@FreeBSD.org>
AuthorDate: 2025-04-27 09:07:35 +0000
Commit:     Vladimir Kondratyev <wulf@FreeBSD.org>
CommitDate: 2025-04-27 09:07:35 +0000

    hidraw(4): Return length of written data from HIDIOCS* ioctls
    
    To match Linux.
    
    MFC after:      3 days
---
 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 7aca66e2dd1d..f573b3db1391 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):