svn commit: r346383 - in stable/11/sys: kern sys
Konstantin Belousov
kib at FreeBSD.org
Tue Sep 3 14:07:10 UTC 2019
Author: kib
Date: Fri Apr 19 13:09:16 2019
New Revision: 346383
URL: https://svnweb.freebsd.org/changeset/base/346383
Log:
MFC r345965:
Add DEV_RESET /dev/devctl2 ioctl.
Modified:
stable/11/sys/kern/subr_bus.c
stable/11/sys/sys/bus.h
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/kern/subr_bus.c
==============================================================================
--- stable/11/sys/kern/subr_bus.c Fri Apr 19 13:04:48 2019 (r346382)
+++ stable/11/sys/kern/subr_bus.c Fri Apr 19 13:09:16 2019 (r346383)
@@ -5476,6 +5476,7 @@ devctl2_ioctl(struct cdev *cdev, u_long cmd, caddr_t d
case DEV_CLEAR_DRIVER:
case DEV_RESCAN:
case DEV_DELETE:
+ case DEV_RESET:
error = priv_check(td, PRIV_DRIVER);
if (error == 0)
error = find_device(req, &dev);
@@ -5683,6 +5684,14 @@ devctl2_ioctl(struct cdev *cdev, u_long cmd, caddr_t d
error = device_delete_child(parent, dev);
break;
}
+ case DEV_RESET:
+ if ((req->dr_flags & ~(DEVF_RESET_DETACH)) != 0) {
+ error = EINVAL;
+ break;
+ }
+ error = BUS_RESET_CHILD(device_get_parent(dev), dev,
+ req->dr_flags);
+ break;
}
mtx_unlock(&Giant);
return (error);
Modified: stable/11/sys/sys/bus.h
==============================================================================
--- stable/11/sys/sys/bus.h Fri Apr 19 13:04:48 2019 (r346382)
+++ stable/11/sys/sys/bus.h Fri Apr 19 13:09:16 2019 (r346383)
@@ -120,6 +120,7 @@ struct devreq {
#define DEV_CLEAR_DRIVER _IOW('D', 8, struct devreq)
#define DEV_RESCAN _IOW('D', 9, struct devreq)
#define DEV_DELETE _IOW('D', 10, struct devreq)
+#define DEV_RESET _IOW('D', 13, struct devreq)
/* Flags for DEV_DETACH and DEV_DISABLE. */
#define DEVF_FORCE_DETACH 0x0000001
More information about the svn-src-stable-11
mailing list